Arbitrary Lists of Drupal Users

Events happening in the community are now at Drupal community events on www.drupal.org.
mrf's picture

We already have flag and nodequeue, but there is no easy way for an end user to create arbitrary lists of other users.

This would probably use flag's api on the back end, but provide a super easy interface to manage these lists without exposing all the details to the end user.

Have a look at what Facebook and Twitter do with their user lists for inspiration of what is possible with this kind of feature.

The idea came up in this User Relationship issue but I think this would make a really useful module on its own.

Comments

Not entirely sure what you're

Garrett Albright's picture

Not entirely sure what you're asking. Are you thinking of a system to allow users to "like" other users or something like that? If so, why do you think that Flag (plus Views to display the flagged users) is not sufficient?

Mostly a UI problem

mrf's picture

I think the bulk of the work is a UI problem that needs to be solved. As far as I can tell from the Flag API docs I can allow a site user to create a flag and flag a group of users against that flag immediately after it is created. What needs to happens is a simple unified interface for making all this happen in an easy way and that is available to non-admin users.

I want to visit a page that lists a bunch of users. At the top of the page I'd want the ability to add a new arbitrary list lets call it "people I met at Drupalcon Chicago". I click the checkboxes next to each person I met and they are added to my brand new list.

Have you looked at user

caschbre's picture

Have you looked at user relationships (http://drupal.org/project/user_relationships)? You can set that up to allow for one-way relationships (i.e. follow user) and I believe the user can create different types of relationships (i.e. people I met...). I haven't used it in a while but I thought that was a feature.

You may also want to check out flag friend and see if that offers the capability.

Spin off module from UR

mrf's picture

The original inspiration for this module came out of this feature request in the User Relationships queue. Users there requested the ability to sub-categorize people within their relationship lists (this feature had existed in earlier buddy list type modules), and I figured rather than adding yet another piece of marginally related functionality to a complicated module why not create a generic method for grouping users that UR could leverage.

The main reason I see for doing this as a separate module is the flexibility you find with Twitter lists, putting someone on a list doesn't necessarily imply a relationship, nor should it. That, and there isn't any ability in User Relationships for non-admins to create new private relationship types, that comes almost for free with flag api's access controls.

As you can probably tell I've already put a lot of thought into this and might end up doing this module myself at some point, but I'm trying to restrain myself until my other projects are a little further along and was hoping someone else would get the ball rolling in the meantime.

We can start with list of

ajayg's picture

We can start with list of users, but I think there is a need to a generic list builder module. A list of stories, pages, nodes whatever. Flag almost provides the flow/functionality in terms of one click adding of entities/nodes to a flag list. But it does not allow arbitrary creation of new flags. It only allows predefined flags.

What would be ideal is to extend (if possible) Flag API such that

Site admin create a Flag type (not a flag name). he should could give a default name.
Users can create many Flags based on the Flag type. These Flags (instanances of Flag type) are unique for the user (we can start with private flags but may extend to public).
users can then create their own lists and use whatever way they want to use that group.

Possible use cases
-A user creating a subset of their friends , add to a list (that only he/she can see) and track them seperately or give them different access right etc.
-A buyer can adding only some product to their wishlist
-A buyer can create his/own list of specialized products (like public list by users on Amazon. e.g list of management books by user A)
-A reader can created a list of his/her own top10 list: My top10 nodes on publisher site xyz.com

taxonomy

ajayg's picture

Another option is something taxonumy based which is native to drupal and can be attached to different entities. So you can create a free form taxonomy and attach to the the node or users. They trick is how a user can name it whatver they wish , have control over the keywords used and able to attach to the list. In fact this option is looking better than flags since taxonomy is much core to drupal.

Already Exists

mrf's picture

Happened upon User Queue today which fills this need.

Contributed Module Ideas

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: