[DONE] Entity-level permissions

The extend capability already exists in the (experimental) entity permissions, but for the default access levels, it only applies to one level down.

When we roll out custom access templates, they will allow propagation to multiple (but not unlimited) levels.

2 Likes

We often need to share individual entities in Fibery with our clients. We are a custom dev shop and want to, for example, create a checklist for our clients to be able to complete themselves without having to add full user seats for every person working for the client.

Being able to either add guests that can edit only certain documents, or create public links that allow editing would be super helpful.

2 Likes

I think that people are generally accustomed to the idea of folders and that everything in a restricted team folder is therefore also restricted to team members only. This applies to any content type in the folder, including subfolders.

With the ā€˜not unlimited access propagation’ in hierarchical relations, this becomes less clear why there is a limitation, since there is not structural logic for that, other than the potential performance logic of the developers.

If the levels of propagation is limited, then I think users need to be warned that if they create child relations beyond that, it will not inherit the access restrictions. How would they be warned?

How do the fibery designers solve the common expectation about access propagation, when users create nested strudtures like:
Company > Department > Group > Team > Project > Milestone > Task > Dependent Task > Action > Note etc…
?

Access is managed through overloading of granted (positive) permissions, not through restrictions.
So if levels are added beyond the limitations of an access template, these levels will be inaccessible by default.

Fibery structure is not limited to simple one-to-many pyramid hierarchies, so although access might be simple to apply in that specific case, the permissions model needs to accommodate all the possible (crazy) structures that users might come up with, and not break or get too slow.

In that example, I would imagine that users would have access to the project(s) they are working on and with propagation, to all the ā€˜downstream’ items (milestones, tasks, actions and notes). Access to departments, groups and teams would be governed by their membership of a team, and through lookups, their implied membership of a group and a department (not via access template propagation) This would probably be something similar to the current ā€˜contributor’ level.

We haven’t so far heard of a lot of use cases that aren’t covered by access propagation which is limited in the number of possible levels.

3 Likes

Related:

Is there a plan to increase the level of granularity on permissions?

Specifically for the ā€œUpdateā€ permission, as in it’s current form it’s pretty wide ranging.

My suggestions:

  • Create new entities in related databases
  • Link to existing entities in related databases
  • Unlink entities in related databases
  • Edit ā€œbasicā€ fields
  • Create & modify ā€œbasicā€ fields
  • Delete ā€œbasicā€ fields
  • Create & modify ā€œadvancedā€ fields
  • Delete ā€œadvancedā€ fields
  • Create & modify views
  • Delete views
  • Toggle visibility of fields
  • Click buttons

This is a permission for the related db, not the entity itself.

These are all part of ā€˜Creator’ access for the database, and I don’t think we will offer more granularity than that any time soon.

Not sure if you mean edit=configure fields or if you mean edit=update field values. If the former, then this too will remain under Creator level for the db.

If you mean that you want to split the current ā€˜entity update’ permission into the following:

then there may be a small chance a greater level of granularity may arrive somewhere down the line, but please tell us your use cases, so we know what’s in your mind.

Permissions for space views are independent of databases/entities (except in as far as you can’t expect to be able to create a data view for dbs/entities that you don’t have view access for!)
The view-specific settings (columns, filters, sort etc.) are in the hands of space ā€˜creators’.

Relation views are a whole other story, but let’s not go there :wink:

Based on recurring use cases, we might split a capability into two or three, but not more. We are balancing flexibility and complexity here.

Actually, we started with a more granular set but collapsed it after noticing how intimidating it looked.

1 Like

@antoniokov is there a real-rough-not-to-pin-you-guys-on-it estimation when the following use case is possible:

a user has only access when assigned to the entity or when he/she created the entity

We currently need to decide if we create a more or less ā€˜separate team space’ for our customers where their team members can only see their own tasks, projects, appointments, notes etc. (still not waterproof since they can use search/link as well, but it’s at least something).

If this feature is quite nearby, we will not do that since it’s a lot of work that’s not needed after this is implemented.

3 Likes

Likely to happen by the end of Q1, veeery likely to happen by the end of Q2. I’ll have a better estimate as soon as we start the development.

4 Likes

Thanks for the update! We’ll keep our fingers crossed :crossed_fingers:t2::grin:

We certainly need this as well! Hoping this is coming soon.

2 Likes

Is this still planned?

It is implemented in fact

https://the.fibery.io/@public/User_Guide/Guide/Share-Entity-233