Hi,
we need to inherit permissions from secondary parents.
How Alfresco explains in this page https://docs.alfresco.com/5.2/concepts/secur-acl.html it is possible: "By default, ACL inheritance is always from the primary parent. The underlying design and implementation does not mandate this. ACL inheritance does not have to follow the parent child relationship. It is possible to change this through the Java API."
We can develop a logic like this:
1) nodeservice.addchild (node, parent2)
2) Acl aclOtherParent = accessControlListDAO.getAccessControlList(parent2);
3) aclDaoComponent().enableInheritance(acl.getId(), aclOtherParent.getId());
It works, but there are many side effects to manage. For example, when a user add or remove a permission on parent2 or on his ancestors, Alfresco refresh permissions to node, removing our fix. There are other cases like this.
So, we develop a AOP method interceptor on permissionService.setPermissions, but it doesn't cover all cases.
We need a suggestion to develop a strong solution for our purpose.
Best regards,
Federico Tarantino