Taxonomy Access Control
Access control for user roles based on taxonomy categories (vocabulary, terms).
- Automatically controls access to nodes (based on their taxonomy terms).
- Configuration page for each user role.
- Three node access permission types: View, Update, Delete.
- Two term access types: View tag, Add tag.
Drupal 7 information
7.x-1.0-rc1 is now available. It requires Drupal 7.8 or later. Thanks to the Austrian school system BIFIE for sponsoring its development.
While Drupal 7 makes support for additional databases possible, TAC does not currently support databases other than MySQL/MariaDB/etc. or Postgres. See #1266674: Support other databases
for more information.
Error when disabling or uninstalling
If you see the following error after disabling the module:
Fatal error: Call to undefined function _taxonomy_access_term_options() in /home/project/htdocs/modules/taxonomy/taxonomy.module on line 1377
Re-enable the module, update to the latest -dev release, and then re-disable and uninstall it. See #1358106: Clean up options list callback on module disable
and #1281732: Fatal error when taxonomy_options_list() tries to call an undefined callback function
for more information.
Drupal's core node access system does not allow revisioning of access control; each node's access control is based only on the current revision. TAC sets node grants accordingly.
However, since Drupal 7 fields are revisionable, this can cause confusion when accessing a prior revision of a node that has different taxonomy terms from the current revision. You may wish to consider the Field Property module, which allows administrators to configure certain fields as properties that are the same across all revisions. TAC may provide integration with this module in the future.
Possibilities for Drupal 7
- Expanded test suite in SimpleTest
- UI Improvements
- Possible merger with other projects like tac_lite (see #871572: Combine forces: merge TAC and TAC_Lite into one package in D7?
). This would potentially include features like permission schemes, user-based (rather than role-based) permissions, and so on.