Permissions' definition is explained in Social groups
. Simplifying, definition is set of permissions related to a root, for example dossier:list,new,edit,delete
, whereas checking a permission would take the form dossier:new
. In the definition we say the permissions related to dossier, when checking we ask whether it has one of those permissions.
Permissions can be ORed using |
, for example dossier:list|@customer:on
.
dossier
, contact
, document
are examples of those entities.@
, and followed with :on
.#
, and followed with :on
.@
, and followed with :is
.@actor:
, and followed with the actor name.Fuzzy roles are those discovered by the application and highly dependent on interactions. Represented as @fuzzy_role:is
.
Fuzzy role | Description |
---|---|
su | Super user |
admin | The user has admin capabilities |
natural | The user has a current relation with a company or center. |
worker | The user has a current relation with a company. |
professional | The user has a responsible relation with a company. |
student | The user has a non-responsible relation with a center. |
docent | The user has a docent relation with a center. |
responsible | The user has a responsible relation with a company or center. |
hhrr | The user is in Human Resources. |
companyhhrr | The user is in company's Human Resources department. |
centerhhrr | The user is in center's Human Resources department. |
translator | The user is a language translator. |
listed | The user is listed in the networking directory. |
networking | The user is in the networking. |
premium | The user is in the premium networking. |
singleton | The user is a freelancer or a non recognized company or center. |
user | Comodity role for autheticated users. |
outsider | The user comes from an Alliance member. Could only be true in Alliance servers. |
Elephant includes some commodity roles, not directly related to user's role:
Comodity role | Description |
---|---|
user:in | True for authenticated users. Equal to @user:is |
lang:_lang | True if lang equals to active language |
Check type | Syntax | Example |
---|---|---|
Permissions | entity-root:permission |
dossier:list |
Roles | #role:on |
#DossierParticipant:on |
Social groups | @socialGroupID:on |
@customer:on |
Fuzzy roles | @fuzzyrole:is |
@worker:is |
Actors | @actor:actor_name |
@actor:PartnerNetwork |
Suppose a sample user assigned to Privileged Customers social group. This social group grants the DossierParticipant role, which carries dossier=list,show
permissions. Therefore, dossier:show
will be granted.
This feature is in its early stages and provides a more flexible way to use the permissions starting with a @
. Adds the possibility of creating complex formulas, with preferences, negations and logical operators.
Operator | Description | Example |
---|---|---|
| |
As in simple syntax, indicates OR. | A or B = A | B |
& |
Indicates AND. | A and B = A & B |
( and ) |
Indicate preference. | (A and B) or C = (A & B) | C |
! |
Indicates a negation. | (A and not B) or C = (A & !B) | C |
English | 06/26/22 17:01 | Lluís Turró Cutiller | |
English | 03/20/24 11:04 | Lluís Turró Cutiller | |
English | 03/27/24 12:09 | Lluís Turró Cutiller | |
English | 04/24/24 08:22 | Lluís Turró Cutiller | |
English | 04/25/24 02:34 | Lluís Turró Cutiller | |
English | 05/02/24 08:43 | Lluís Turró Cutiller | |
English | 05/08/24 09:34 | Lluís Turró Cutiller |