govCMS8 is the Drupal 8-specific version of the govCMS distribution.
govCMS is an open source web content management and hosting service, based on Drupal and developed to help agencies create modern, affordable and responsive websites, whilst making it easier to collaborate and innovate. govCMS also helps reduce the technology and compliance burden on government agencies. GovCMS is managed by the Australian Government Department of Finance.
A copy of govCMS8 can be installed in a number of different ways:
Acquia Cloud (Free/Professional/Enterprise)
Once you have provisioned an environment (you may have to select "None" as a distribution when you first provision it), you can follow the instructions at https://docs.acquia.com/acquia-cloud/create/install and in the Install Drupal from URL
dialog, enter the URL:
https://ftp.drupal.org/files/projects/govcms8-8.x-6.x-dev-core.tar.gz
For a quick demo instance, you can launch a (24-hour only) sandbox at http://simplytest.me/project/govcms8/8.x-6.x
For an easy, one-line, dev setup see 'Automated Default Dev Setup' wiki page.
govCMS8 utilizes Composer to manage its dependencies. So, before using govCMS8, make sure you have Composer installed on your machine.
For best performance, we recommend adding Prestissimo to your global Composer before installing govCMS8, as it enables dependencies to load in parallel, significantly reducing the install time.
composer global require "hirak/prestissimo:^0.3"
Composer will create a new directory called MY_PROJECT containing a docroot directory with a full govCMS code base therein.
composer create-project --stability dev --prefer-dist govcms/govcms8-project MY_PROJECT
Composer create-project is the same as doing a git clone, followed by a composer install.
git clone -b 1.x [email protected]:govCMS/govCMS8.git
cd govCMS8
composer install
To develop on or patch against govCMS8, the source files should be downloaded and the project built.
Additional platform instructions are available in the wiki (https://github.com/govcms/govCMS8/wiki). If you can contribute more methods, please let us know.
govCMS8 comprises a number of repositories and projects:
- This hosts the current development release of the govCMS8 distribution, intended for distribution development only.
- This can either be required by composer (as in govCMS8-project) or git cloned.
- This is a Composer based installer, intended for end-user/theme developer installation of govCMS8.
- For theme and custom module developers, this is the best way to install govCMS8.
- This is the entry point for most users to govCMS8.
- Implements the DTA Design System UI Kit
- Is bundled as as part of building a govCMS8-project
- Theme developers should inherit designs/components from the UI Kit to take advantage of future/upstream updates
Old/archived projects that were once part of the govCMS8 distro
- This is a Drupal 8 theme, built into govCMS8, but usable on any Drupal 8 site.
- Anyone who wants to use, develop from, or contribute to the default govCMS8 theme should start here.
- Apache, Nginx, Microsoft IIS or any other web server with proper PHP support
- MySQL 5.5.3/MariaDB 5.5.20/Percona Server 5.5.8 or higher with PDO and an InnoDB-compatible primary storage engine
- PostgreSQL 9.1.2 or higher with PDO
- SQLite 3.7.11 or higher
- PHP Version 7.1.* or higher
- Git
- Composer
If you're encountering some oddities, here's a list of resolutions to some of the problems you may be experiencing.
All contributions to govCMS8 are welcome. Issues and pull requests may be submitted against the relevant govCMS8 project on github where they will be addressed by the govCMS team.
Because govCMS is a Drupal distribution, modules and configurations are not added directly to the codebase. Rather, they are referenced within the composer.json file.
Any alterations to Drupal core or contributed modules must have an associated drupal.org issue filed against the project in question. Modifications should be made directly to the project in question and patched into govCMS rather than made directly against govCMS.
It is a requirement for any patches to govCMS8 to pass all automated testing prior to manual review. The automated testing checks for PHP syntax, coding standards, build completion and runs behavioural tests. It is also desirable that additions to the codebase add behat tests to ensure no regressions occur once committed.
To submit a patch, the govCMS8-core project should be forked and changes applied to a branch on the forked repository. Once all changes are applied, a pull request between govCMS8-core and the branch of the fork may be created.