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
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.
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