localgovdrupal / localgov_microsites
LocalGov Drupal Microsites distribution
Installs: 6 263
Dependents: 1
Suggesters: 0
Security: 0
Stars: 4
Watchers: 8
Forks: 2
Open Issues: 96
Type:drupal-profile
Requires
- php: >=8.1
- drupal/admin_toolbar: ^3.1
- drupal/autosave_form: ^1.3
- drupal/core: ^10.0
- drupal/default_content: ^2.0@alpha
- drupal/domain_path: ^1.2
- drupal/gin: ^3.0@RC
- drupal/gin_login: ^2.0
- drupal/gin_toolbar: ^1.0@RC
- drupal/metatag: ^1.22
- drupal/redirect: ^1.9
- drupal/require_login: ^3.0
- drupal/responsive_preview: ^2.1
- localgovdrupal/localgov_blogs: ^1.0.0-beta3
- localgovdrupal/localgov_claro: ^2.1.0
- localgovdrupal/localgov_core: ^2.12
- localgovdrupal/localgov_directories: ^3.1
- localgovdrupal/localgov_events: ^3.0
- localgovdrupal/localgov_microsites_base: ^2.0
- localgovdrupal/localgov_microsites_colour_picker_fields: ^1.0.0-beta1
- localgovdrupal/localgov_microsites_group: ^4.0
- localgovdrupal/localgov_news: ^2.3
- localgovdrupal/localgov_page: ^1.0.0-beta2
- localgovdrupal/localgov_sa11y: ^1.0.0-beta1
- 4.x-dev
- 4.0.0
- 4.0.0-beta4
- 4.0.0-beta3
- 4.0.0-beta2
- 4.0.0-beta1
- 4.0.0-alpha5
- 4.0.0-alpha4
- 4.0.0-alpha3
- 4.0.0-alpha2
- 4.0.0-alpha1
- 3.x-dev
- 3.0.0-alpha1
- 2.x-dev
- 2.1.x-dev
- 2.1.0-beta6
- 2.1.0-beta5
- 2.1.0-beta4
- 2.1.0-beta3
- 2.1.0-beta2
- 2.1.0-beta1
- 2.0.x-dev
- 2.0.0-beta2
- 2.0.0-beta-1
- 1.x-dev
- 1.0.0-alpha1
- dev-feat/4.x/update-metatag
- dev-fix/3.x/lock-packages
- dev-feature/localgov-base-170
- dev-release-4.x
- dev-feature/478-preview-link
- dev-feature/use-shared-workflow
- dev-fix/4.x/autosave-form-outdated-patch
- dev-445/enable-configure-redirect
- dev-beta
- dev-feature/424-replace-domain-group-resolver
- dev-feature/readme-badges
- dev-feature/4.x/tablefield-php82-deprecation
- dev-AWearring-patch-1
- dev-feature/test-against-4.x
- dev-fix/update-github-workflow-for-4-branch
- dev-feature/group_sites
- dev-release-3.x
- dev-feature/347-drupal10
- dev-feature/3.x/15-drupal-10-update
- dev-feature/1.x/15-drupal-10-update
- dev-release-2.1.x
- dev-feature/2.1.x/update-domain-group
- dev-fix/382-group-content-not-appearing-in-group
- dev-fix/2.x/364-installation-via-ui
- dev-feature/2.1.x/365-php-8.0
- dev-release-2.0.x
- dev-feature/349-remove-patch-included-in-9.5.1
- dev-release-2.x
- dev-feature/update-default-content
- dev-feature/2.x/admin-approval
- dev-feature/2.x/duplicate-ids-311
- dev-feature/disable-account-creation-328
- dev-feature/2.x/enable-webform
- dev-feature/webforms
- dev-feature/321-profile-version
- dev-feature/group-3.x
- dev-release-1.x
- dev-feature/homepage-metatag-282
- dev-feature/freestyle-crop-284
- dev-feature/enable-gin-286
- dev-feature/1.x/localgov_claro/288
- dev-bug/missing-config-for-blogs
- dev-feature/15-use-secondary-banner
- dev-feature/152-update-default-content-layouts
- dev-feature/replicate
- dev-feature/test-layout-paras
- dev-feature/45-create-node
This package is auto-updated.
Last update: 2024-11-05 17:35:45 UTC
README
LocalGov Drupal Microsites
Drupal distribution and install profile to help UK councils collaborate and share Drupal code for publishing website content across a number of microsites from a single Drupal installation.
This repository is the Drupal installation profile that is best installed using composer to require a project template, localgov_microsites_project, to scaffold and build the codebase which includes this profile.
Please see https://github.com/localgovdrupal/localgov_microsites_project
Funding
This work was initially funded by the Local Digital Fund (https://www.localdigital.gov.uk/fund/) from the Department for Levelling Up, Housing and Communities (DLUCH).
Supported branches
We are actively supporting and developing the 4.x branch for Drupal 10.
The 1.x, 2.x and 3.x branches are no longer actively supported and not recommended for new sites.
If you are still using the 1.x, 2.x or 3.x branches on your site, please create an issue on Github to let us know.
Documentation
Further documentation for developers, content designers and other audiences can be found at https://docs.localgovdrupal.org/microsites/.
Installation
For installation steps, see: https://github.com/localgovdrupal/localgov_microsites_project
Requirements for installing LocalGov Drupal locally for testing and development
To install LocalGov Drupal locally you will need an appropriate versions of:
- PHP (see https://www.drupal.org/docs/system-requirements/php-requirements)
- A database server like MySQL (see https://www.drupal.org/docs/system-requirements/database-server-requirements)
- A web server like APache2 (see https://www.drupal.org/docs/system-requirements/web-server-requirements)
Many of us use the Lando file included to run a local docker environmnent for testing and development, but seom people prefer to run the web servers natively on their host machine.
PHP requirements
We folllow Drupal's PHP recomendations: https://www.drupal.org/docs/system-requirements/php-requirements#versions
We currently recomend and test against PHP 8.1 and 8.2.
You will also need to have certain PHP extensions enabled (see https://www.drupal.org/docs/system-requirements/php-requirements#extensions) including:
- PHP mbstring
- PHP cURL
- GD library
- XML
If you see errors when running composer require, double check your PHP extensions.
Developer notes for default content
This profile creates a single node of demo content using the https://www.drupal.org/project/default_content module.
This node includes layout paragraphs and paragraph content to demonstrate some of the content components available for a new microsite. When a new microsite is created, it attempts to clone this node into the new microsite.
As developers, we often want to update the default content, using drush.
To export an item of content and all references:
lando drush dcer <entity type> <entity id> --folder=profiles/contrib/localgov_microsites/content/
So for node/1:
lando drush dcer node 1 --folder=profiles/contrib/localgov_microsites/content/
Composer and Lando
To install locally, you will need Composer and we recommend using Lando for a consistent developer environment.
Please also see the Lando requirements section for details of Docker requirements for different operating systems.
https://docs.lando.dev/basics/installation.html#system-requirements
Installing LocalGov Drupal locally with composer
To install LocalGov Drupal locally for testing or development, use the Composer-based project template.
Change MY_PROJECT
to whatever you'd like your project directory to be called.
composer create-project localgovdrupal/localgov_microsites_project --stability alpha --no-install MY_PROJECT
Change directory into the MY_PROJECT directory and run lando start.
cd MY_PROJECT
lando start
Once lando has finished building, use lando to run composer install and the site installer.
lando composer install lando drush si localgov_microsites -y
Note: As you might be running a different version of PHP on your host machine from the version that Lando runs, it is advisable to run composer install from within Lando. This ensures dependencies reflect the PHP version that the webserver is actually running.
Composer notes
If developing locally and you want to force composer to clone again
from source rather than use composer cache, you can add the --no-cache
flag.
lando composer create-project localgovdrupal/localgov_microsites_project --stability alpha --no-cache --no-install MY_PROJECT
If you just want to pull in the latest changes to LocalGov Drupal run composer
update with the --no-cache
flag.
lando composer update --no-cache
If you want to be sure you are getting the latest commits when developing, clearing composer cache, deleting the folders and re-running composer update seems to be a solid approach:
rm -rf web/profiles/contrib/ web/modules/contrib/ web/themes/contrib/; composer clear-cache; composer update --with-dependencies --no-cache; lando start; lando drush si localgov_microsites -y;
If you run into memory limit errors
when running Composer commands, prefix the commands with COMPOSER_MEMORY_LIMIT=-1
.
For example, to install the project run:
COMPOSER_MEMORY_LIMIT=-1 composer create-project localgovdrupal/localgov_microsites_project MY_PROJECT
Contributing
See CONTRIBUTING.md for current contribution guidelines.
Issue tracking
Most issues will be tracked in this repository https://github.com/localgovdrupal/localgov_microsites/issues.
Development issues relating to specific projects or module should be tracked in the project repository.
Development setup
The main development environment in use is currently Lando – a Docker based development environment that works on Linux, MacOS and Windows.
@todo Document Lando setup.
Coding standards
PHP CodeSniffer is installed as a dev dependency by Composer and configured to use Drupal coding standards and best practices. It is a good idea to run these before committing any code. All code in pull requests should pass all CodeSniffer tests.
To check code using Lando run:
lando phpcs
To attempt to automatically fix coding errors in Lando run:
lando phix
Coding standards resources
Running tests
The included phpunit.xml.dist
file contains configuration for automatically
running the LocalGov Drupal test suite.
To run all LocalGov Drupal tests with Lando use:
lando phpunit
To run all the tests for a specific module use:
lando phpunit web/modules/contrib/localgov_my_module
Tests can be filtered using the --filter
option. To only run a specific test
use:
lando phpunit --filter=myTestName
Testing resources
- PHPUnit documentation
- Drupal 8 PHPUnit documentation
- Drupal 8 testing documentation
- Workshop: Automated Testing and Test Driven Development in Drupal 8
Maintainers
This project is currently maintained by:
- Ekes: https://www.drupal.org/u/ekes
- Finn Lewis: https://www.drupal.org/u/finn-lewis
- Maria Young: https://www.drupal.org/u/mariay-0
- Mark Conroy: https://www.drupal.org/u/markconroy
- Stephen Cox: https://www.drupal.org/u/stephen-cox