gs1 / EPCIS

Draft files being shared for EPCIS 2.0 development
Other
20 stars 7 forks source link

persistentDisposition only in ObjectEvent and TransformationEvent - do not merge yet #447

Closed mgh128 closed 1 year ago

mgh128 commented 1 year ago

As discussed on today's EPCIS/CBV call, there is an inconsistency within the ratified published EPCIS 2.0 standard and its artefacts regarding persistentDisposition and the event types in which it may be used. The UML class diagram, ontology files and SHACL validation files already indicate that persistentDisposition is not allowed within AggregationEvent, AssociationEvent and TransactionEvent because of ambiguity about which objects were affected by a set or unset operation on persistentDisposition if used within those event types. The table at the end of section 7.3.6.2.2 also appears to confirm this by indicating in its third column that there is no applicability (n/a) for those event types. Separately, the statement preceding the statement will need to be made stricter, rather than advisory.

In terms of the changes to correct the associated artefacts, the following steps were performed:

  1. Correct the ontology files so that the domain of epcis:persistentDisposition is no longer EPCISEvent (all event types) but now only ObjectEvent or TransactionEvent
  2. Remove persistentDisposition from the enums for AggregationEvent-JSON-Schema.json, AssociationEvent-JSON-Schema.json and TransactionEvent-JSON-Schema.json within the JSON-Schema/schemas/ subdirectory
  3. Use José's script generate-inline-schema.sh within JSON-Schema/ to regenerate EPCIS-JSON-Schema.json at root level
  4. Use José's script inject-schema.sh within REST Bindings/schema-injector to regenerate openapi.json within REST Bindings subdirectory