biocodellc / biocode-fims-commons

Biocode Field Information Management System
3 stars 0 forks source link

discuss having a project level bcid for HASHed entites #32

Open rodney757 opened 7 years ago

rodney757 commented 7 years ago

Currently when a project configuration entity contains HASH in the uniqueKey attribute, this means that the entity is to be treated as a value object.

To generate the suffix, we hash all the entity's attributes.

We are currently creating a bcid for every expedition in the project. However Value object bcids should probably only be created on the project level, and shared across all expeditions.

Ex.

A "Location" entity might have a "latitude" and a "longitude" Attributes. If 2 "Location" entities have the same attribute values, they are not unique instances, but are the same thing, thus they should have the same bcid.

We should also think about providing a flag on the Entity object to indicate that the entity is a value object, instead of relying on the Entity.uniqueKey() to end in HASH. Probably a bit more clear

jdeck88 commented 7 years ago

Yes, i would agree on providing a flag... Also, for creating project level value-based roots.
Something tells me that we might actually bump this up to a "network"-based root. But that is another issue.