The project, located at http://drupal.org/sandbox/tmuras/1079102 is taxonomy-based access control for Drupal 7. It focuses on building a common framework/API for taxonomy-based modules - it contains "tacl" module, which is only providing an API and "tacl_user" which is a front-end.
The API is as flexible as possible, it includes features of two similar projects: Taxonomy Access Control and Taxonomy Access Control Lite. My hope is that all 3 projects can be merged, and at some point the project may even be merged with similar effort: ACL module.
The group discussion (not very active :) is set up on http://groups.drupal.org/node/131844 .

Comments

tmuras’s picture

Status: Active » Needs review

The module is ready for review, it contains API module "tacl" and frontend "tacl_user". There is a lot of things on my TODO list for the module but it's ready for the alpha release already. I will be working on the improvements as times goes by, and hopefully with the community help.
It has been run by coder module and all warnings were fixed.
Module is covered unit tests, all of them pass at the moment.

Criticism welcome.

tmuras’s picture

Anyone interested in reviewing the module? I offer a (free) beer for the review! :-)

dave reid’s picture

I don't really get from your application what actually sets this apart from the existing TAC and TAClite. If you say you're looking to merge the work together eventually, have you already discussed with the maintainer of TAC if you could help with the Drupal 7 version and helping make it more of an API?

tmuras’s picture

Component: new project application » module

Thanks for the reply Dave.

1. TAClite has a very basic functionality, I needed much more than that.
2. TAC is much closer to what I need. I did talk to TAC maintainer Jess (xjm). Unfortunately she is now only concerned with porting existing (or subset of) TAC to Drupal 7. It will be a while when she can start working on new features. I have studied existing TAC code and I don't see an easy way to introduce the additional features I need into TAC. Those features would be:

  • handling both per-user and per-role permissions
  • handling multiple terms and vocabularies for the same node
  • a choice of how the allow/deny logic is applied (to allow for scenarios like http://drupal.org/node/868912)
  • with the flexible rules above, keep the scalability - I need it to work with thousands of nodes

Another difference is that TACL is split between API module and front-end modules.

So - the only way I see it working is to create another module, with the API separation and merge it with TAC at some point, when both myself and Jess are happy with the code stability. Looking at the pace of the progress it will probably happen not earlier than for Drupal 8 version.

I would appreciate community thoughts on it.

ralt’s picture

Priority: Normal » Critical

Changing priority according to the new priority guidelines.

davidhernandez’s picture

"the only way I see it working is to create another module, with the API separation..."

We really are trying to do our best to limit module duplication, so if you are aware that you are recreating some functionality of another module, and have the possibility of eventually merging with that module, and are able to make your changes as an add-on to the original module, that sounds like a better option. If I read right.

tmuras’s picture

I'm all for reducing module duplication but I don't see how I can implement it as add-on to TAC. What I was implementing here is much more complex that current TAC - but I think at this point I should re-assess my original intentions behind this contribution.

My only motivation for implementing it is to contribute a useful module to Drupal community but now I see that:
* there is little/no interest in (let's call it) advanced taxonomy based ACLs
* adding this module may cause some confusion among the end users

I think that it may be the best for me to give up the idea now and kill the project.

tmuras’s picture

Status: Needs review » Closed (won't fix)

I have decided to kill the project - closing the issue.
Thanks for all the comments!