TermACL
Component ID
Component name
Component type
Maintenance status
Development status
Component security advisory coverage
Component created
Component changed
Component body
This module helps to manage access control to contents based on taxonomy terms referenced upon a content.
In situation where we need to allow view, create, edit and delete access to taxonomy terms for user roles for various contents. This module provides a second layer of acl to contents as per term reference upon user roles.
Let me explain with example.
Say we have a Vocabulary "TS Acl" with terms "T1, T2, T3, T4, T5 and T6".
Say we have a content type "TS content" with a term reference field "TS Acl".
Say we have set "node permission" for "TS content" to "authenticated user"(user role we are using in below example) with "View published content ", "TS content: Create new content", "TS content: Edit any content", "TS content: Delete any content".
Term ACL will put a 2nd layer of permission after proper permission is given at node layer. So if "authenticated user" does not have permission "TS content: Edit any content" or "TS content: Edit own content" then Term ACL will also not allow "authenticated user" to edit the content even if the term has access to edit the content.
*Term ACL is a 2nd layer of permission upon contents based upon taxonomy terms.
Now we have enabled "Vocabulary ACL" to "TS Acl".
Then for user role "authenticated user" we have set permission to terms as follows,
T1 => View, T2 => Create, T3 => Edit, T4 => Delete, T5 => None, T6 => all
1> So, if "TS content" has any of the term "T1 or T2 or T3 or T4 or T6" then the content can be viewed by the "authenticated user".
Now If "TS content" has only term "T5", then "authenticated user" cannot view the content. Hence, if any content have a term(which belongs to Vocabulary ACL) then at least one permission is needed among (View, Create, Edit, Delete) to view the content (if "View published content " is set).
2> If "TS content" has a term(which does not belongs to Vocabulary ACL) then user of any role can view the content(if "View published content " is set).
3> In the create node form, only "T2 and T6" will be available in the term reference field.
Once the content "TS content" is created with term "T2". "authenticated user" cannot edit or delete this content even if "TS content: Edit any content", "TS content: Delete any content" is set, because term "T2" has only "Create" permission.
It is mandatory that "authenticated user" must have permission to create content of type "TS content".
4> If "TS content" has term "T2,T6" or only "T6" then "authenticated user" can edit and delete the content.
It is mandatory that "authenticated user" must have permission "TS content: Edit any content", "TS content: Delete any content" OR "TS content: Edit own content", "TS content: Delete own content".
5> In edit "TS content" form "T3 and T6" will be available in the term reference field.
