Users and Roles
What is User
Before we start talking about Users, let's first differentiate the cases in which we use the term User. In the Objects section we named the person who is stored as the Object in Mobsted database the AppUser. Than in the Backend section we used the following example to understand the concept of the Backend:
The AppUser (Object) clicked the button that some printer has paper missing. And we can set up the particular Event to be created when the button is clicked and the particular Responsible Servicer (Hardware manager, who would assign the someone to go and insert the paper into the printer) to be notified (via Email or Bot) when the Event is created (read more about that in _Triggers_ section). Also, and the particular Status would be assigned to the Event created. Once the printer would be filled with the paper, the Responsible Servicer can change the Status of the Event (for example from Open to Complete) in the Backend, or by clicking the correlating button in his PWApp. After that we can say that this event was Completed.
So let's take a deeper look into this case, specially into the term "Responsible Servicer"- or Hardware manager in the above example.
The Responsible Servicer has the access to the Backend of the Mobsted platform and he/she can monitor the Events, change statuses, etc. This is what we call the User.
User - the one who is responsible for monitoring and dealing with Events as well as interacting with Objects if needed.
What is Role
The general definition of Role according to www.merriam-webster.com is "a function or part performed especially in a particular operation or process".
This outlines the Roles in Mobsted use case.
All the Users of the Mobsted are grouped into the Roles and have certain access level depending on the permissions assigned to the Role.
Using the example above we can say that the Hardware manager is the particular person or the User of the system, but his role might be called something like Hardware Manager Role.
Each User in the Mobsted platform should be assigned to some Role, otherwise the User would not be able to perform any action in the system.
Where to find Roles and Users
Users and Roles are available on the Home Screen of the Platform. Users and Roles are set for all Apps in your tenant.
Setting up the Role
To add the new Role, you should navigate to the Roles section from the Home Screen and click Add Role.
You would see the pop up with bunch of fields and checkboxes, let's take a look at the screenshot below. It was divided into 5 sections for the convenience:
- Enter Role Name: the first step is naming the Role, so you can differentiate it from one another. Try to give the Role some meaningful name like "Main Hardware Manager" or "Account Manager", so you will not be confused with the multiple Roles in the future.
- Users In This Role: if you have the Users pre-created, you would see them listed in this section. You can have as many Users in the Role as you wish.
- The Access Level Section: choose which of the sections (Objects, Constructor, Backend) the Role would have access to. For the Objects section the additional parameters for the access are provided: the Role might have the conditional access.
- Events Access Level Section: select the Events you want to be visible for the Role. For example: you don't want "Hardware Manager" to see the Event of submitting expenses, you'd rather make this visible for the "Account Manager" only.
Setting up the User
To add the new User, you should navigate to the Users section from the Home Screen and click Add New User.
After clicking the Add New User button you should see the pop up with some fields and the checkboxes. Let's take a look at each of them:
- Enter User Name: the name of the User to be entered here. Usually, it is the real name of the Person. This is mandatory field.
- Enter Email: the email of the user to be entered here. Using this email the User would be able to log in to the system. The User would be able to receive system notifications to this email as well. This is mandatory field.
- Enter Password: the password of the user to be entered here. Using this password the User would be able to log in to the system. This is mandatory field.
- Enter Phone: the phone of the user to be entered here. Using this phone number the User would be able to log in to the system. The User would be able to receive system notifications to this phone as well. This is mandatory field.
- Enter PIN: SAME THING AS PASSWORD I HAVE NO CLUE WHY WE HAVE IT AS WELL AS MY TEAM. JUST FILL IT IN CUZ IT'S MANDATORY.
- Autodetect Timezone: checkbox that would automatically determine timezone based on your location
- Timezone: set up timezone manually instead of selecting the checkbox above
- Roles In This User: if you have Roles pre-created you can assign the User to one or multiple Roles.