I would like to associate users with a node (and make it possible for users to do this themselves) and have the result easily retrievable programmatically in a nice array( preferably with $node) and also have this in Views..

I found the following options so far

Flag has the advantage of having actions that show on node view as well, which is quite convenient.

  • 1
    What is actually your question here? As it seems you have already provided several possible solutions for the problem described in first paragraph. – Maciej Zgadzaj Sep 22 '11 at 11:35
  • Thanks Maciej, I guess looking for the "best" or the most "supported" way. So when the time comes for upgrade I wont have to do lots of work. – giorgio79 Oct 3 '11 at 13:37

It depends on your requirements.

What would not recommend is something custom like comma separated values in a textfield. Because that's probably the only option where you don't have built-in views/rules/.. support.

Most of the listed solutions require edit access to the node. If you don't want that, you'd need to write custom code which allows users to add themself.

The user and entity reference modules store their information directly in the field information of the node, which might not scale well if you expect dozens or even hundreds of linked users on a single node (because the edit form will get bigger with each referenced user). The new relation project doesn't have this limiation, because every connection is a separate relation entity, which points to both the node and the user. A possible downside of that might be the additional overhead you have, compared to a simple user reference field.

Flag then is quite different to the others. Users can add themself to a node with it easily, but there is no UI provided to add other users or manage users which flagged a specific node (AFAIK), although you might be able to build something using Views, VBO and so on.

| improve this answer | |

If you're looking for "best"/most "supported" module, have a look for each one of them what are their development and maintenance statuses, when was the last commit, how many users use each of them (Usage statistics), how many issues (especially bug reports) are still opened, how (fast) maintainers react to their issues etc. This should give you quite clear picture.

| improve this answer | |

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.