Metis is a starter Drupal project meant to speed up time-to-delivery by removing a lot of repetitive work that gets done time and time again. It is meant to provide best-practice configurations, robust testing of all features, and sample content that showcases site features such as:
- Content Authoring
- Layout Builder
- Media Library
- Webform
- Images
- Translations
- Content Translation
- Configuration Translation
- UI Translation
- Translation Management Tool
- Group translatable items into jobs and submit them to third parties for translation.
- Site Search
- SEO
- Google Tag Manager
- Schema.org JSON-LD
- Metatag
- Open Graph
- Twitter Cards
- Sitemap XML
- Robots.txt
- Caching
- REST API
- JSON:API endpoints for all entity types and bundles
- Configuration
- Installation from configuration via profile
- Configuration Split
- Config Ignore
- Platform Readiness
- Acquia
- Development
- Acquia BLT
- Default Content (for providing starter content)
- Stage File Proxy (for retrieving missing local files from remote sites)
- Testing
- Behat
- PHPUnit
- PHPCS Drupal coding standards
- Drupal Check for D9 readiness
This project is optimized for running in a Docksal environment. All project-related instructions assume you are running a local Docksal environment. This does not preclude the possibility of adding support for additional environments (i.e. Lando, Dev Desktop, DDEV, etc).
This project is based on BLT, an open-source project template and tool that enables building, testing, and deploying Drupal installations following Acquia Professional Services best practices. While this is one of many methodologies, it is our recommended methodology.
-
Review the Required / Recommended Skills for working with a BLT project.
-
Ensure that your computer meets the minimum installation requirements (and then install the required applications). See the System Requirements.
-
Request access to organization that owns the project repo in GitHub (if needed).
-
Fork the project repository in GitHub.
-
Request access to the Acquia Cloud Environment for your project (if needed).
-
Setup a SSH key that can be used for GitHub and the Acquia Cloud (you CAN use the same key).
-
Clone your forked repository. By default, Git names this "origin" on your local.
$ git clone git@github.com:<account>/Metis.git
-
To ensure that upstream changes to the parent repository may be tracked, add the upstream locally as well.
$ git remote add upstream git@github.com:lpeabody/Metis.git
-
Update your the configuration located in the
/blt/blt.yml
file to match your site's needs. See configuration files for other important configuration files.
- Clone the project.
- Run
fin init
. - Run
fin uli
to generate a login link and automatically open it in your default browser. - Open http://docs.metis.docksal/ to view the local documentation.
Additional BLT documentation may be useful. You may also access a list of BLT commands by running this:
$ blt
Note the following properties of this project:
- Primary development branch: develop
- Local environment: @docksal.default
- Local site URL: http://metis.docksal/
BLT uses a number of configuration (.yml
or .json
) files to define and customize behaviors. Some examples of these are:
blt/blt.yml
(formerly blt/project.yml prior to BLT 9.x)blt/local.blt.yml
(local only specific blt configuration)docroot/sites/default/blt.yml
(default site-specific BLT configuration)drush/sites
(contains Drush aliases for this project)composer.json
(includes required components, including Drupal Modules, for this project)
- GitHub - https://github.com/lpeabody/Metis
- TravisCI - https://travis-ci.com/lpeabody/Metis