Visibility Settings
Visibility settings by User Type, User Roles and Custom rule conditions
Table of Contents
Where can I access Visibility Settings?
Builders can access the visibility settings for collection views & record page components across their app when in edit mode. As a builder toggle on edit mode or press (cmd + e) for Macbooks or (ctrl+e) for Windows to access these settings.
Collection View visibility settings (show / hide views from the sidebar)
First select the collection you wish to access from the sidebar, then enter into edit mode. Once in edit mode you can access the visibility settings for a Collection view as seen in the screenshot below.
Record Page Component visibility settings
Once you are viewing the correct record page, enter into edit mode (cmd / ctrl + e). Select the component on the page you wish to apply a visibility setting on. In the below example, I have selected the Highlights component visible on the Team record page for Mark Zuckerberg. Once selected, access the Visibility section highlighted in the screenshot below.
Where have my pages gone?
As a Builder, if you use a visibility setting to hide elements from your User role (Team Admin) OR from any User Role you are impersonating to view the app as - they will not appear in the UI to you.
If you wish to undo a visibility setting, you must enter into Edit mode where you will notice hidden elements via a visibility setting will appear 'greyed' from the screen. These elements are still clickable where you can access the settings as you wish.
What Visibility Settings options can I use?
There are 3 visibility settings options you can use to determine what elements of the UI a User can see. These are:
Type of User
User Roles
Custom Rules
Visibility Setting: Type of User
The Team Member flag setting on a User Role determines whether they are deemed an Internal User or an External User.
If Team Member = true they are considered an internal user, If Team Member = false they are considered an external user (i.e Client)
You can show/hide elements of the UI by the Type of User using the following options
All Users types (Internal & External)
Internal Users only
External (Client) Users only
This can be useful to show only the most relevant sidebar items or sections on a record page to the logged in User. Decluttering improves the overall user experience within your app.
Visibility Setting: User Roles
You may also show / hide UI elements to specific User Roles that you have setup in you app. By default Noloco creates a Team Admin and User role. You may create additional custom roles if you need to. Learn more about User Roles and Permissions in this guide here
Visibility Setting: Custom Rules
This is a very flexible visibility setting that allows you to define Record field criteria OR Logged in User criteria to determine when / if the UI element should be visible to the User.
You may also use multiple AND / OR custom rule statements for this visibility setting.
Record Page
On a record page, you can access the visibility settings for any component on the page. In the below screenshot example, a custom rule was setup to only display the Attachments block if the Loan purpose was 'First Time Buyer'.
Collection View
For an entire view (accessed via the Sidebar menu) you can decide which users can access it using custom rules and logged in User variables.
In the below screenshot example, a User boolean attribute called 'Credit Approval' is used to decide whether the Logged in User can access the Loan Applications area in the app.
Important: Do you use a User list?
Remember if you are using a User list to sync users from an external data source, you must fetch Logged in User attributes via the relevant User list.
In the above scenario, if the Logged in User attribute you needed existed on the Borrowers User list you must select Logged in User > Borrower > user (from Borrower) > Field Criteria e.g Credit Approval
Visibility Setting: Only show when conditions are met
On a Stages element on a record page, you can conditionally show/hide values to the User dependent on record variables or logged in User variables.
A common use case for this feature is to only show a stage value when certain record fields have been completed to ensure good data hygiene within your app.
You may also use multiple AND / OR custom rule statements for this visibility setting.
👁 Visibility vs 🔐 Security
Visibility vs. Security
Visibility settings are not security features—they are merely changes to how the front-end is displayed in your app. Do not rely on changes to the front-end display of your app for security.
Learn about secure API layer Permissions here
When you use visibility settings to show some data but not other data, your app will still download whatever data it can for the corresponding collection, even if it is not displayed in the front-end UI of your app. It is relatively straightforward to inspect this data with common tools such as your browser's developer console, so you should not rely on visibility settings to keep your data secure.
Visibility settings are used to streamline the app's interface and user experience by only showing relevant sections to relevant users.
Use visibility conditions together with user access security features such as User Roles & Permissions if you wish to securely control which data users can access, and how the data is displayed.
Learn more about secure User access in our guide here.
Last updated