Table of Contents |
---|
References
Jira | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
https://ldap.com/ldap-dns-and-rdns/
Assumptions
Issue | Notes | Sign-off | |
---|---|---|---|
1 | alternateId not used when processing 'deletedCmHandles' or 'upgradedCmHandles' | Any alternateId stored in the cache earlier will be used | |
2 | In case of updating, when users try to change an alternateId we should ignore it. | Ignore it a silent way (e.g: logging message), no exception should be thrown! | Kolawole Adebisi-AdeolokunYes, ignore as long as it is documented this is not supported (yaml) |
Issues & Decisions
Issue | Notes | Decision | ||
---|---|---|---|---|
1 | Is FDN optional? | Is it possible to register a cmHandle without an FDN? | Toine Siebelink Yes it is optional as not everyone will use it | |
2 | In Hazelcast what is the key? | Is it the FDN or the cmHandleId? | Toine Siebelink create 2 maps:
| |
3 | Check alternateId in 'updatedCmHandles' | Assuming updatedCHandle should NOT be used to correct/change the AlternateId for a CmHandleId | Alternate IDs are immutable once they are set. | |
4 | Should we persist the alternateId? | Should we modify the registry model? | Toine Siebelink Yes, the Inventory Model should update with the AlternatId as | deailed detailed below |
Alternate identifiers during registration
The first use case which should be handled is the storing of the new identifier ( called FDN or Fully Distinguished Name).
...
To achieve this NCMP's CmHandle registration endpoint must be changed to accept a new String parameter which proposed name is alternateId.
Extending RestInputCmHandle object
During registration an object called RestInputCmHandle contains all the information to register new entities in the database.
The object should be extended at the top level with the new optional property:
RestInputCmHandle | |
---|---|
Field name | Type |
cmHandle | String |
cmHandleProperties | Object |
publicCmHandleProperties | Object |
moduleSetTag | String |
trustLevel | String |
alternateId | String |
Save the cmHandleId and the alternateId to caches
During registration the new identifier must be saved to a cache. Because it could be reused later for queries.
...
Like this we will be able to map entities back and forth during queries quickly based on what value we have in the queries.
Inventory Use cases
create (initial inventory)
This use case is described above.
update
Assuming that alternateIds will not change during update.
delete
In case of a DELETE operation only the cmHandleId provided in an array of strings.
However during removal we should check if any of the two caches containing the cmHandleId and that is the case we should remove those entries.
upgrade
Assuming that it's ignored.
Proposed JIRAs
Component | Description | JIRA | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | NCMP | Modify cmHandle registration for alternateId |
| ||||||||||||
2 | NCMP | Allow updating of cmHandles with an alternateId |
| ||||||||||||
3 | |||||||||||||||
4 |