Description
Prerequisite: Adjust UI based on Database capabilities
For the problem description see Database Permissions.
Overview
This is the first customer-facing Feature in the scope of Database access. These are the key goals at this point:
Solution
Figma
Add an option to share a DB via the context menu:
Borrow the popup from Space sharing with a few tweaks:
Manage access for Created By, Assignees and other to-User relations
Share Entities of a DB with a specific User
Permissions
Till Add Creator access template in Database sharing, only a Creator in the DB's Space can share a DB, change or revoke access.
Addtionally, to share a Database with someone using an access template, the sharer has to have all the capabilities of the template. For example to grant Commenter access, someone has to have entity.read, entity.readHistory and entity.comment capabilities for this DB. Now these is always true for a Space Creator.
π¦ After Add Creator access template in Database sharing, there will be dedicated DB-level capabilities for managing access.
Notes
π¦ Next
Default DB access templates
| create
| read readHistory
| comment
| update
clickButton
| delete
| shareToPublic
| unapplyAccessTemplate
| update(Type) delete(Type) unapplyAccessTemplate(Type)
|
Creator | β | ποΈ | π¬ | βοΈ | ποΈ | π | π€ | βοΈ |
Editor | β | ποΈ | π¬ | βοΈ | ποΈ | π | π€ | |
Commenter | | ποΈ | π¬ | | | | | |
Viewer | | ποΈ | | | | | | |
Submitter | β | | | | | | | |
We have to rename the default Entity access templates: Owner β Editor, Editor β ??? for consistency between Entity, DB, and Space access templates.
We might rename Submitter to Contributor once we deprecate the Space-level one.
Implementation notes
What access templates are available for guest? Is it ok to revoke access from guest?
Implemented β no way to setup _any_ type access template or revoke it for guest user.
Type capability source Dmitry Kabak
{type: "source/type",
capabilities: ["entity.read", ..] ,
template-name: "access/editor"}