govCMS / GovCMS8

Current stable release of the main GovCMS8 distribution.
GNU General Public License v2.0
60 stars 58 forks source link

govCMS8

govCMS8 logo

Build Status

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.

Installation - End User

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

simplytest.me

For a quick demo instance, you can launch a (24-hour only) sandbox at http://simplytest.me/project/govcms8/8.x-6.x

Back to top

Installation - Developer

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"

Via Composer Create-Project

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.

Installation from source

git clone -b 1.x git@github.com:govCMS/govCMS8.git
cd govCMS8
composer install

To develop on or patch against govCMS8, the source files should be downloaded and the project built.

Other Platforms

Additional platform instructions are available in the wiki (https://github.com/govcms/govCMS8/wiki). If you can contribute more methods, please let us know.

Back to top

Technical Overview

govCMS8 comprises a number of repositories and projects:

govCMS8

govCMS8-project

govCMS8-uikit-starter

Old/archived projects that were once part of the govCMS8 distro

govCMS8-UI

Back to top

Server Requirements

Back to top

Troubleshooting and Contributing

If you're encountering some oddities, here's a list of resolutions to some of the problems you may be experiencing.

Contributing to govCMS

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.

Patching govCMS

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.

Back to top