the requirements are the following:

In the site we'll have groups of users, that can access content posted in their group, much like Organic Groups does.

Apart from that though, the author of each node, must have the ability to override that functionality and "invite" specific users to view the node, even if it's in a group bypassing the group's settings. So if the group contained the users U1, U2, and U2, but the author invited U2,U4 and U5, U1 and U3 wouldn't be able to access the node.

On top of that, the author must have the ability to add specific users as "facilitators" to that node which grants them "Edit" rights on the node and the ability to invite more people to view the node as described above.

By using organic groups AND node access user reference, I've been able to accomplish the grouping and either the "participants" feature OR the "facilitators" feature, since as it seems, node access user reference cannot support 2 grant types on the same node.

Now, the general advice is "you don't want to use more than one node access module on your site." (http://drupal.org/node/270000). So the idea of adding yet another one, to accomplish the missing feature sounds wrong. Also creating a custom module to encapsulate all of this functionality seems like a lot of work.

So, since I am facing a sort of a blocker in my project analysis I'd like some input on how you guys would go on about tackling such an issue. Thanks in advance.

EDIT: Seems that even the synergy of Organic Groups and node access user reference is not working as intended. Just works in public groups' content since there is no 'group_access_authenticated' record in the 'node_access' table and node access user reference handles all the grants. In private groups where for example one user (U10) can be a member of the group but NOT in the list of the node's "participants", since he has the 'group_access_authenticated' grant, he is able to view the node in question thus breaking the functionality.

1 Answer 1


Well, just for anyone who stumbles upon this in the future, DO write your own content access module. Once you grasp the logic it's quite simple and it will solve your problems while allowing you to keep the logic of other modules involved in your project. Simply copy their code/logic and set it along with the rest of your requirements with higher priority.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.