Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 4 Current »

Overview

To support multiple libraries, the process will proceed in two stages as follows:

Stage 1: Load the ADAPT standard data to the dev instance. Ensure that two libraries can operate independently.
Stage 2: Aim for harmonization among the libraries.


mermaid-diagram-2024-11-18-172915.png

Stage 1

The initial task of Stage 1 is to transfer ADAPT standard data to the develop instance with connectSpec. In this case, the following ADAPT data should be transferred:

  • Users

  • Namespace

  • Core Components

  • Release

  • Module

  • Business Contexts (Optional)

Considerations

Library

  • Add the library concept and similarly establish associations between the library and components (e.g., Library - Core Component).

Users

  • If there are duplicate users, proceed by overwriting them. If the password or other information differs, overwrite it based on the data in the ADAPT instance.

  • It may be necessary to assign different access permissions for each user in the future. To support this, it would be beneficial to further categorize user roles by library.

Namespace

  • The current Namespace includes an "Is Standard" field, which indicates the default namespace for the library. Only one namespace should have this set to True. When only one namespace is used in a library, as with connectSpec, the setting of this field may be ignored.

  • When the ADAPT namespace is added, both namespaces will have the "Is Standard" field set to True. To address this, modify the existing logic to ensure that each library has only one "Is Standard" field set to True.

Core Components

  • Establish a relationship where each library has multiple releases, and each release contains multiple core components.

  • It is necessary to consider whether a single core component can exist simultaneously in multiple libraries. To ensure the independent operation of each library, a 1:1 relationship should be established, and if duplication is needed, a copy mechanism should be followed. However, for harmonious operation, a 1:n or m:n relationship may be required.

  • Since there is no feature to assign different access permissions per library for users, a connectSpec user can modify ADAPT standard, or vice versa.

  • The criteria applied to the Core Component are also applied to similar entities, such as Code List, Agency ID List, and BIE.

Release

  • Currently, the Release includes a Working Release, which references the most up-to-date components and is used by developers for the next release development. However, to operate multiple libraries independently, there must be one Working Release for each library.

  • The Release has a sub-feature called "Generate Migration Script," which is used during the deployment of the release. Currently, it applies to all data except for the BIE and Business Context of the entire release. If individual libraries need to be deployed independently, the data must be separated by library, and a migration script should be generated for each library.

  • The current Migration Script separates data based on a specific ID number (1 billion), where IDs smaller than this are considered developer data, and IDs larger than this are considered user data. However, this can lead to issues such as conflicts with duplicate IDs when adding libraries. Therefore, a restructuring is needed to avoid using numeric IDs and enable independent deployment.

Module

  • Modules should also be managed separately by library, ensuring that the ADAPT Module cannot reference the Namespace or Release of connectSpec. Each library should operate independently in this regard.

Business Contexts

  • Business Context, like users, can retrieve data without much concern. However, whether each library should manage its own independent Business Context needs to be discussed.

UI Changes

Figma Prototype Link: https://www.figma.com/proto/lRUWV0htNgYdjPoguv2axk/UI-Changes?node-id=2-47&node-type=canvas&t=1dlr4hIWv8FfdF3m-1&scaling=min-zoom&content-scaling=fixed&page-id=0%3A1&starting-point-node-id=2%3A47&share=1


Stage 2

TBD

  • No labels