Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
mgh128 opened this issue Mar 1, 2022 · 8 comments

Comments

@VladimirAlexiev
Copy link
Contributor

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

@mgh128
Copy link
Collaborator Author

mgh128 commented Mar 29, 2022

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

@VladimirAlexiev
Copy link
Contributor

VladimirAlexiev commented May 1, 2022

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

@mgh128
Copy link
Collaborator Author

mgh128 commented May 3, 2022

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

@mgh128
Copy link
Collaborator Author

mgh128 commented May 3, 2022

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

@jmcanterafonseca-iota
Copy link
Collaborator

jmcanterafonseca-iota commented May 3, 2022 via email

@mgh128
Copy link
Collaborator Author

mgh128 commented May 3, 2022

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

@VladimirAlexiev
Copy link
Contributor

#440 lists more things to fix

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants