Salsa Digital has gifted us all with some truly exceptional documentation of their work on a govCMS site for the Civil Aviation Safety Authority (CASA) in Australia.
For those unfamiliar with it, govCMS is 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.
Launched in 2015, govCMS has many lessons for developers everywhere -- even those who may never set foot in Australia. Here's what I think are the take-aways, for the rest of you, with links to Salsa's original posts.
When pulling together data to be imported to Drupal from multiple data sources, some legacy systems may not use a normalised data structure. Because of this, we must choose not only the right tool for the job, but also the right source for the tool:
Where the ability to upload entire scripts to remote environments for execution is prohibited, alternative and more creative methods may be used.
An entire Drush/PHP script may be compressed into a Base64 representation using the base64 command line tool with the -i flag. With this alphanumeric representation of a complex script, we can feed it to a remote server using Drush aliases. The following decodes to a simple "Hello World!" script, although a script of any level of complexity could be sent:
drush @prod ev "eval(base64_decode('cHJpbnQgIkhlbGxvIFdvcmxkIVxuIjsK'));"
The entire migration story from Netcat to Drupal has been documented fully by the Salsa Digital team.
Drupal is a tool with many integrations and extensions -- to utilise remote services or system software, for example. As Salsa Digital found, the govCMS platform utilises the ClamAV service installed on all webservers. By matching the govCMS production environment on their local development environments, complete functionality from a Drupal site and its integrations could be duplicated accurately. The importance of maintaining these dev-to-prod similarities was expressed in the Salsa Digital whitepaper, Dissecting govCMS.
With sites operated by a government, or an organization with strict regulatory oversight, compliance is important and, in almost all circumstances, a requirement.
Drupal allows for content editors to have only the permissions they need. With this we can ensure that content is written in a structured manner within specific guidelines to comply with accessibility or security requirements.
The govCMS Drupal distribution is a codebase on which all Australian government websites can be built. By effectively utilising the existing code, and developing further on it, most of the functionality of any site built is already available, lowering the time it takes to go from sprint zero to launch.
A Drupal multisite could be used in a similar manner for other projects. Sharing code between sites reduces the amount of code to maintain, update, and enhance. It also allows any number of independent sites to benefit from the feature enhancements to others.
In the govCMS story, as in the case of any Web platform, building a solid base allows for easier extensions, and faster completion of long term objectives.
The Salsa Digital team discussed how this structurally-sound base was an important starting point in their first impressions blog.
The take-away from their experience: as in any building, a strong foundation is a good protection against failure.
That's worth remembering, whether you're on govCMS or not.
If this content did not answer your questions, try searching or contacting our support team for further assistance.
Fri Sep 12 2025 07:10:40 GMT+0000 (Coordinated Universal Time)