How to handle n-level access
In the current interop spec, it is not possible to handle n-level access. For example, we have references like this:
community
references a project
which reference a customer
community
, project
and customer
all have their own data registration.
What we want, is to grant access to a community
to someone, so he can access the projects
of the community, and also the customer
of these projects.
As n-level access is not possible today, the proposed solution is the following one: a root object should have bridge relationships for all of the nested references it can have through its references.
For example, we would have:
community
-- communityProject/1 (bridge relationship which references project/1)
-- communityCustomer/1 > (bridge relationship which references customer/1)
project/1
customer/1
This requires that we maintain all the relationships of the communities when data are changing, to maintain them consistent