gs1 / EPCIS

Draft files being shared for EPCIS 2.0 development

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

4 JSON/JSON-LD examples now invalid due to recent changes in where persistentDisposition can be used

mgh128 opened this issue · comments

@mgh128 can you point me to that change?
1 is an ObjectEvent, so I'm not sure what is the problem?

Hi @VladimirAlexiev - good to hear from you again.
Here's the change: 5a91314

The examples that were in error have now been changed. 1 was previously an AggregationEvent for which persistentDisposition is no longer permitted

hi @mgh128 and @CraigRe !
Why has persistentDisposition been restricted?

  • disposition is allowed in all events, and persistentDisposition is its cousin?
  • It seems to me that eg completeness_verified can happen exactly at bizStep unpacking of AggregationEvent (desaggregation).

If it indeed needs to be restricted, then more fixes are needed:

  • Mark's diagram EPCIS-Ontology-20210907.pdf
  • Mark's diagram EPCIS-Ontology-alternativeVersion-2021-09-14r3.pdf
  • JSON-Schema\schemas:
    AggregationEvent-JSON-Schema.json
    AssociationEvent-JSON-Schema.json
    ObjectEvent-JSON-Schema.json
    TransactionEvent-JSON-Schema.json
    TransformationEvent-JSON-Schema.json

Hi @VladimirAlexiev,

We had some discussion a few weeks ago in a work group call about persistentDisposition and the potential ambiguity about which objects to which the values that are set or unset within persistentDisposition apply in any event types except for ObjectEvent and the output objects of TransformationEvent. For AggregationEvent and AssociationEvent and TransactionEvent there is ambiguity about whether it applies to parentID or to childEPCs / epcList or both, so the recommendation is that persistentDisposition is now only used with ObjectEvent or (applying to the output objects of) TransformationEvent.

In the example of completeness_verified this applies primarily to the parentID rather than the childEPCs (which themselves might be cases missing an item) - and after the AggregationEvent with bizStep unpacking has occurred, then even the parentID is no longer complete, because it has been disaggregated.

I have already updated both UML diagrams accordingly in the version prepared for e-ballot and the most recent version from 6th April 2022 in the community room.
I'll check the JSON Schema to ensure that persistentDisposition is appropriately restricted for event types other than ObjectEvent and TransformationEvent

Now updated the JSON-Schema files accordingly as well as regenerated the main compiled composite JSON Schema file.

Hi @jmcanterafonseca-iota
Thanks for the reminder. I've now regenerated the openapi.json and pushed to the GS1 GitHub repository.
P.S. I also made a minor update to https://github.com/gs1/EPCIS/blob/master/REST%20Bindings/schema-injector/README.md to advise about installing sync-fetch

#440 lists more things to fix