I need your pointers on how I can implement not-straightfoward access control settings.
Please see the attached file. In the file, what is expected to achieve is that, for instance, if I grant myself WRITE access to S1, I will be able to WRITE R1 and R2 for category 3, T1 and T2 for Category 2, and AAA and BBB for Product, where Category 1, 2, 3 and Product do not have a hierarchical relationship. I am wondering if this is possible by applying selective access for Category 2 (Set Product as its child) and DCAs.
Since you do not have hierarchy, there are 2 ways you can achieve this.
1. As you mentioned, using DCA. Here you have to maintain the access by category by user on a module and use this as a DCA driver, with some calculations for the other levels. This will be fired on each cell when the user is trying to read/write
2. Maintain a module for user access and calculate the selective access for all the levels. Import this into User access using a process. Everytime there is a change in user access, the process must be run by the admin or it can be scheduled periodically.
I prefere the #2 as it is less performance intensive.