Story #7951
Allow CN to set NodeProperties in ldap
100%
Description
The Node documents NodeProperties property can be used to store ancillary information about the Node. This is currently under the control of the MN. It would be useful for the CN to be able to set some properties for the search UI and node display, without worrying about them being overwritten upon cn.updateNodeCapabilities() called from the MN.
The proposal is to designate the prefix "CN_" for these CN-set properties, and modify the CN.updateNodeCapabilities implementation in the NodeRegistry to prevent the MN from adding or removing those prefixed key-value pairs.
Associated revisions
refs #7951: refactored NodeAccess.updateNode so that MNs don't add or remove NodeProperties with the prefix 'CN_'.
refs #7951: refactored NodeAccess.updateNode so that MNs don't add or remove NodeProperties with the prefix 'CN_'.
History
#1 Updated by Rob Nahf about 8 years ago
- Status changed from New to In Progress
- % Done changed from 0 to 30
added conditionals in NodeAccess.updateNode so that properties with the prefix 'CN_' are not removed or added.
#2 Updated by Rob Nahf almost 8 years ago
- Status changed from In Progress to Testing
- % Done changed from 30 to 50
#3 Updated by Rob Nahf almost 8 years ago
- Status changed from Testing to Closed
- % Done changed from 50 to 100
tested in 2.3.1 branch. Added an integration test to make sure the cn.updateNodeCapabilities cannot add a property beginning with 'CN_' (the reserved prefix).
Also ran ad hoc test (necessary because there is no way to add a property with the reserved prefix except via LDAP manipulation) to make sure that existing 'CN_' prefixed properties were not clobbered.
Note that properties do not appear in cn.listNodes(), but do in cn.getNodeCapabilities(nodeReference)