Permissions¶
Global permissions¶
Principle¶
There are three kinds of global permissions:
read: list all objects and view propertiesupdate: update object propertiescreate: create and delete objects
They apply to the following objects:
- documentation (
doc) - users (
usr) - user groups (
grp) - storages (
stg) - projects (
prj)
So, for instance, usr.update means that you can update user properties.
Permissions are gathered in permission groups (obj is one of the above
objects):
group:obj_user=obj.readgroup:obj_editor=obj.read+obj.updategroup:obj_manager=obj.read+obj.update+obj.create
In addition, group:admin gives all permissions to its owner.
Exhaustive lists¶
Here are all permissions:
- administration:
admin - documentation:
doc.update,doc.create - users:
usr.read,usr.update,usr.create - groups:
grp.read,grp.update,grp.create - storages:
stg.read,stg.update,stg.create - projects:
prj.read,prj.update,prj.create
And, permission groups:
Administrator:
group:admin=admin
Documentation manipulation:
group:doc_editor=doc.updategroup:doc_manager=doc.update+doc.create
User manipulation:
group:usr_user=usr.readgroup:usr_editor=usr.read+usr.updategroup:usr_manager=usr.read+usr.update+usr.create
Group manipulation:
group:grp_user=grp.readgroup:grp_editor=grp.read+grp.updategroup:grp_manager=grp.read+grp.update+grp.create
Storage manipulation:
group:stg_user=stg.readgroup:stg_editor=stg.read+stg.updategroup:stg_manager=stg.read+stg.update+stg.create
Project manipulation:
group:prj_user=prj.readgroup:prj_editor=prj.read+prj.updategroup:prj_manager=prj.read+prj.update+prj.create
Permissions on a storage¶
When a user can access a storage because he has at least the global permission
stg.read and the storage is opened or the user or one of its groups is
authorized, he has one of the following storage permission:
reader: he can see or download files or directorieswriter: he can create, modify or uplaod files or directories
Permissions on a project¶
When a user participates in a project because he has at least the global
permission prj.read and he is in the list of project members, he has one of
the following project permission:
member: he can see and download packs and modify files of packspackeditor: he can modify packspackmaker: he can create and modify packsleader: he can modify project settings: roles, tasks, members, processing, packs