This codebase runs the Humanities and Sciences Drupal (or Digital) Platform a.k.a. HSDP. This platform runs 130+ sites for departments, programs, centers, councils, initiatives, etc. The platform is hosted on Acquia.
This project is based on Acquia BLT (Bacon Lettuce Tomato, or Build and Launch Tool), an open-source project template and tool that enables building, testing, and deploying Drupal installations following Acquia Professional Services best practices.
Note the following properties of this project:
- Stable branch:
develop - Release branch naming convention:
[VERSION]-releasee.g.11.2.3-release - Four Kitchens secondary release branch naming convention:
fk-stnfd-sprint-[SPRINT_NUMBER] - Development branching convention: branch off the current release branch
- Local environment: DDEV, Lando or bare metal LAMP
- Local drush alias: @[SITE_ALIAS].local
- Local site URL: http://[SITE_ALIAS].suhumsci.loc
- Patching and patch management instructions
- Codeception Tests
- Development Requirements
- Release and Code Deployment Process
- Conding Standards
- Configuration Management
- Config & Content Update
- Launch Process
- Provisioning a New Site
- Decommissioning and Deleting a Site
- Upgrading Drupal Core
Note: Not all documentation may be fully up to date. Maintaining and updating documentation is an ongoing and important process. Contributions and corrections are always welcome.
Note: In addition to the documents listed here, there are various documentation and README files throughout the project (in subdirectories) that may be specific to certain features, modules, or workflows. Be sure to check those locations for more detailed or context-specific information.
You can either run the site on DDEV, Lando or bare metal.
- Clone the repository and check out the develop branch.
- Run a
composer install --prefer-sourceanswer yes to any questions during this step. - Run
blt humsci:local:setupand answer the questions to configure your database settings. - If you would like a clean installation run
blt drupal:install. Optionally, you can add the option--site=[sitename]if you wish to install to one of the multisites. - A full sync from a site should be accomplished with
blt drupal:sync --site=[sitename]
CSS assets are built using the Grunt task runner, but are run using npm scripts as shortcuts.
npm run theme-build- Compile Sass for production for all themes based onhumsci_basic.npm run theme-watch- Compile a CSS build and watch for changes in the existing.scssfiles in all themes based onhumsci_basic.npm run theme-visreg- Run Percy VRT onhs_colorfulandhs_traditionalsites (seedocroot/themes/humsci/humsci_basic/README.mdfor details.)
Acceptance testing and user testing id done use a testing framework Codeception. There is very good documentation on codeception testing steps and how that is structured.
To run those tests locally, blt will
be the wrapper around the codeception commands.
- To run codeception first uninstall the SimpleSaml module
drush pmu simplesamlphp_auth -y blt codeceptionwill run all acceptance tests.blt codeception --group=[group-name]will run tests that are annotated with the specified group. This is the most effective method to run a single test.- List of current tests
npm test- Run tests for all Sass in the project (including humsci_basic).
Architecture Decision Records (ADRs) are used to document important architectural decisions made in this project. The ADR process and format are explained in 0000-record-architecture-decisions.md. All new significant architectural decisions should be documented as a new ADR in the docs/architecture/decisions/ directory.