Module Management
Generated OAGIS10.7.0.1CanonicalXMLSchema
ModuleSet
Set with multiple module files and module directories connected in a hierarchical architect.
The OAGIS10.6Canonical ModuleSet
structure is set to Score DB by default.
Module files and module directories can be created/modified/deleted, and module files and module directories depend on each ModuleSet
.
ModuleSets
can be copied from other ModuleSet
upon creation.
When you select a Release
and a ModuleSetRelease
when creating a ModuleSet
, you create a new ModuleSetRelease
together based on the selected Release
and the copied ModuleSet
. The assignment information of the component and module file is also copied.
ModuleSetRelease
Create a ModuleSetRelease
that connects the ModuleSet
and Release
.
Components belonging to Release
can be assigned to modules in ModuleSet
.
When creating a ModuleSetRelease
, it can be copied from another ModuleSetRelease
.
When creating a copy, components with the same GUID
are automatically assigned to modules with the same module file path.
ModuleSetRelease assigning
Components (ACC, ASCCP, BCCP, DT, CodeList, AgencyIdList, XBT) included in the release are shown in the unassigned list.
Excluded)
CCs are not in
Published
state.Any Structured Content
ACCAny Property
ASCCPCDT(DT.TYPE = 'Core')
BuiltInType XBT(XBT.BUILTIN_TYPE not starts with "xsd:%")
Here’s the guide and assignment of OAGIS10.7.
https://oagiscore.atlassian.net/wiki/spaces/ARCH/pages/3511746561
Exporting Schema
Download schema information into one compressed zip file.
The dependency of each modules are automatically calculating on exporting time
The approximate dependency structure of OAGISCanonicalSchema is as follows.
BODs → Nouns → Components → Meta → Extension → Fields → BusinessDataType → XMLShemaDataType/CodeList/AgencyIdList
Cyclic dependency
If a component assigned Components
module is refer to component that in Noun
module, a cyclic dependency may occur.
Nouns → Components → Nouns → Components → ….
An example of a cyclic dependency situation experienced in 10.7 is as follows.
Problem:
Access Control Base. Details ACC (new component) inherited Control Base. Details ACC (belongs to 'RiskControlLibrary')
Also, User Authorization Base. Details ACC (belongs to 'Components') now has Access Control ASCC (new component).
If we assigned Access Control Base. Details ACC to 'Components', it causes a cyclic dependency like 'Components -> RiskControlLibrary -> Components -> so on'.
Solution:
Control Base. Details ACC moves to 'Components'.
Risk Control Component Base. Details ACC moves to 'Components'.
Control Base. Control Component. Code BCCP moves to 'Fields'.
Control Base. Control Objective Category. Code BCCP moves to 'Fields'.
Control Base. Control Assertion. Code BCCP moves to 'Fields'.
Problem:
Route Stop Base. Details ACC (belongs to 'Components') now relates to Stop Time Period ASCCP (belongs to 'CarrierRoute')
If we leave Route Stop Base. Details ACC to 'Components', it causes a cyclic dependency like 'Components -> CarrierRoute -> Components -> so on'.
Solution:
Stop Time Period ASCCP moves from 'CarrierRoute' module to 'Components' module.
Problem:
Alternate UOM ASCCP (new component) relates to Alternate UOM. Details ACC (belongs to 'ItemMaster')
If we assigned Alternate UOM ASCCP to 'Components', it causes a cyclic dependency like 'Components -> ItemMaster -> Components -> so on'.
Solution:
Alternate UOM ASCCP assigned to 'ItemMaster' module.
About OAGIS 10.7.0.1
Kudos to Hakju and Kwanghoon who came up with the algorithm to automatically calculate module dependencies. This is convenient and lean up the schemas from extraneous include statements. However, for a module like Extension.xsd, extraneous statements were intentional, so that OAGIS user can use common components without having to add include statements. I think that this is not a big deal as anybody still want to use the canonical schema for development can manually add the necessary include statements. Or if Jim, you want to manually add include statements to the Extensions.xsd before publishing the zip file, you can do so. In the future, we plan to have the UI to allow the user to add dependency on Score after the automatic calculation.
Because Score changes the way OAGIS is developed by eliminated the borders between files, we have increased the component reuses. For example, It turned out that some 10.7 common components reuse components previously resided in some Noun modules. The flip side is those components have to be relocated to common components to avoid cyclical dependencies as indicated by the auto-dependency calculation.
Testing we have done are 1) compared the generated 10.6 schemas with the existing 10.6 download to ensure that only expected differences such as include statements are there and 2) the schemas have been successfully validated.
Although we have agreed to do not continue to include the ISO 20022 materials, Hakju included them in the zip right now, I guessed, b/c they are already in the DB. Should we just remove them from the DB?