I was thinking about how this could work in the future in Baserow, here is one possible idea:
- We add a collaborator field which lets you reference actual users in your group.
- When used on a form view you can make a collaborator field always be set to the user submitting the form
- We add the ability to share a particular view to only certain people in a read only fashion, and hide the rest of the table
- We add a filter which is “filter this collaborator field down to only rows which contain the user actually looking at the view”
Then in combination these various features could be used to implement a table in the way described by Christian. You would make a private table with a collaborator field, make a form view for that table only select users can see which sets the collaborator field to the user who submitted, then you share a view with the users which has the “only see your own rows” filter.
Alternatively instead of having some sort of “only show rows which have your user” filter you could instead build a proper row based permissions system. However an idea I like is that what if you could use an actual Baserow column to define the row level permissions.
So for example, you could have a “permissions” field which is just like the collaborator field but you also can select what permissions the user in the field. E.g. you could create a permissions field and select just the “can view” permission. Then when the owner/admin of the table can add a user to a particular row and now they will be able to see that row.
The advantage of a permissions field approach is, it is just a normal field so everything else that you get for free with fields in Baserow you get with it. So you can export it, filter by it, sort by it etc. Also you can use it in form views in the way described above. Also because its just a normal field I hope this makes it much more intuitive for users to understand and work with compared to having some sort of separate GUI for row level permissions.
Anyway these were just some random ideas I had in this area!