-
Notifications
You must be signed in to change notification settings - Fork 61
Description
For strong references, we currently don't preserve referential integrity - We just fail when syncing nodes with strong references. For weak references, we currently don't have an option to maintain referential integrity.
This feature is particular important for making work from #65 useful, particularly because AEM uses weak references to implement group membership. In other words, until we get this feature in, we can sync users and groups, however we can not maintain group membership - which doesn't make syncing groups a very useful feature :-)
This could be implemented as an optional feature. We will need to validate referenced node hierarchies, just like we do for other nodes, and fail with VALIDATION_FAILED if needed. In the proto message from the server, we will need each node to maintain reference structure, since uuids will be different for nodes on the client server. ProtoNodeDecorator implementations will need to write referenced nodes as appropriate; following, and writing appropriate reference pointers to new nodes. For the sake of strong references, this will need to happen before session persistence.