"ACL management" is a very powerful and flexible feature allowing to assign Users with access to Apps and various resources.
Unlike in many other platforms where there is only a limited selection of user roles and access privileges, in Ethora platform maximum flexibility is offered allowing literally to assign any User on the Net (Server) any access privileges as granularly as required, subject to your own account having enough ACL privileges to do so.
Only downside is that currently ACL management interface looks very technical and confusing.
We are now making it easier to use and understand as explained below.
CURRENT LOOK (OLD DESIGN):
1. In Admin -> Apps, select an App with at least one User:
2. You will see the list of Users below.
3. In the list of Users, click the kebab menu on the right and choose "Edit ACL":
4. A modal window for ACL Management will appear:
This means you can now assign certain access rights to the User you have selected, in the context of the currently selected App (or in the context of the whole server under Networks section - more on this below).
On the left you can see the list of App entities you will be assigning the rights to.
For example the row "appUsers" allows your to assign Create, Read, Update, Delete or Administration rights to all of the App Users.
Columns "Create, Read, Update, Delete and Admin" follow the CRUD pattern which is popular in software development, especially in relation to database and API operations:
CRUD is an acronym for Create, Read, Update, and Delete, which are the four fundamental functions of a database in software development:
- Create: Adds a new record to a database
- Read: Returns records from a database table
- Update: Modifies existing records in the database
- Delete: Removes records from the database
Respectively, when you tick the box in the intersection of "appUsers" and "Create", this means you are allowing this selected User to Create (or add) other Users under your App.
Now, this might make sense for some projects, and for some this would be irrelevant as all Users will either "create themselves" by signing up via Login/Sign-up screen or will be programmatically created via API. But in the Admin panel, if "Create" privilege is given, this User will be able to manually add new Users into your App.
Similarly, Read allows to view the list of Users of the App. You may want to assign this privilege to certain analyst in your team who only needs a read-only access to the list of Users. They will be able to view User accounts and export them via CSV, but will not be able to edit or delete them unless you give them those privileges too.
Update means editing, in this case a certain User's record.
Delete is self-explanatory,
Remember, these privilege are all given at an Application Level, so if you give your analyst "Read" rights to Users of "MyFirstApp" and then create "MySecondApp", they will not be able to read the list of Users of "MySecondApp" until you provide them with that access.
As an Owner of your Apps you have full ACL privileges to your created Apps automatically, but this is not the case for all other Users.
"Admin" privilege
This is a special privilege we have added to CRUD pattern, so in our case it's a "CRUDA" pattern.
What this means is by giving this privilege, you provide the User with a right to give the same privilege to other Users, or remove it from other Users.
Naturally, be careful with whom you trust with "Admin" access right.
Non-applicable privileges
Now, you will notice that certain privileges checkboxes are "greyed out" and disabled.
This is because they have no utility i.e. non-applicable.
For example, "appSettings" allows you to provide other Users with access to your Admin -> Settings screens of your App. "Create" and "Delete" don't make sense here since you cannot create new Settings screens for an App and you cannot delete them. However you may want to provide another User with either a read-only access to Settings (tick "Read") or both read & write (tick "Read" and "Update").
Further we are going to go over the new design style and the proposed usability improvements.








