Diffing_Engine: review the structure/organisation of the identifiers
Open
@alelom is already working on this.
Since Jul 9, 2020.
Assessment
This issue has not been assessed yet.
Description
type:question
| Category | |
|---|---|
| Persistent | The id is a GUID generated upon object creation. If the object is modified, this id is transferred to the new instance of the object. |
| Instance | if any property of the object changes, the id changes. |
| Name | Type (Persistent or instance) | Example | Description |
|---|---|---|---|
| External Id (or "Adapter Id") | (Depends on software) | A number | The id assigned to the object by the external software. This may or may not be unique per se (e.g. could be unique within a certain category, but not in absolute sense). Example: in robot, a bar is assigned a progressive number starting from 1; nodes too. |
| Instance External Id | Instance | a guid or hash | An id assigned to the object by the external software that is unique for that object and its defining properties. The object, if modified, will get a different id of this type. Example: in Robot, this can be obtained by the combination of the object Type (e.g. Robot.Bar) with its External Id (e.g. `1). |
| Persistent External Id | Persistent | a guid | An id assigned to the object by the external software that is unique for that object. Persistent = remains the same if the object is modified; it is generated only once upon object creation. Example: in Revit, the UniqueId. |
| BHoM Guid | Persistent | a guid | The BHoM Guid is generated once upon object instantiation. If the object is modified, the Guid is transferred to the new object. |
| BHoM Hash | Instance | a hash | An id that uniquely identifies an object with all its properties set to a certain value. If any property is modified, this id changes. |
- Dominant language
- No language data
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from BHoM/admin
-
type:question
Difficulty 3/5 1-2 days Newbie friendliness 35/100
-
Refactoring and documentation based on "Universal" common interfacesMay be free again @al-fisher claimed this 1897 days ago, and no pull request is open. Opentype:compliance
-
Difficulty 5/5 Over a week Newbie friendliness 15/100
-
type:feature type:question
-
type:compliance