Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
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
Comment #1
Dave Cohen CreditAttribution: Dave Cohen commentedHistorically, 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.
Comment #2
xjmI 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.
Comment #3
Dave Cohen CreditAttribution: Dave Cohen commentedHey, 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?
Comment #4
xjmNot 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.
Comment #5
Dave Cohen CreditAttribution: Dave Cohen commentedI 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.
Comment #6
jppi_Stu CreditAttribution: jppi_Stu commentedFrom 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.
Comment #7
Scott J CreditAttribution: Scott J commentedIs there anything in Access Control List API that would help ease the way? I see that it has a version for Drupal 7 already.
Comment #8
Encarte CreditAttribution: Encarte commentedsubscribing
Comment #9
tjharman CreditAttribution: tjharman commentedsubscribing.
tac_lite's my favourite Drupal module!
Comment #10
binford2k CreditAttribution: binford2k commentedsubscribe
Comment #11
brianV CreditAttribution: brianV commentedsubscribe.
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.
Comment #12
dmsmidtSubscribe
Very powerful modules, would like to see them ported to D7, with combined efforts creating one new module, eliminating duplicate functionability.
Comment #13
tmuras CreditAttribution: tmuras commentedWould 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.
Comment #14
ssace CreditAttribution: ssace commentedsubscribe
Comment #15
FrequenceBanane CreditAttribution: FrequenceBanane commentedHello !
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 ...)...
Comment #16
xjmFor 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. :)
Comment #17
tmuras CreditAttribution: tmuras commentedHi 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
Comment #18
Niklas Fiekas CreditAttribution: Niklas Fiekas commentedSubscribe.
Comment #19
Taxoman CreditAttribution: Taxoman commentedSubscribing
Comment #20
dankh CreditAttribution: dankh commentedSubscribe
Comment #21
xjmSo, 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:
Comment #22
Dave Cohen CreditAttribution: Dave Cohen commentedSo does this issue belong in TAC rather than tac_lite?
Comment #23
xjmAh, good idea!
Comment #24
pillarsdotnet CreditAttribution: pillarsdotnet commentedHmm... one year later and no progress. Is this a dead issue?
Comment #25
xjm@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.
Comment #26
sinasalek CreditAttribution: sinasalek commentedNo progress on this it seems, but it would be great to have a combined power module :)