Advanced Access Content Control

This is a BETA module
Please note that, while functional, it is not the full, stable release and could contain bugs.
Please be aware that its features and interface could change over time.

What is SiteFarm Advanced Access?

Advanced Access is a combination of two modules—Workbench Access (a contributed module by the Drupal community) and a custom SiteFarm module—designed to give Site Managers a way to restrict editing access by role or by user account through either taxonomy or menu structure (excluding pages using Views). Advanced Access includes a brand new role, called Section Editor, that is paired with the Contributor role to provide the necessary permissions to use this system. Users with the Editor role cannot participate in this feature and can work unaffected if this module is enabled.

Enabling SiteFarm Advanced Access

This step requires that you either have the Site Builder role or that you contact the SiteFarm team and request we enable the module for you. If you are a Site Builder, please follow the steps outlined below.

  1. Navigate to Manage » Extend.
  2. Filter for SiteFarm Advanced Access.
  3. Click Install.
  4. When the system indicates that it also needs to install Workbench Access press Continue to do so.
  5. You should receive a message indicating the module was successfully installed.

What is an Editing Scheme

Workbench Access utilizes a system called Schemes, which can be based on either your site's taxonomy or menu links. The scheme you create controls what content is included in the restricted group and allows you to control which of your users with the Contributor/Section Editor roles can edit.

Important Considerations

  • Using more than one Scheme type at a time can cause conflicts that break all of your Schemes. We strongly recommend using one or the other, but not both Menu and Taxonomy at the same time unless you take extra care that the areas of restriction do not overlap.
  • Basing your scheme on the main menu only allows you to assign users to page content that is part of that menu structure. If your main menu includes links to View (news, blogs, events, photo galleries, people directory), the content listed on the View page won't be included because its content is part of the body content and not part of the menu. Compare this to your pages (Article, Basic Page, Person page, Event page, Photo Gallery page, custom content types) which are statically present after you create, add then in the Menu Settings, and save.
  • Using taxonomy is the most versatile option and gives you the greatest amount of granular control.
  • Taxonomy based-scheme: if you want to lock your Section Editors down to ONLY the content you choose and nothing else, you MUST select all the available taxonomies/vocabularies in your taxonomy scheme settings; failing to do so means that any content type not included will still be available to Section Editors for editing.

Select and Configure your Users

We have created a specific role—Section Editor—to be used in conjunction with the existing Contributor role. The combination of these two roles provides the necessary permissions to participate in the content access process. All other roles, those provided by default or custom roles created for your site, are unaffected by the content access restrictions.

When configuring your users for content access, select BOTH the Contributor AND Section Editor roles.

No other roles should be selected.
Doing so may have unintended consequences by extending your Section Editors'
access to areas they shouldn't be able to edit.

A screenshot of the two required roles selected: contributor and section editor


Create a Menu-based Scheme

  1. Navigate to Manage » Configuration » Workflows section » Workbench Access.
  2. Click the + Add Access Scheme button.
  3. Provide a Label name and Plural Label name.
  4. From the Access Scheme drop-down menu, select Menu.
  5. Click Save.
  6. On the next screen, you will be provided with a list of menus and content types. Because Section Editors don't have administrative level access, stick to menus that relate to the main menu or to sidebars for secondary menus in subsections of your site.
  7. Check the boxes for the content types you would like to include.
  8. Click Save to finish and you will be returned to the main Scheme dashboard.
  9. Proceed to assign your users or the Section Editor role.

Create a Taxonomy-based Scheme

  1. Navigate to Manage » Configuration » Workflows section » Workbench Access.
  2. Click the + Add Access Scheme button.
  3. Provide a Label name and Plural Label name.
  4. From the Access Scheme drop-down menu, select Taxonomy.
  5. Click Save.
  6. On the next screen, you will be provided two lists: 1) your site's vocabularies and 2) the associated Entity Bundles. The easiest way to proceed is to match the vocabulary type with its related Entity Bundle. Example:
    • The Tags vocabulary could be associated with any Bundle type whose Field Name is Tags, which means you could select any combination of Article, Basic page, Person page, Photo Gallery, and/or Event.
      Example of how article related vocabularies can be associated with their related entity bundles.
      This is an example of locking down the Article type and utilizing the Article's Tags, Category, and Type as methods of assigning access.
    • Warning: Mismatching or leaving out a related vocabulary could result in a system error. If this occurs, update your selections and try again.
    • Note: Be aware that anything you do NOT select could potentially still be available to your Section Editor for editing. If you would like to lock down your entire site so you can control what Section Editors can be assigned to access, select all the vocabularies and all the entity bundles.
    • Click Save to finish.
  7. Click Save to finish and you will be returned to the main Scheme dashboard.
  8. Proceed to assign your users or the Section Editor role.

User Assignment

    Assign content by user or by role

    1. While on your main Scheme dashboard, under the Operations column, click on the Sections button for your scheme.
    2. The screenshot below illustrates a menu output with the titles EDITORS and ROLES displayed in columns. Each row can have one or more individuals assigned or the entire Section Editor role assigned.
      A screenshot showing the user and role assignment dashboard.
    3. Add individual users:
      1. Clicking on the 0 editors for any row will provide you with this screen where you can use the autocomplete field labeled Add editors to the <scheme> section to type in the user name of those to be assigned.
      2. If you need to add more than one person, separate their entries with a comma.
      3. Click the Add button when finished.
        Assign individual users by username.
    4. Add everyone in the Section Editor role:
      1. Clicking on the 0 roles for any row will provide you with this screen where you will check the role box for Section Editor. Note: do not select any other role for this entry; their permissions have not been configured to be compatible with this system.
        Assign a role to a section
      2. Click Submit when finished.

    Modify/Remove existing Section Editors

    1. To remove individual users:
      1. Click # editor for the editor(s) you want to change in a given row. The # notation indicates the number of users assigned in that section.
      2. Select the box next to the USERNAME label or the box(es) next to individual entries, then click Remove to complete the step.
        Options to remove individuals is either by entry or the entire list.
    2. To remove all access for the Section Editor role:
      1. Click 1 role for the given row. The 1 notation indicates the number of roles assigned in that section.
      2. Uncheck the Section Editor role checkbox.
      3. Click Submit when finished.

    Example Demonstration Video

     

    Tags