Modules
Vortex isn't 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. 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 module that never reaches production 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 modules that never reach production (the development tools and the email rerouting safety net) in the same 4 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 preceding
mechanisms, so selecting the module is enough to get it enabled.