panSL main page

panSL language reference. Table of contents.

AccessRole

With AccessRole is meant what kind of Role (Anonymous, Everyone, Owner and Administrator)
the user of an ApplicationImplementation needs in order to perform an operation of a given AccessType (Create, Read, Update or Delete).

An AccessRole-keyword is thus a combination of AccessType and Role.

Note that common combinations are simplified. If the same Role is needed for every kind of Access then only the Role needs to be indicated.
For instance, Administrator signifies CreateAdministrator ReadAdministrator UpdateAdministrator DeleteAdministrator.
The common combination for Create, Update and Delete is simplified to Change + Role, for instance ChangeEveryone signifies
CreateEveryone, UpdateEveryone, DeleteEveryone (Read-Access in such a case would normally be ReadAnonymous).

Example of use:


Person           ReadEveryone ChangeOwner
   Name
   Phone_number

Rule             ReadEveryone ChangeAdministrator
   Name

Events           ReadAnonymous ChangeOwner
   Name
   Date          Date

Money_transfer   Administrator
   Amount
   Date          Date

The example gives various examples of how access may be specified.

AccessRole may also be specified as Role + PropertyID. In this case the user of an ApplicationImplementation needs to either
A) impersonate the given Property, or to
B) have a relationsship to it (for instance the Property could be a group "Account_department" with users as members)

Example:

Money_transfer   ReadEveryone Change(42)
   Amount
   Date          Date

Only the entity with PropertyID 42 may Change (Create, Update or Delete) a Money_transfer.

Field nameDescription

CreateAdministrator

Access Create plus Role Administrator. Access to Create a new Property is granted to Administrator, that is administrators of the database.

CreateAnonymous

Access Create plus Role Anonymous. Access to Create a new Property is granted to Anonymous, that is all users, also non-identified users.

CreateEveryone

Access Create plus Role Everyone. Access to Create a new Property is granted to Everyone, that is all identified users.

CreateOwner

Access Create plus Role Owner. Access to Create a new Property is granted to Owner, that is the owner of the Property in question.

DeleteAdministrator

Access Delete plus Role Administrator. Access to Delete a Property is granted to Administrator, that is administrators of the database.

DeleteAnonymous

Access Delete plus Role Anonymous. Access to Delete a Property is granted to Anonymous, that is all users, also non-identified users.

DeleteEveryone

Access Delete plus Role Everyone. Access to Delete a Property is granted to Everyone, that is all identified users.

DeleteOwner

Access Delete plus Role Owner. Access to Delete a Property is granted to Owner, that is the owner of the Property in question.

ReadAdministrator

Access Read plus Role Administrator. Access to Read a Property is granted to Administrator, that is administrators of the database.

ReadAnonymous

Access Read plus Role Anonymous. Access to Read a Property is granted to Anonymous, that is all users, also non-identified users.

ReadEveryone

Access Read plus Role Everyone. Access to Read a Property is granted to Everyone, that is all identified users.

ReadOwner

Access Read plus Role Owner. Access to Read a Property is granted to Owner, that is the owner of the Property in question.

UpdateAdministrator

Access Update plus Role Administrator. Access to Update a Property is granted to Administrator, that is administrators of the database.

UpdateAnonymous

Access Update plus Role Anonymous. Access to Update a Property is granted to Anonymous, that is all users, also non-identified users.

UpdateEveryone

Access Update plus Role Everyone. Access to Update a Property is granted to Everyone, that is all identified users.

UpdateOwner

Access Update plus Role Owner. Access to Update a Property is granted to Owner, that is the owner of the Property in question.

panSL language reference. Table of contents.

More samples available at http://panSL.org/samples/.

Last updated 2012-05-02