Drupal WxT for Drupal 8 is currently under release candidate phase and now will provide an update path for all future releases.
- Documentation Website: drupalwxt.github.io
- GitHub Repository: drupalwxt/wxt
- Drupal Repository: drupal.org/project/wxt
- Composer Project: drupalwxt/site-wxt
- Helm Chart: drupalwxt/helm-drupal
- Containers: hub.docker.com
- Live Demo: demo
- Run it Now: simplytest.me
- Issue Queue: Drupal (Primary)
- Issue Queue: GitHub
The Drupal WxT distribution is a web content management system which assists in building and maintaining innovative Web sites that are accessible, usable, and interoperable. This distribution is open source software and free for use by departments and external Web communities. This distribution relies and integrates extensively with the WET-BOEW jQuery Framework for improved accessible markup.
This install profile directly extends from the Lightning Framework
created by Acquia to provide developers with a powerful base toolchain
upon which to extend. Due to this strict dependency we also align much of our
workflow with the best practice established patterns Acquia
has provided.
Lightning is something that is being used by and built for governments, and provides much of what is needed to create a Drupal-based content management system that meets the needs of the Government of Canada. It's also used as the basis of government Drupal platforms around the world.
- https://www.acquia.com/blog/building-drupal-8-sites-acquia-lightning-cuts-costs-100000
- https://www.drupal.org/docs/8/distributions/degov/about-degov
- https://github.com/govcms/govcms8
We highly recommend using Composer to build and maintain your WxT derived project’s codebase.
composer create-project drupalwxt/wxt-project:8.x-dev MYPROJECT --no-interaction
We recommend a composer version of 1.8.1 or greater due to fixes made upstream.
For more information on creating and maintaining your WxT project with composer, see our WxT Project README.
If you have a config export of a site built with Lighting, you can install it using the Config Installer profile. You can find more information about installing WxT (Lightning) from exported config here.
The tarball distributed here on drupal.org is deprecated and does not install correctly because drupal.org does not package WxT's Composer dependencies.
To work around this, we are providing tarballs on our GitHub page, which contain the required dependencies and will work properly. Visit our list of releases on GitHub, and under "Downloads", grab the desired wxt-VERSION.tar.gz file. (Sept 8th)
If you MUST use the tarball here on drupal.org, you will still need Composer installed. Once you extract the tarball, run the following command from within your web root to install the required dependencies:
composer require 'j7mbo/twitter-api-php' 'league/oauth2-server:~7.1' 'drupal/core-recommended:8.8.2' 'phpdocumentor/reflection-docblock:^3.0||^4.0'
Note: Please see our tarball.sh script for how we are doing this.
Install the site using drush which should take approximately 4-5 minutes depending on your system.
drush si wxt
--sites-subdir=default \
--db-url=mysql://root:WxT@mysql:3306/wxt \
--account-name=admin \
--account-pass=WxT \
[email protected] \
--site-name="Drupal Install Profile (WxT)" \
install_configure_form.update_status_module='array(FALSE,FALSE)' \
--yes
Note: If you work for the Government of Canada you might want to enable the
canada.ca
theme. You can navigate to theWxT Library
settings page or run the Drush command below.
drush config-set wxt_library.settings wxt.theme theme-gcweb -y
drush migrate:import --group wxt --tag 'Core'
drush migrate:import --group gcweb --tag 'Core'
drush migrate:import --group gcweb --tag 'Menu'
drush config-set wxt_library.settings wxt.theme theme-gcweb -y
drush cr
Imports examples of common design patterns for WxT branded sites.
drush migrate:import --group wxt --tag 'Core'
Note: There is a group wxt_translation for importing the corresponding french content.
Imports examples of common design patterns for Canada.ca aligning to C&IA specification.
drush migrate:import --group wxt --tag 'Core'
drush migrate:import --group gcweb --tag 'Core'
drush migrate:import --group gcweb --tag 'Menu'
Note: There is a group gcweb_translation for importing the corresponding french content.
We also provide an example of importing groups via a json feed from open.canada.ca that will create a group for every government department where you can isolate content acess.
drush en wxt_ext_group -y
drush migrate:import --group gcweb --tag 'Group'
Note: Make sure to only have one set of menu's imported for each of the supported themes. Leverage migrate:rollback to assist with this requirement.
For the (optional) container based development workflow this is roughly the steps that are followed.
# Composer install
export COMPOSER_MEMORY_LIMIT=-1 && composer install
# Make our base docker image
make build
# Bring up the dev stack
docker-compose -f docker-compose.yml up -d
# Install Drupal
make drupal_install
# Development configuration
./docker/bin/drush config-set system.performance js.preprocess 0 -y && \
./docker/bin/drush config-set system.performance css.preprocess 0 -y && \
./docker/bin/drush php-eval 'node_access_rebuild();' && \
./docker/bin/drush config-set wxt_library.settings wxt.theme theme-gcweb -y && \
./docker/bin/drush cr
# Migrate default content
./docker/bin/drush migrate:import --group wxt --tag 'Core' && \
./docker/bin/drush migrate:import --group gcweb --tag 'Core' && \
./docker/bin/drush migrate:import --group gcweb --tag 'Menu'
Note: The docker-scaffold has now been moved to its own repository though symlinks are still present. Should you wish to use the docker workflow you simple need to run the following command in the site-wxt repository's working directory.
git clone https://github.com/drupalwxt/docker-scaffold.git docker
Contributor(s): https://github.com/drupalwxt/wxt/graphs/contributors