With Lock, a tree structure can be frozen. The idea is to place locks on nodes to freeze certain branches of tree and allow only the modification of nodes / leaves upstream of the locks.
When a node is locked :
- certain features can be created upstream of the lock
- the creation is forbidden downstream of the lock
- the lock has no effect in another branch of tree
Lock and authorized patterns ( cf. UI guide ) does not have a same target :
- lock : freeze a part of tree. All the features can be changed but the creation of new branch can be forbidden.
- authorized patterns : grant permissions (CRUD) to features,
Tree mode must be used to manage locks. And only admin user can add / remove lock.
Let’s go for a schema :
This tree is a representation of 2 features :
A lock is activated on the b :
- a feature can be created from b, c, because b, c is upstream or equals of b
- a feature can’t be created from a, because a is downstream to b
- b can be deleted / moved
- a lock has no effect on b1, because it’s not a same branch