Modules
Vortex is not a Drupal distribution: it ships no installation profile, and
the only recipe it carries is the small recipes/page recipe that creates the
demo content model during provisioning. It provides a small set of contributed
modules that most projects need, each already wired into the environment-aware
settings and the provisioning scripts. You add
the rest once the initial setup is done.
Every module in this section is optional. The installer asks which ones to keep, and deselecting one removes its Composer requirement, its settings override, its line in the provisioning script, its Behat feature and its settings test assertions in a single pass.
How modules are configured
| Mechanism | Location | Effect |
|---|---|---|
| Composer requirement | require in composer.json | Makes the module available to the site. ➡️ See composer.json |
| Settings override | web/sites/default/includes/modules/settings.<module>.php | Applies configuration conditioned on the detected environment, reading values from environment variables. ➡️ See Settings |
| Config export exclusion | $settings['config_exclude_modules'] in a settings override | Keeps a development-only module out of the exported configuration, so enabling it locally never dirties the config. ➡️ See Settings |
| Provisioning | scripts/provision-00-enable-demo-modules.sh | Stands up the demo site in the local, ci, dev and stage environments: applies the recipes/page content model, sets the site name, installs the contrib, service and custom site modules (including core's media and navigation), and runs their deploy hooks. ➡️ See Provision |
| Development provisioning | scripts/provision-10-enable-dev-modules.sh | Installs the development-only modules in the same four environments. ➡️ See Provision |
| Module dependency | ys_demo.info.yml | Installs the module as a dependency of the demo module. ➡️ See Demo module |
A module can be required without being installed anywhere: the settings
override is then ready for the day the project enables it. seckit is the only
module shipped that way - every other module in Contributed modules is installed by one of the
mechanisms above, so selecting it is enough to get it enabled.