Plugins Galore Weeks
After a couple of weeks comprising of working our way through new frameworks or systems, we are going to release our plugins into the wild. Driven by the urgent need for an effective development environment, we made the decision to let the community participate in the results of our efforts for enhancing productivity.
There were several use cases when we were facing issues with software we make use of as it just did not cut it. The starting point was the urge to have better merge management for the various branches in our SaaS projects. Instead of simply deploying GitLab onto our servers we wanted to implement a more elaborate concept for meeting the requirements of working with decentralised teams. Thus, we split up and re-connected our server ecosystem (separate post) at the same time but still had trouble on the high-level sector. So what to do?
If the software does not meet your needs – create your own.
Plugins to be unleashed
Speaking of our workflow, we are preparing some packages for clients providing them with a great server environment for e-commerce or web centered business solutions. Basically these packages need some low-level (or infrastructure) packages and high-level abstraction packages to be configured for interacting with each other. As we focus on being able to rapidly deploy an integrated solution, we rely on proven systems being capable of serving enterprise demand. This scales down the number of selectable and applicable software systems, thereby forcing us to take care about the plugins ourselves.
Drupal serves as the frontend in our package. Why? Because we have found it to be better not to call Drupal a Content Management System rather than calling it an Information Management System. Drupal is the most flexible, scalable and feature-rich CMS known to us. We even found it possible to integrate it into an actively developed OpenSource ERP system, but in the beginning we are concentrating on Frontend matters:
Plugin #1: integrating the (great!) FerroMenu
Plugin #2: integrating Chart.js
Plugin #3: Actually not a plugin but a theme. A fork of the wonderful Bootstrap3 theme with a different region and template layout, so that it can be used with Panelizer, Panels and Panopoly. As we are working on a couple of other modules, we are even thinking of creating a new Drupal distribution and bundling the theme with it. (We’ll see.)
Plugin #4: Shuffle.js is a wonderful plugin for sorting objects on a page. So we want to integrate Shuffle.js as a sorting and filtering function for products on our coming joint website.
Our fellow System Architect RudiOnRails is working hard on all these plugins at once.
We have forked the ownCloud app user_cas, which was initially developed for ownCloud 4.x. Unfortunately, the maintainer seemed to have stopped working on the plugin, so we adapted it for working with ownCloud 6.x.
Meanwhile, we are walking through the requirments analysis phase for another nice plugin for both Drupal and ownCloud: As both make use of FullCalendar.js and both are capable of importing and exporting data via CalDAV, we find it to be the right time for connecting these two in order to let them interact. Why and how?
Use Case: Think of a customer registered on your website. This customer browses your company’s calendar and requests a meeting or one of your services on a specific date. One of your staff members ‘picks’ this date up, shown in his or her mail client, invites other users to this meeting with two mouse clicks and confirms the meeting or service. With another click he then moves the calendar entry to a different ‘calendar class’, ownCloud connects to your website and ‘translates’ the data from detailled information to ‘occupied’, also sending a confirmation email.
The CAS SSO plugin was released already, please refer to this post.
Orang Utan was the start of a nice time tracking plugin operated by a Jabber server. We’re picking this up and will integrate this plugin to a workflow management package. At the moment we have no clear assumption about the timespan until the first release, but as we find it crucial, it might not take too long.
Our Release Plan
Currently we focus on the Drupal and ownCloud plugins as they cover a lot of functionality for a productive workflow. We expect to release them within the next weeks, as we have to work on our Jenkins configuration for Continuous Integration and Deployment. While working on our SaaS platforms, we are also working on our Ubuntu derivative for rapid and automatised deployment. We do know there is LXC and there is Juju, sa we also make use of them and are preparing to push some Juju Charms to Ubuntu 14.04. Nonetheless, we have created a very interesting DevEnvironment so that other developers are able to launch a productive and complex system by applying just a few CLI commands – without risking to break their system after upgrading.