8

I am building a straightforward Drupal 7 site that has public pages and members-only pages. There is just one kind of member. Right now access control does not need to be finer than that. It seems my choices are the modules Content Access, Nodeaccess, Simple Access, node privacy byrole, Taxonomy Access Control and Taxonomy Access Control Lite. To achieve what I need, I could control access either by role, or by using a taxonomy term like "members-only". Both would work.

All these modules are still under development for D7, and are in varying stages of (un)completion and bugginess. For some, development seems erratic or stalled. In addition, their UX's are of varying complexity for the non-sophisticated content editor.

(Another alternative to all of these modules is to create a separate content type for members-only pages, and just use the built-in content-type permissions. That seems inflexible and duplicative, but it is a way out.)

My question is a practical one, given the current reality: which one would you choose for use now or in the next few months, for this use case, and which one seems to have the brightest future?

FOLLOWUP (7 months later): After trying Content Access (CA) and Taxonomy Access Control (TAC), I settled on TAC. Content Access can do by-node access control, but the UX is not simple, and I wouldn't want to subject my editors to it. I find that using a taxonomy term to designate access can essentially be an abstraction mechanism: a single term can represent a complicated set of access choices. For one content type (calendar events), I vary the the access based on taxonomy. For another (members-only pages), I just use a one-term taxonomy vocabulary that is a required field (so its value can't change). So for me, TAC's functionality is a superset of CA. I also needed Field Permissions to selectively expose the fields in calendar events.

4

Obviously there are a lot of factors that you should consider before deciding whether a module has a "bright" future or not. A very good blog post that describes all the factors that should be considered can be found here (it's based on the old theme of drupal.org but you can still get the point).

The final decision that you'll take is kind of a "feeling" that you'll get after you 've spent a lot of hours testing modules and banging your head against the wall, only to realize that the module that you picked is not the correct one. However, I will give you the results of a small script that I have and I run in such cases. It gives you the usage count of the modules that you provide as an input, and here they are:

  • content_access: 24939 users
  • node_access: 1295 users
  • simple_access: 1623 users
  • node_privacy_byrole: 3399 users
  • taxonomy_access: 6037 users
  • tac_lite: 3397 users

Note that these results are just information pulled from the drupal.org website and you should not use them to compare the modules. They are just indications that tell you how other users "feel" about those modules that you are examining.

So, to answer your question, I would go for content access module since it supports the per-role access that you mentioned, there are tons of sites that are using it (meaning that it is highly unlikely to be discontinued), its author is someone that has done remarkable work for drupal and the D7 version was updated -relatively- recently.

P.S: if you want the script, lemme know. It's proven very handy in many cases.

  • I am interested in module "reputation", but in this case I am more interested in the technical question of which of these access modules to pick. Do you ahve a – Dan Halbert May 16 '11 at 17:22
  • Edited my post to answer directly to your question. Lemme know if you need more specific information. – F1234k May 16 '11 at 17:28
  • sorry for the truncated first comment; I hit return by accident and was revising it when you answered. – Dan Halbert May 16 '11 at 17:29
2

You might be interested in the Premium Content module, http://drupal.org/project/premium_content, which works in a way similar to what it seems you are after.

1

Providing access permission to a basic page seem's difficult in Drupal . It is however possible to grant permissions for view's created pages. Thus making it simple to just add a view instead of a basic page!! It even hides the menu item!!

  • Hiding a view from a user does not necessarily hide the nodes found by that view. Features like search may still expose nodes to the whole world. – User1 Feb 13 '13 at 0:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.