Experimental project

This is a sandbox project, which contains experimental code for developer use only.

Organic Groups Taxonomy Access Control Permission (og_tac_perms) provides granular per group taxonomy access control permissions for access to group content.

Module requires Organic Groups, Entity API, Entity Reference, and Taxonomy are installed. This module DOES NOT require the Taxonomy Access module

Upon install a configuration page is made available to choose which groups have TAC control, and which group content types can be controlled.

Upon selecting a group node type to have TAC control, an entity reference field, OG TAC Controller, is created. This reference field targets taxonomy vocabulary and allows choosing a controlling vocabulary for each group. When a vocabulary is chosen for the group, custom permissions will be generated and made accessible on the group permissions configuration page.

Upon selecting a group content node type to be controlled, an OG TAC Content Terms entity reference field instance is created for the types selected. After creating a piece of group content and setting the group audience reference field, the list of terms for the OG_TAC Content Terms field will be limited to terms from the parent group(s) controller vocabularies. Choosing a term for this reference field will force the group member's role to have the corresponding custom taxonomical permission in the group to gain access to the content.

Use case:
This module can be used to create per group granular vertical and horizontal permissioning structures.
For example, if you are publishing training content or files for an organization, and the organization has 3 departments, Marketing, Human Resources, and Operations.
The groups represent the horizontal structure. The user would have to be a member of a group to see the group's content. This is default organic groups.
Now if their are 4 levels of position withing each organization, for example, VP, Director, Manager, Staff you may want to target content within each group to specific positions.
In this way, only VP would have access to VP content, Managers to manager content, etc...

Basic instructions:
1) Set which groups and group content can be controllers and controlled
2) Create a taxonomy vocabulary and populate it with terms. for example create a Vocabulary 'Positions', with a term for each position
3) Create a group, and set the OG Tac Controller entity reference field to the vocabulary 'Positions'
4) Create group roles that correspond to positions
5) Set the custom OG_TAC permissions which will now be available on the group's permission configuration page, for example the Manager role may need access to content tagged with Manager, and Staff.
6) Create a node of group content, and set the OG_TAC Content Terms field with the term values representing which position permission is required to access the content

More detailed documentation is under development and will be available shortly.

Quite complicated permissions structures on a PER GROUP basis can be built using this module.

Sponsored by Skvare

Supporting organizations: 
Development and support
og_tac_admin-config.png14.52 KB
og_roles_tac_permissions.png45.27 KB

Project information