Edit: added a remark about modal view of an object and some small textual edits,
Hello @Elaine_Sohng ,
Thank you for asking our feedback - this is a complicated and important subject that urgently needs attention. I think there are many user cases requiring different approaches and yes, I understand it can get complicated in a hurry.
I will try to address some of your questions and I will do so primarily by describing real life situations.
Starting with one of the last questions: how interactive…?
I distinguish four different scenarios:
- pages (information) where the user can’t interact with the data
- interactive pages, where the user can push buttons to, for example, activate filters or actions
- interactive pages where the filters are based on the current user()
- same as 3), but allowing the user to edit or add rows, while a user filter is intact
Having said this, I am assuming logged in users. If so, there is always a unique user().
The current locking and filtering options allow you to implement all of the above, with only one caveat: the user can go to whichever page in the doc they want. So, as far as I am concerned, if we can restrict the pages visible to (a group of) logged in users, we are all set. We, the makers, can make pages in such a way that the user only sees what we want them to see. We can specify if the user should be able to alter or add data and al the other editing options already exist.
For the users with limited acces, only data that is part of the user’s access permissions should make it to the browser. This would be quite different from normal use and result in a performance hit. But given te limitations, that would be acceptable.
So in my opinion it is pretty straightforward: If a logged in user has limited access, he only sees the pages he has access to. Examples:
Sub 1) a new product description
Sub 2) a range of articles, which can be filtered
Sub 3) a (filtered) table shows, for example, all the activities of (only) the logged in user
Sub 4) identical to sub 3, but with some permissions to, for example, edit the users’ own address.
All of the above is already available to us with one big problem: the rest of the doc is visible too…and accessible.
If I were to allow a user to change his address, I would grant them access to only the relevant pages, this user would see a very small doc. And perhaps the user would be granted a view to his performance page, without the possibility to edit.
Permissions should include subpages, until changed. All pages should interact according to set filters (like having a field interact with other pages to field a related value or use going to a lookup table), etc. For the user with limited acces, this is standard behavior.
With the above in mind, there is probably one extra locking feature necessary: to not follow the normal action when you click on an object and end up with a modal of that object. Only a button to a modal should work to make sure we don’t give access to data that are not meant to be edited (or viewed).
Cross doc is to slow and to cumbersome to build and has limited capacity. It is not a realistic option for people that need to access real-time data.