[System/Storage] Allow additional (optional) root properties

The Storage service is not allowing additional root properties. The list currently supported according to the class Record:

  • id, string (see also validation issue), required
  • version, long integer/int64, optional, system-generated
  • kind, string, validation pattern "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$" (in Storage it is declared "[\\w-\\.]+:[\\w-\\.]+:[\\w-\\.]+:(\\d+.)?(\\d+.)?(\\d+)")
  • acl, structure of type org.opengroup.osdu.core.common.model.entitlements.Acl, required
  • legal, structure of type org.opengroup.osdu.core.common.model.legal.Legal, required
  • data, dictionary, required non-empty
  • ancestry, structure of type RecordAncestry, optional
  • meta, array of objects, optional

As a consequence of and friction resolution the following OSDU standard properties must be added - the root properties are currently defined in AbstractResource by data definition to be included in all OSDU schemas:

  • Dropped: groupType, string, optional for non-OSDU schemas, mandatory for OSDU schemas.
  • resourceHomeRegionID, string, reference id to a reference-data/OSDURegion type instance, optional
  • resourceHostRegionIDs, array of strings, reference ids to a reference-data/OSDURegion type instance, optional
  • resourceObjectCreationDateTime, datetime, should be set by the system, optional
  • resourceVersionCreationDateTime, datetime string, should be set by the system, optional
  • resourceCurationStatus, string, reference id to a reference-data/ResourceCurationStatus type instance, optional
  • resourceLifecycleStatus, string, reference id to a reference-data/ResourceLifecycleStatus type instance, optional
  • resourceSecurityClassification, string, reference id to a reference-data/ResourceSecurityClassification type instance, optional
  • source, string reference id to a master-data/Organisation type instance, optional
  • existenceKind, string reference id to a reference-data/ExistenceKind type instance, optional
  • licenseState, string reference id to a reference-data/LicenseState type instance, optional
  • resourceObjectCreatedBy, to reflect for the name of the person responsible for the creation of this Object, optional
  • resourceVersionCreatedBy, to reflect for the name of the person responsible for the creation of this Object, optional

(Style changes approved by Data Definitions Core Concepts August 11.)

References:

Edited by Thomas Gehrmann [InvitedE]