[ADR] Avoid the need to provide persistable reference information (Unit system, Coordinate Reference System)
Status
-
Proposed -
Trialing -
Under review -
Approved -
Retired
Context
Currently, user needs to provide both the Reference Entity information and the persistable reference. Evident when user needs to specify unit of measure or coordinate reference system. This is inefficient and is also error prone. What if the Data Loader or the User makes a mistake in persistable reference value and the values are inconsistent?
The proposal is to save the user this trouble. Let the user provide link to existing Reference entity and ID. However, programs such as Manifest-based Ingestion could query Reference value and add required line in JSON file being used to actually store/populate record.
See this high level diagram for an understanding of this proposal. ADR-for-persistableReference-issue.pptx
You can find historical context in the following issues:
- osdu/platform/data-flow/ingestion/ingestion-dags#92
- osdu/platform/system/reference/unit-service#24
- osdu/platform/system/reference/crs-conversion-service#25 (closed)
Scope
Make suitable change in code :
- Manifest-based Ingestion (both unit and CRS)
- Unit conversion
- CRS conversion
Likely impact for CSV Parser and WITSML Parser.
Decision
Analyze impact (if adverse) caused by this suggested change :
- Approve change to Manifest-based Ingestion
- Approve change to Unit Conversion API
- Approve change to CRS Conversion API
Rationale
The proposal is cleaner approach since the lengthy persistable reference can be daunting for some of the users.
There is chance of user making mistake in the string of persistableReference.
Also, there can be contradiction in provided input (such as reference to certain entry in Reference data but different persistableReference).
Consequences
- Revise sample JSON files (used for loading TNO, Volve data)
- Revise test Postman collections (Platform Validation team)
- Revise documentation (Data Loading)
- Revise API Swagger documentation