govCMS: My Experience So Far

The Australian Government launched govCMS earlier this year, a custom Drupal distribution and hosting service catering to all of the Australian government. The aim is to provide a single solution for unclassified websites using a common codebase and a shared feature set on a scalable and secure infrastructure.

As a technical architect at Acquia I have been involved in both the distribution itself (a fork from aGov) and building some of the first major sites that use govCMS at their core. Here are a few thoughts on the platform so far.

govCMS is truly open-source.

The Department of Finance has embraced the open-source universe with govCMS. It is being actively developed in a transparent environment (GitHub) and anybody is welcome to provide feedback and suggestions on how the platform may be extended or improved upon. You can also contribute directly to the project; start by reading the guidelines

Provided the change is sane, and provides generic benefit to all govCMS users there is a very good chance your contributions will be embraced.

Sharing is caring.

Something that comes up time and time again is the ability to reuse and share common components between government websites. As functionality is built out for one site there is an opportunity to have these discrete chunks pushed back into govCMS as standalone features for others to use.

For example: the Department of Communications has developed the ability for members of the public to "Have Your Say" on various topics, to help influence the decision-making process. This feature is one that can be bundled up and shared with other govCMS site owners, so they can benefit from existing development efforts.

One point worth making: to take advantage of this capability, it's important to build features in a way that is generic enough for reuse. At the very least these features should be created to ensure that they can be modified via the administrative UI, so nothing remains fixed and rigid.

You can't install modules willy-nilly.

govCMS is not "just Drupal." While there are 30k modules available for Drupal to extend the platform, you are not free to simply install any module you want. Care and consideration need to go into each and every module added to the codebase, to prevent bloat and ensure the security and longevity of the platform.

This means that every now and then you will find that the distribution lacks a module you feel you need. In each instance where this has happened, we've been able to use the processes that is in place for the extension of govCMS. This has allowed us to move past this issue and resolve it, even when dealing with more complex third party integrations.

govCMS sites can be unique snowflakes.

Even though you are using a shared, common codebase to drive your site build, you still have a decent amount of flexibility to do your own thing. While govCMS comes with some out-of-the-box themes to run with, most sites launched in the past 6 months have been built on top of heavily-customised themes. This means that no two... sites... look... alike.

There is also nothing stopping you from grabbing the codebase and tweaking to fit your needs. It's a sane starting point for many projects (even outside the government sphere).

govCMS is a work in progress.

govCMS is a great start, but as with all software projects there is always room for improvement. There are still refinements to be made to govCMS, not only at the codebase level but also in terms of processes, documentation, and resources to help get more people involved.