Uploaded image for project: 'Stripes'
  1. Stripes
  2. STRIPES-492

Consider generalising Stripes' notions of plugin

    XMLWordPrintable

Details

    • Task
    • Status: Closed (View Workflow)
    • P3
    • Resolution: Done
    • None
    • None
    • None

    Description

      For the Codex-search UI module, we want to display full records from multiple sources (initially the local inventory and the KB). Rather than coding display logic for these different kinds of records within the Codex UI, we want to use existing display logic from the modules that already deal with this kind of data – https://github.com/folio-org/ui-inventory/ and https://github.com/thefrontside/ui-eholdings

      In the shortest term, we will do this simply by linking to those modules' full-record displays. That is the task of UISE-9 and UISE-26. But we want to go beyond that, to displaying full records within the context of the Codex app itself.

      To do this, we need a way of sharing the display code between the underlying modules and the Codex module – broadly, the ViewInstance component from ui-inventory and whatever the equivalent is for ui-eholdings.

      But how best to do this? We are in agreement that we don't want one UI module (ui-search) to simply reach inside another (ui-inventory) and pluck out a component that it likes the look of. Instead, we want to make this internal dependency explicit by packaging the component to be shared as a plugin. That plugin would then be used both by the module that defines it and by ui-codex.

      The question is: how best to associate such plugins with the modules that define them? Up till now, the rule has been that every plugin is its own git module (which we can change fairly easily) and its own NPM package (which will be harder to change). Perhaps the best approach would be to have a single git module (ui-inventory, say) publish two separate NPM packages, ui-inventory and ui-plugin-display-inventory. To make this work, we'd either need to keep the versions of the two packages locked together, or possibly use this lerna thing that Jason's always talking about.

      TestRail: Results

        Attachments

          Issue Links

            Activity

              People

                mike Mike Taylor
                mike Mike Taylor
                Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  Time Tracking

                    Estimated:
                    Original Estimate - Not Specified
                    Not Specified
                    Remaining:
                    Remaining Estimate - 0 minutes
                    0m
                    Logged:
                    Time Spent - 2 days, 4 hours
                    2d 4h

                    TestRail: Runs

                      TestRail: Cases