gs1 / EPCIS

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

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

Open mgh128 opened 2 years ago

mgh128 commented 2 years ago
  1. https://github.com/gs1/EPCIS/blob/master/JSON/PersistentDisposition-example.jsonld
  2. https://github.com/gs1/EPCIS/blob/master/JSON/WithFullCombinationOfFields/aggregation_event_all_possible_fields.jsonld
  3. https://github.com/gs1/EPCIS/blob/master/JSON/WithFullCombinationOfFields/association_event_all_possible_fields.jsonld
  4. https://github.com/gs1/EPCIS/blob/master/JSON/WithFullCombinationOfFields/transaction_event_all_possible_fields.jsonld

I suggest changing (1) to be an ObjectEvent example that uses persistenDisposition I suggest changing (2), (3), (4) to simply drop persistentDisposition

VladimirAlexiev commented 2 years ago

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

mgh128 commented 2 years ago

Hi @VladimirAlexiev - good to hear from you again.
Here's the change: https://github.com/gs1/EPCIS/commit/5a91314e8a076ecaa78c2ef7692f3994c795bc10

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

VladimirAlexiev commented 2 years ago

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

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

mgh128 commented 2 years ago

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 commented 2 years ago

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

jmcanterafonseca-iota commented 2 years ago

you would need to regenerate as well the openapi.json

On Tue, May 3, 2022 at 2:13 AM Mark Harrison @.***> wrote:

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

— Reply to this email directly, view it on GitHub https://github.com/gs1/EPCIS/issues/395#issuecomment-1115487054, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQEZJLTVMIIACQODFCMWJ5TVIBVTXANCNFSM5PVOYFSA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

-- IOTA Foundation Pappelallee 78/79 10437 Berlin, Germany

Board of Directors: Dominik Schiener, Navin Ramachandran ID/Foundation No.: 3416/1234/2 (Foundation Register of Berlin)

mgh128 commented 2 years ago

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 commented 1 year ago

440 lists more things to fix