Uploaded image for project: 'FOLIO'
  1. FOLIO
  2. FOLIO-1633

Establish scheme for declaring additional backend modules within a platform



    • Task
    • Status: Open (View Workflow)
    • P3
    • Resolution: Unresolved
    • None
    • None
    • Core: Platform


      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.

      TestRail: Results


          Issue Links



                Unassigned Unassigned
                mattj Matt Jones
                0 Vote for this issue
                3 Start watching this issue



                  TestRail: Runs

                    TestRail: Cases