Field and Tab Permissions plugin for Craft CMS 3.x
A plugin that allows you to set field and tab visibility for particular user groups in the CMS.
This plugin requires Craft CMS 3.0.0-beta.23 or later.
To install the plugin, follow these instructions.
Open your terminal and go to your Craft project:
Then tell Composer to load the plugin:
composer require thejoshsmith/craft-fab-permissions
In the Control Panel, go to Settings → Plugins and click the “Install” button for FAB Permissions.
FAB Permissions Overview
This plugin allows you to restrict access to certain user groups on a per tab or field basis.
NEW - Read only access can now be set on fields.
A use case for this would be if you had an SEO tab that only digital marketers and developers should be able to access. You can turn off access to client users whilst keeping access for the marketers and developers—The SEO tab will remain hidden to clients but visible for marketers and developers.
You can alter permissions for any element that uses the core field layout designer. This includes, but isn't limited to:
- Entry Types
How does it work?
Great care has been taken to ensure the bare minimum of core functionality has been extended, but you should note that the fields service is replaced with a minimal extended version for the field and tab filtering.
Using FAB Permissions
- After installing the plugin, a new menu item will be available from the settings menu on any field layout:
- Clicking the menu item will bring up the permissions modal. Check the user groups you'd like to give access to, and click save. In this screenshot, Clients won't be able to access the SEO tab.
- A red dot is now shown in the tab, indicating permissions have been set.
- Clients no longer have access to the SEO tab.
- Fields can be restricted in the same way:
In this screenshot, the author user picker and matrix are set to read-only.
- Permissions can be cleared using the "Clear" button on the permissions modal:
FAB Permissions Roadmap
Some things to do, and ideas for potential features:
- Page that shows permissions set across all tabs/fields in the CMS
- Ability to set permissions on an individual user basis.
Brought to you by Josh Smith