|
Some backend modules are not required by any frontend modules via an interface dependency. Examples include: mod-codex-inventory and mod-audit.
To provide their functionality, such modules must be specifically chosen to be deployed and enabled with Okapi. This can be accomplished in a few ways:
- Inclusion via script like gen-module-list for the single-server install guide.
- Inclusion via lookup in a CLI command (This only applies to some modules with known compatibility based on the existence of others).
- Inclusion via command-line option (--include mod-a mod-b) for the new CLI backend command
Ideally we would have a way to declare such modules within the platform itself. The platform-* repos already contain a package.json defining versions of front-end modules along with a tenant config (stripes.config.js) to select which of those modules are associated with the tenant. Using the tenant config, along with the package.json of each of the platform's front-end modules, the CLI can generate a list of module descriptors with their required backend interfaces. It may make sense then for the platform-* repo to be home for the definition for any additional modules/interfaces.
One possibility is extending the tenant config with a "requires"-like section. Another could be adding a descriptor embedded within, or beside, the platform's own package.json. Still there may be other options, perhaps introducing a higher level descriptor.
|