gristlabs / grist-core

Grist is the evolution of spreadsheets.
https://www.getgrist.com/
Apache License 2.0
6.58k stars 288 forks source link

Access Rules for Pages #1087

Open JoelPagniez opened 5 days ago

JoelPagniez commented 5 days ago

Context

Currently, Grist allows managing access rights for tables, but it would be highly beneficial to extend this feature to pages (and widgets). In our use case, we have a "Users" table with specific roles assigned to each user. Each role is associated with specific pages. While there are workarounds to restrict access to these pages (by adding a reduced view of a table with restricted access based on user roles), they are not very clean and lead to cluttered and potentially confusing interfaces.

Feature Request

Manage access to pages (and widgets) with rules as it's done with tables in Access Rules menu.

Benefits

Clean workspace: Users would only see the pages and views relevant to their role, reducing distractions and confusion.
Increased productivity: Users can focus on information pertinent to their specific tasks.

Use Case Example

For instance: HR personnel should only access HR-related pages and views. Trainers should only see pages and views related to training. Agents should only have access to pages and views relevant to their specific tasks.

Currently, because they all have access to data (even partially), all users see all pages and views, even those irrelevant to their role , cluttering their interface and increasing the risk of errors.

Conclusion

This feature would greatly enhance the user experience in Grist by providing a more personalized working environment.

TheSchmed commented 5 days ago

We had a conversation briefly about this in the community forum as well:

https://community.getgrist.com/t/custom-pages-layouts-per-user/2526

elliottSlee commented 3 hours ago

This would be great. We are currently adding an "Access Blocker" table to pages, collapsing it, and setting access rules for that table to hide or show the page for the relevant users.