TAC and TAC_lite have a shared core functionality. I notice also that you have had some bugs and issues in the queue that correspond to TAC bugs and issues. I think that, ideally, TAC and TAC lite should have a shared API and shared set of UI tools, with separate submodules for permissions control by roles or by individual user accounts. What do you think?

Comments

Dave Cohen’s picture

Historically, tac_lite came after TAC. Drupal introduced the node_access table, making it possible to do a lot of node access stuff more elegantly than before. So tac_lite was able to do some things with a lot less overhead than TAC module.

I think there still is, and always will be, a place for a lightweight module like tac_lite. My goal is not to be all things to all people, but to be a lightweight solution for those whose sites can use it.

In other words, I think its a good thing to keep the modules seperate.

xjm’s picture

I can appreciate that. However, a core shared module need not have heavy overhead (and of course TAC's codebase has changed significantly since the 4.x versions, plus I've made a significant reduction in its overhead in the most recent version). My concern is that a lot of effort is duplicated by having such similar functionality in two places. That's why I'd suggest a shared (lightweight) base module with two (or more) separate submodules, and possibly a shared UI.

Dave Cohen’s picture

Hey, I didn't realize you were a maintainer of TAC! I assumed you were just someone annoyed at having to choose between multiple modules. Sorry if it seemed like I was just dismissing the idea.

In theory, I'm all for one module that's flexible enough for any site. Personally I like tac_lite because it is lightweight. For example, it has no database tables. Is the new TAC that lightweight?

Maybe all that's needed is a conversion module, that helps users of tac_lite convert their settings to TAC?

xjm’s picture

Not a problem. :) TAC still creates two database tables, but my thought is that those tables (if it turns out TAC still needs them in D7) could be in the hook_install()/hook_schema() for the submodule that would be the replacement for the current TAC (for people who need a more complicated/hierarchical set of controls). You've also done some things with the TAC Lite UI that I think could benefit TAC as well. It's just a notion at this point, and it could turn out that there's not enough in common, but it's something I'm interested in exploring.

Dave Cohen’s picture

I think it's worth exploring. I created tac_lite at a point when changes to Drupal made it easier to implement. That's why tac_lite has always had fewer features than TAC (but tries to do more with them :) It could be that changes to D7 make it possible to streamline even further. For example, there's a new way to alter node_access grants before they are written to database.

I don't have a lot of time to maintain tac_lite these days. I'm preoccupied with
Drupal for Facebook. But lucklily I've kept it small so there has not been much to maintain. Usually when a complicated feature is requested, I suggest people use TAC instead.

jppi_Stu’s picture

From a site management perspective, having a taxonomy access API with submodules for using the API seems the best approach. However, I say that without looking at what it would mean code-wise, functionally, etc. I haven't contributed to any Drupal modules yet, but this is something I would seriously consider putting time and effort into supporting.

Scott J’s picture

Is there anything in Access Control List API that would help ease the way? I see that it has a version for Drupal 7 already.

Encarte’s picture

subscribing

tjharman’s picture

subscribing.
tac_lite's my favourite Drupal module!

binford2k’s picture

subscribe

brianV’s picture

subscribe.

This sounds like a great idea - if for no other reason than it might simplify the TAC vs tac_lite choices for users not familiar with the differences.

dmsmidt’s picture

Subscribe
Very powerful modules, would like to see them ported to D7, with combined efforts creating one new module, eliminating duplicate functionability.

tmuras’s picture

Would it make sense for TAC/TAC_Lite to depend on http://drupal.org/project/acl ? acl is already ported to D7.

UPDATE: I think I can answer myself. acl adds permissions per node, so I can't really be used (at the moment) as a base for TAC.

ssace’s picture

subscribe

FrequenceBanane’s picture

Hello !
This seems to me a great idea !
Do you already have a porting plan, or decided what would be in the liteweight version of TAC_Lite/TAC and what what would maybe come as a complementary module to add the other features TAC and TAC_Lite currently offers?
I don't know much of these modules, but I have some time to code (with let's say a guiding help from someone who know where this module combinaison is going ...)...

xjm’s picture

For anyone interested in chatting about the possibility of merging TAC and TAC Lite: If you're going to be at DrupalCon, I'd love to get together to compare the feature sets and architectures of the two modules, and see if it's feasible to refactor into one package with at least a shared API. Use my contact form to email me. :)

tmuras’s picture

Hi xjm,

I'm very interested but I'm not attending DrupalCon. I have already implemented a very initial version of API that merges features of TAC & TAC Lite. I've put the code on a new project "tacl": http://drupal.org/sandbox/tmuras/1079102 . I'm starting to write a documentation on http://tacl.zabuchy.net/wiki/UseCases and Ive also put an announcement to "Access Control" group: http://groups.drupal.org/node/131844 .
I'd very much like to do a join development.

Cheers,
Tomek Muras

Niklas Fiekas’s picture

Subscribe.

Taxoman’s picture

Subscribing

dankh’s picture

Subscribe

xjm’s picture

So, I posted this in a comment on my blog, but it occurs to me it'd be a lot more useful in the actual issue. ;)

TAC has a stable rc for D7 that is safe for use in production, and several hundred sites already are using it in D7. However, I'm tentatively holding it back from a 1.0 until it's more tac_lite-friendly. Steps that need to happen in TAC for this merger to be possible:

  1. Improve performance and reduce overhead -- Done as part of a major refactor for D7.
  2. Improve and simplify UX. Issues related to this effort are being tracked with the TAC UX issue tag--please help out there if you'd like to help make this happen! I've included several small novice tasks.
  3. Add per-user grant realm and access profiles -- Laid the groundwork for this in the D7 refactor, but no actual code yet.
  4. Provide upgrade path.
Dave Cohen’s picture

Project: Taxonomy Access Control Lite » Taxonomy Access Control

So does this issue belong in TAC rather than tac_lite?

xjm’s picture

Ah, good idea!

pillarsdotnet’s picture

Hmm... one year later and no progress. Is this a dead issue?

xjm’s picture

@pillarsdotnet -- Nope, it's not, but I've been busy with other things and so TAC has been a bit neglected. :) Might be D8 at this point; we'll see.

sinasalek’s picture

No progress on this it seems, but it would be great to have a combined power module :)