Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

20150427: R. Andres Ferreyra (Unlicensed) comment for PAIL's benefit: Adopting this scheme in the Inbound / Offsite schemas would lead to a very compact representation. The caveat is that we always need to make sure to include Setup records (at least the CompoundIdentifiers) along with the data, in order to provide global context to the locally-scoped data IDs. This is NOT going to happen in the short term for irrigation as-applied data, but the scheme is promising for Inbound/Offsite. 

CompoundIdentifier is a class that enables associating one or more unique identifiers (plus information regarding the creator of the identifiers) to the various objects in the application data model. Compound identifiers will be used by every class that needs to "stand alone" and be referenced by other objects.

CompoundIdentifier

AttributeTypeMultiplicityDescription
ReferenceIdInteger1

A unique (integer, locally-scoped) ID for a particular instance of an object.

UniqueIdsUniqueId0..n

Can be created in a distributed fashion (i.e., without a centralized naming authority, as long as 
there is reasonable certainty of its uniqueness. Note that a given object can be associated with multiple unique IDs.

Another note: If we are exporting to a format / destination that can only accept 1 ID, we will use the UniqueID that has IsFirstSource set to True.

If none of the objects in the list has a FirstSource = True, then it is left to the plug-in to decide which one it wants.

...