GOBI integration user interface
Author | Andrei Makaranka |
---|---|
JIRA task | |
Business Requirements | |
Architects Review | DONE |
PO review | DONE |
Revision History
Version | Date | Owner | Description | Reason |
---|---|---|---|---|
v1.0 | 06.17.2022 | Initial version | ||
v1.1 | 06.20.2022 | Updates for schemas added | ||
v1.2 | 06.21.2022 | Andrei Makaranka | Work break down structure ready | |
v1.3 | 06.24.2022 | Solution finalized | ||
v 2.0 | 07.07.2022 | Andrei Makaranka | New schema "OrderMappingsView" added | Need to identify Default or Custom mapping |
Overview
Problems
It is difficult and time consuming to retrieve the data points required to connect the FOLIO and GOBI APIs for an instance of FOLIO.
It is also difficult (requires significant technical knowledge) to update the custom mapping options for this integration
In scope
- Provide an interface that is only available to users with specific permissions that displays the custom field mappings for each order type
- Allow users to edit the mappings for GOBI Localdata fields 1 - 4
- Allow users to edit the Default values for existing field mappings
- Allow users to Add or remove field mappings (Depending on effort required this may need to be delivered in a separate feature)
Constraints
Assumptions, dependencies
Out of Scope
- Provide an interface that is only available to users with specific permissions that displays the information need to connect FOLIO and GOBI APIs (Eg. URL, API Key)
Investigate : FOLIO secrets management
- Dennis Bridges In the first iteration will be not supportable updating mapping where following configs exist : "fromOtherField", "defaultMapping", "combinator", "translateDefault".
There are a small number of mappings that use several of these default mappings ("fromOtherField", "defaultMapping", "combinator", "translateDefault" ) in their configuration by default.
Architecturally Significant Requirements
- Custom configuration will be stored in the mod-configuration
Solution Design
Data Model
Update mapping schema → mapping.json
1.Insert new field in the "dataSource" element.
"dataSourceFieldName" - will be used by UI to show mapping as "GOBI field name"
2. Replace simple definition of the "dataSource.translation"
Note :
- Replace "<<Please put clear description about logic of translator>>" with details about logic and input and output of translator method.
- Field "title" from "javaEnums" must be the same as translator method name from "enum". This makes it easier to build a list of translators for the new API and improve documentation.
Specification : https://github.com/joelittlejohn/jsonschema2pojo/wiki/Reference#javaenumnames
3. Replace simple definition of the "dataSource.field"
Note :
- Replace "<<Description for FOLIO field>>" with details about FOLIO field.
- Field "title" from "javaEnums" must be the same as path to FOLIO field in the JSON from "enum". This makes it easier to build a list of fields for the new API and improve documentation.
Specification : https://github.com/joelittlejohn/jsonschema2pojo/wiki/Reference#javaenumnames
Create new schemas for retrieving list of Fields and Translators
Schemas and samples should be placed in the acq-models module
- Create new directory in "mod-gobi"
- Create schema and sample (fields.sample) for fields (field.json +folio_order_fields.json) collection
3. Create schema and sample for translators collection