Illustrated drawing of Amadeus Maxmimilian StadlerIllustrated drawing of Amadeus Maxmimilian Stadler

Amadeus Stadler

Published August 18, 2021

Every user in Mattrbld has a role which dictates what they can and cannot see in the Mattrbld UI. In this article you will learn about the defaults roles in Mattrbld and how to add your own custom roles.

As Mattrbld runs entirely on the user’s device, it is possible for them to tamper with their own roles and access restricted areas of the project and modify all sorts of files if they are willing to put in the effort and have a malicious intent. As such, the role and permission system does not provide any real security. It is merely intended as an aid to simplify the UI for non technical users and to minimise the potential for mistakes.

You are responsible for configuring the remote repository at your Git provider to ensure the safety and integrity of your content, for example by protecting branches and enforcing read/write permissions for your collaborators.

Built-In Roles and Access Levels

There are three default roles in Mattrbld that correspond to the three access levels:

  • Project Owner

  • Developer

  • Content Editor

For the time being, the Project Owner and Developer roles / access levels differ only in semantics (there always has to be at least one Project Owner), a developer can see everything a project owner can by default. The Content Editor, however, will not see the “Settings” button in the project sidebar and will not be able to access the project settings.

You can use these default roles to, for example, hide certain sidebar entries or fields from users, or have them dictate what actions will be accessible in Collections and the Media Library.

Don’t fret if you’d like some more granular control! That’s what custom roles are for.

Custom Roles

Below all the members of your project in the Users tab of the project settings, you will find the Custom Roles section. Here you’re able to create and edit custom roles.

These roles each consist of:

  • A label, which will be the value that’s displayed in the Mattrbld interface

  • A value, which represents the actual value of the role and is what will be used by Mattrbld to determine permissons

  • An access level, which can be one of the three default roles and currently only determines whether or not the user can access the project settings

Adding and Modifying Custom Roles

After adding a custom role with the “Add custom role” button on the right, it can be assigned to users in your project just like any of the default roles. If you would like to modify its details, simply click on it to edit it.

Deleting a custom role will assign the default role matching the deleted role’s access level to any users with the deleted role. So if a custom role “Foo” with an access level of “Content Editor” would be deleted while it was assigned to the user “Max”, that user would then have the role “Content Editor”.

Using Roles Effectively

While Mattrbld does not impose a limit on the number of custom roles you can create, it is advisable to only make moderate use of the feature to keep things simple. In general you shouldn’t need more than one or two custom roles in addition to the three built-in ones.

As you’ll learn in the next article, permissions in Mattrbld allow you granular control over the actions a user with a given role may perform within the Mattrbld UI.