Userguide for all of the general information related to the maintenance and operation of Drupal WxT.
This is the multi-page printable view of this section. Click here to print.
General
- 1: Installation
- 2: Update Process
- 3: Releases
- 4: Resources
- 5: Roadmap
1 - Installation
We highly recommend using our Composer Project Template to build and maintain your WxT derived project’s codebase.
Server Requirements
As Drupal WxT is a Drupal distribution, the official guide for Drupal system requirements will apply.
Installation
- Composer Download
- Tarball Download
- Site Installation
- Standalone Installation
- Default Content via Migrate
Composer Download
Run this command and replace DIRECTORY with the directory of your choice this is where WxT will be installed.
composer self-update
composer create-project drupalwxt/site-wxt:9.4.x-dev <site-name> --no-interaction
Note: Normally you would pass a stable tag to the above command rather then just pulling from the development branch.
Tarball Download
If you don’t want to use Composer, you can install WxT the traditional way by downloading a tarball from WxT’s GitHub releases page.
Note: That the tarball generated by the Drupal.org packager does not include the required Composer dependencies and should not be used without following the specialized instructions.
Containers
For the (optional) container based local development workflow please consult our documentation site:
Site Installation
a) The Drupal Root is in <site-name>/html
b) You can install Drupal WxT through the browser as any other drupal installation or use drush site-install
to install the WxT installation profile:
drush si wxt \
--sites-subdir=default \
--db-url=mysql://root:root@db:3306/wxt \
--account-name=admin \
--account-pass=Drupal@2021 \
--site-mail=admin@example.com \
--site-name="Drupal Install Profile (WxT)" \
wxt_extension_configure_form.select_all='TRUE' \
install_configure_form.update_status_module='array(FALSE,FALSE)' \
--yes
Note: If you wish to only install the minimum set of dependencies please remove the
wxt_extension_configure_form.select_all='TRUE'
flag in its entirety.
c) You can download up-to-date translations using:
drush locale-check
drush locale-update
d) If you work for the Government of Canada you will want to enable the canada.ca
theme:
drush config-set wxt_library.settings wxt.theme theme-gcweb -y
Note: You can navigate to the
admin/config/wxt/wxt_library
settings page.
e) The Drupal WxT site should now be sucessfully installed and you can loging via the /user
page.
Note: Please always go to the
admin/report/status
page and confirm there are no warnings and / or errors.
Standalone Installation
The standalone install is provided as an additional method for those who do not wish to have the full weight of a distribution and its required dependencies. You will need to add at the minimum the below listed modules and themes (including Bootstrap base theme) as well as the WxT jQuery Framework assets installed into the /libraries
folder with the proper naming scheme.
Note: We highly recommend that you use the distribution method as limited support is provided for the standalone method.
Default Content via Migrate
The following is an example of how to use the Migrate API module to import common design patterns for Canada.ca aligning to the C&IA specifications:
# Set the WxT theme to GCWeb
drush config-set wxt_library.settings wxt.theme theme-gcweb -y
# Import design patterns for Canada.ca
drush migrate:import --group wxt --tag 'Core'
drush migrate:import --group gcweb --tag 'Core'
drush migrate:import --group gcweb --tag 'Menu'
drush cr
Note: There is a corresponding group
wxt_translation
andgcweb_translation
for importing the corresponding french content.
2 - Update Process
Drupal WxT relies on Drupal’s configuration system for configuring default features and functionality. A consequence of this is, once you have installed Drupal WxT, that we cannot modify the sites configuration without having an impact on your site. Drupal WxT will, however, offer to make changes to your configuration as part of the update process.
If you’ve installed WxT using our Composer-based project template, all you need to do is following the given steps below.
Update Process
These are the typical steps you should following when updating Drupal WxT:
a) Read the release notes for the release to which you are updating along with any releases in between.
b) To update your WxT codebase you would replace [VERSION]
with the release version you wish to use.
composer self update
composer require drupalwxt/wxt:[VERSION]
composer update
Note: We highly recommend that you are using the v2.x.x line of Composer.
c) Run any database updates:
drush cache:rebuild
drush updatedb
Note: You may instead go to
/admin/config/development/performance
to clear caches and/update.php
to run database updates.
d) Run any WxT configuration updates:
drush cache:rebuild
drush update:wxt
Note: You may instead go to
/admin/config/development/performance
to clear caches and/update.php
to run WxT updates.
Configuration Management
If you are using configuration management to move your configuration between development, staging, and production environments, you should follow the standard Drupal process.
a) Export the new configuration:
drush cache:rebuild
drush config:export
b) Commit the code and configuration changes to your source code repository and push them to your environment.
c) Import any configuration changes:
drush cache:rebuild
drush config:import
3 - Releases
Releases of Drupal WxT
The following table is a list of all the releases that are housed under the Drupal WxT organization on GitHub:
Release | Created Date | Description |
---|---|---|
4.4.0 | 2022-11-26 | Features / Updates:
Upgrade path:
Note(s): Lightning has been removed from composer required for upgrade path in v9.3.x branch. |
4.3.4 | 2022-10-01 | Features / Updates:
Upgrade path:
Note(s): This will be the last release which includes the Lightning modules, even though they have been uninstalled in an earlier release. |
4.3.3 | 2022-08-19 | Features / Updates:
Upgrade path:
Note(s): To facilitate keeping the distribution lightweight and because soon the Lightning Contrib modules will be EOL we need to remove all of the Lightning contrib in a way that doesn’t break an upgrade path and documents the modules removed in case site builders will want to manually add them to their own
a) [Deprecate] Remove Lightning Core #3302473 Please read over the above issue and consult the below list of the removed composer entries in case you are depending on any of them and need to apply them manually to your composer.json file.
All of the Lightning Core functionality was directly ported to support an upgrade path and an update script written in the
b) [Deprecate] Remove Lightning Media #3301875 Please read over the above issue and consult the below list of the removed composer entries in case you are depending on any of them and need to apply them manually to your composer.json file.
c) All of the Lightning Media functionality was directly ported to support an upgrade path and an update script written in the
d) Finally check your custom modules and / or configuration objects for any reference to
|
4.3.2 | 2022-07-23 | Features / Updates:
Upgrade path:
Note(s): To facilitate keeping the distribution lightweight and because soon the Lightning Contrib modules will be EOL we need to remove all of the Lightning contrib in a way that doesn’t break an upgrade path and documents the modules removed in case site builders will want to manually add them to their own
a) [Deprecate] Remove Lightning Layout #3298505 Please read over the above issue and consult the below list of the removed composer entries in case you are depending on any of them and need to apply them manually to your composer.json file.
All of the Lightning Layout functionality was directly ported to support an upgrade path and an update script written in the
b) [Deprecate] Remove Lightning Workflow #3295862 Please read over the above issue and consult the below list of the removed composer entries in case you are depending on any of them and need to apply them manually to your composer.json file.
All of the Lightning Workflow functionality was directly ported to support an upgrade path and an update script written in the
|
4.3.1 | 2022-07-21 | Features / Updates:
Upgrade path:
Note(s): To facilitate keeping the distribution lightweight and because soon the Lightning Contrib modules will be EOL we need to remove all of the Lightning contrib in a way that doesn’t break an upgrade path and documents the modules removed in case site builders will want to manually add them to their own
a) [Deprecate] Remove Lightning Layout #3298505 Please read over the above issue and consult the below list of the removed composer entries in case you are depending on any of them and need to apply them manually to your composer.json file.
All of the Lightning Layout functionality was directly ported to support an upgrade path and an update script written in the
b) [Deprecate] Remove Lightning Workflow #3295862 Please read over the above issue and consult the below list of the removed composer entries in case you are depending on any of them and need to apply them manually to your composer.json file.
All of the Lightning Workflow functionality was directly ported to support an upgrade path and an update script written in the
|
Repositories for Drupal WxT
The following table is a list of all the repositories that are housed under the Drupal WxT organization on GitHub:
Name | Website | Description | Size |
---|---|---|---|
composer-extdeps | drupalwxt/composer-extdeps | Composer repository for external dependencies on Drupal WxT | Size: 48 Bytes |
docker-scaffold | drupalwxt/docker-scaffold | Docker Scaffold for Drupal WxT | Size: 120 Bytes |
drupalwxt.github.io | drupalwxt/drupalwxt.github.io | GitHub Pages for Drupal WxT. | Size: 7903 Bytes |
helm-drupal | drupalwxt/helm-drupal | Helm chart for running Drupal on Kubernetes | Size: 56147 Bytes |
site-wxt | drupalwxt/site-wxt | An example composer project for the Drupal WxT distribution used for integration testing. | Size: 2007 Bytes |
terraform-kubernetes-drupalwxt | drupalwxt/terraform-kubernetes-drupalwxt | Terraform module for Drupal WxT | Size: 54 Bytes |
themes-cdn | drupalwxt/themes-cdn | Content Delivery Network (CDN) files for the theme repositories of the Web Experience Toolkit (WET) | Size: 12445 Bytes |
wxt | drupalwxt/wxt | Drupal 9 variant of the Web Experience Toolkit (WxT). | Size: 1964 Bytes |
wxt-project | drupalwxt/wxt-project | Composer project template for Drupal 9 sites built with the WxT distribution. | Size: 69 Bytes |
wxt_bootstrap | drupalwxt/wxt_bootstrap | Bootstrap derived sub-theme aligned for use with the Web Experience Toolkit jQuery Framework. | Size: 1206 Bytes |
wxt_library | drupalwxt/wxt_library | Web Experience Toolkit Framework integration for Drupal. | Size: 113 Bytes |
4 - Resources
The following are links to some useful resources:
General
Drupal
Advanced
5 - Roadmap
The core distribution will always strive to be:
- As minimal as possible on top of Drupal Core providing performance, scalability, and security features on top of it
- Provide best practices for users to follow which includes our Composer workflow, CI / CD methodologies, and deployment strategies
- Provide a place for all Government Departments to inherit the base requirements such as Language Handling, GC Approved Themes, and other functionalities such as Date Format, Metadata Output, and Accessibility improvements
Beyond the above the distribution will provide extensible features that can be opted into through the wxt_ext suite of modules:
- Each of these modules must explicitly state all of there contributed dependencies
- Governance around these “extension” modules can be a bit looser
- These modules should be clear in focus and not try to do to much other then an immediate task at hand
- These modules should have an
modulename.wxt_extension.yml
file so can be enabled as optional extension during profile installation
In addition, Drupal WxT will offer out of tree (external) modules that implement specific features:
- These features are not included by the core platform because they are only used by a subset of users
- These modules may be subject to change though update hooks will always be provided
- Community supported modules will also be listed in our README of additional modules but will not be supported by the Drupal WxT team
Note: The governance around the core distribution will always be much stricter then the governance around adding a
wxt_ext
or an out of tree module.