govCMS is a flexible Drupal 7 platform designed to give a good out of the box experience for Australian Government agencies. We take a high level look at the features and capabilities of the govCMS codebase. This article is suitable for those evaluating the platform and are looking to understand whether govCMS is a good option.
It is worth noting from the outset that govCMS refers to a whole ecosystem including:
- a method for Government agencies to procure websites,
- a supported hosted platform from Acquia based on top of AWS,
- a Drupal 7 distribution which defines a toolset for building sites.
This article is concerned with the third component: the codebase. We will walk you through the basic components of the platform, and of Drupal, and give you a few ideas on what can be achieved without adding any new code to the platform.
An ititial look at the Product and Services Guide will give you a nice list of features, including:
- Compliance with Australian Government Web Guide Requirements
- Backup and auditing
- Sophisticated workflow
- White Sites (website templates)
- Google website analytics
- Rich content editing
- Responsive mobile device display
- News, Publications, Promotion, Events, Media releases
- Content preview
- Search Engine Optimisation
- AGLS metadata
- Media asset management
- Drag and drop editing
- XML sitemap, content tagging, and other features
After reading this list, you may begin to wonder just how far you can go with the govCMS platform. Just how far can you go with the "flexibility" offered by the system? You know that there are a good set of basic ingredients but are unsure as to what can be done with them. This article will give you a few ideas on what is possible and will show that govCMS is capable of much more than what is first visible on initial install.
Model your data
Drupal is a very flexible and intuitive system for modelling data. This is a core strength of Drupal and this has not changed for govCMS.
You will quickly find that govCMS comes with a handy set of content types which are useful for solving common problems.
- Blog Article
- Media Release
- News Article
- Standard page
However, this is just the start. You are not limited by these content types. It is possible to define your own and model your data the way you want. For example, you may want to develop content types for staff profile, policy, initiative, location, etc. It is easy to define new content types. There are few limitations here. This flexibility means that there is a good chance that govCMS will be capable of storing and presenting your data.
You also have access to an extensive list of field types when defining your content types:
- Date (ISO format)
- Date (Unix timestamp)
- Entity Reference
- List (float)
- List (integer)
- List (text)
- Long text
- Long text and summary
- Phone Number
- Term reference
Having access to all these field types means that you can pretty much build data models for whatever you like and you should think of govCMS as a data store for many kinds of content. You will be well served by the default content types which have been provided, however, if you need something else, you have that freedom.
The flexibility in modelling data makes it possible to migrate your data into Drupal. So long as care has been taken to provide a mapping from the old to the new, it should be possible to move content into the site without too much, if any, data loss. In some cases the quality of the data can be improved by cleaning it up and marking it up on the way through.
Smaller sites will not need automatic data migration. Copy and pasting will be sufficient for sites of 50 pages or less. However, as the amount of content increases the benefits of automation rise. Data can be migrated by custom code which can be developed and run locally (or on a different Drupal instance) before forklifting the database up to the hosting environment.
This means that you will be able to pull in data from one or many systems. For agencies who are looking to unify the experience for citizens this represents an opportunity to both simplify and improve the data at the same time. This represents a large opportunity for new govCMS websites.
Classifying and filtering
A CMS allows editors to create and edit content so that site visitors can view it. However, it does more than that. A CMS should also allow editors to classify the content via taxonomy and menus as well as associate content via relationships. When content has been improved in the way it becomes more valuable - it can be aggregated, filtered, linked and discovered much more easily.
An important step in any site build is to work out the information architecture so that it will best serve users. Generally this means working out how content will be classified and arranged. This means looking at the data with a view to the uses it needs to be put to as well as considering the various audiences for the site. Designing a good Information Architecture for a site generally will involve using taxonomy, menus and references.
govCMS ships with all of these capabilities, making it a very good platform for building sites rich in structure and interlinkage. This gives the Information Architect a lot of tools at their disposal to build appropriate data structures. You should not think of a govCMS site as a bunch of flat pages arranged in a single menu hierarchy. If you want there can be many interlinkages between those pages and with the taxonomy system.
Superior search capabilities
Each govCMS site ships with its own powerful search index based on the Solr search engine. Solr is capable of indexing millions of objects if required and can return results for complex queries, relying on many indexes, in the blink of an eye. It is very well suited to large corpuses of information.
If you have taken the time to classify your content and have thought about the different “facets”, it is possible to build powerful filtering and search interfaces for your users. The combination of Solr and facets is a real strength of govCMS.
"A faceted classification system classifies each information element along multiple explicit dimensions, called facets, enabling the classifications to be accessed and ordered in multiple ways rather than in a single, pre-determined, taxonomic order."
This opens up lots of possibilities for Government departments. A govCMS site need not be confined to being a few pages in a simple menu structure. It can contain vast stores of data which can be searched and filtered.
Layouts and design
govCMS ships with a default theme for all sites. It works out of the box but can be considered as a starting point for those wanting a more beautiful and compelling design.
The theme is one area where the Drupal agency implementing a govCMS site gets full reign. It is possible to alter layouts, designs, typography, the placement of widgets and other elements to give full effect to the design ideas you may have in mind. It would be untrue to say that there are no limits, however, it is possible to achieve very custom looks with relative ease, so long as they remain consistent with the patterns of Drupal and govCMS.
The Morpht team have put together a demonstration govCMS website which shows how it is possible to design clean and beautify sites, whilst giving editors the maximum creative freedom. This is done by designing components carefully and then allowing editors to select how they will be used. Pelase visit government.site-showcase.com to see this in action.
Landing pages and calls to action
Websites perform different functions. Government websites have typically been there to provide information. As users have become more comfortable with using the web, websites have moved towards being interested with serving the needs of the users in a more targeted way. This has lead to the development of user flows which address the aims of users at various points.
The “landing page” is the clearest example of this kind of approach. They have a clear message and usually a single call to action. A call to action could include the completion of a web form, signing up to a newsletter, downloading a PDF, or clicking a link to take the user through to the next step in the process.
govCMS comes with the “webform” module which provides an easy interface into designing forms for users to complete. The completed form is then saved away into the database and an email can be sent out to notify a manager that a new entry has been made. Webforms can be made according to needs and provide a flexible way for collecting data from users.
Helping you meet the Digital Service Standard
govCMS has been designed with the Digital Service Standard and Digital Service Design Guide in mind. The Design Guide specifically recommends govCMS as it "provides agencies with a standards compliant, security assessed and fully supported content management system that aligns with the vision of the DTO." This article has been largely concerned with what can be achieved with govCMS from a site building perspective. However, when viewed more wholistically govCMS offers a lot more:
- security (roles, permissions, workflow, password enforcement)
- privacy (data collection and removal)
- social media
These features may be explored in a future article.
So what can’t it do?
As a codebase, govCMS is constrained. It is not possible to add any new custom code to the project on a site by site basis. Over time new features will be added, however, it is not possible to add new code on a whim. The flexibility of govCMS is achieved through:
- configuring the available modules as desired
- implementing a custom theme
- adding content.
The ability to add code to the theme layer (within reason) does open up some good possibilities:
- addition of JS libraries
- alteration of templates for various objects
- addition of new layout templates
- control over look and feel in general.
Everything else is off the cards. This includes:
- adding contrib modules available from drupal.org
- adding custom code.
Places where you will run into problems include:
- integrating with 3rd party APIs
- using custom entity types or complex logic.
If you are an agency looking to move to govCMS and have concerns that you will not be able to use it because of these constraints, it would be worth considering an alternative approach. You may be able to handle a requirement by:
- using external services which can be embedded
- linking out to an external service
- dropping the requirement as it was only a “nice to have”.
It may be more advantageous to forgo some functionality in order to get the benefits of being on a stable, supported platform. In any case it is worth speaking to someone about your requirements to see if they can be met.
govCMS is limited by its very nature. This has been done for security, performance and maintainability reasons. This article has shown that there is a lot which can be done given these limitations. The standard install of govCMS should just be treated as a starting point for the development of your site. With some knowhow and some careful design you can achieve a site which:
- looks good and is responsive
- is easy to use for editors
- allows (complex) data to be modelled
- serves as an efficient data store for large corpuses
- is capable of classifying and filtering data via faceted search
- is capable of addressing the needs of users
- addresses many of the concerns of the Digital Service Standard.
For sites which need custom business logic, govCMS is not a solution as custom code cannot be deployed onto it. However, it is a very good platform for Australian Government websites which are looking for a flexible and secure platform, where the requirements are predominantly around managing content.
Morpht is a Sydney based Drupal web development company. We are Acquia partners on govCMS and as such are able to implement govCMS sites onto the govCMS hosting platform supported by Acquia. We have six Acquia certified developers on staff and are experienced in all aspects of Drupal site development. We are happy to answer any questions you may have about this article or govCMS. Please get in touch.