The UQ Drupal CMS is a customised build of Drupal, providing an standardised enterprise platform for web content management throughout The University of Queensland.
The intended audience for this document is any developer of a web site for any organisational unit, research group, individual or other entity at UQ. It is important for all developers to understand the current stage of development of the environment and any processes, policies, and restrictions in place. If you have any questions or comments please direct them to the CMS Project manager at:
Please also read the UQ policy that states which Organisational Unit’s (if they have a web presence) must comply with both a requirement to use the CMS and to use the standard themes.
The UQ CMS currently is only able to host sites that use standard UQ themes.
The CMS draws from multiple repositories, covering theming, sites, profiles, feature sets and modules, all of which are brought together through a build system to facilitate a controlled deployment process. UQ Drupal database imports are not permitted as an appropriate method of content deployment.
There are four code deployment environments within the CMS, three of which are on UQ infrastructure:
UQ Drupal CMS code deployment uses a build process to facilitate building each environment with the appropriate setup of repositories allowing all the websites to run on a single codebase.
These repositories are stored in the ITS Gitlab, access to which is requested by emailing firstname.lastname@example.org.
To enable each environment to be updated as desired each repository uses the following process:
Merge requests must pass all tests before being accepted into master.
In order to deploy code changes to the production infrastructure a request should be logged with ITS via email to:
indicating a desire to pull these changes to production, along with a description of the changes themselves.
The UQ CMS team will then create a tag on the master branch and the changes will be scheduled for a production push
Each change requires a new email request and UQ CMS team tag.
The UQ CMS has a restricted ability to host additional modules on a per site basis. ITS must be notified of the modules intended to be used prior to any site development. This must be done via email to:
If the module is accepted for deployment in the UQ CMS, acceptance notification will be by email. Please be aware that requests are moderated and your request for a module or feature may be declined.
The modules available to developers using the UQ CMS are defined here:
If you would like to suggest a generally useful module for inclusion in the UQ CMS environment please email email@example.com outlining the rationale for its inclusion.
There are two environments for content deployment within the CMS:
Aside from normal workflow behaviour that occurs on the production environment, sometimes new content types or sections of the website need to be developed.
When this occurs, a copy of the production website will be moved by request to the staging infrastructure, where development of that content or structure can begin.
From this point onwards content should be added to, or edited on, both the staging and production versions of the site. Any content not replicated on production will be overwritten when the updated stage version is moved to production.
As an alternative to editing both stage and production, a request to “freeze” a production site can be made by emailing firstname.lastname@example.org
As the deployment process involves migrating content from the staging site to the live production environment it is recommended that test or dummy content is not used.
UQ Drupal database imports are not permitted as an appropriate method of content deployment. If content is not created on staging as detailed above content should be migrated through the use of migrate classes.
Standard UQ Drupal CMS migration classes will be provided to simplify this process, and a more detailed documentation on how to perform these tasks is available soon at
If you have any questions about this process please contact the UQ CMS team at: