Question

This is related to another question that I asked before.

I'm using views to present to the user a list of nodes. The user then has to pick their top 3 choices, which I then save to a sub-list that I need to remember to show to the user later.

I was going to use Flags to mark the user's choices. I now realized that this isn't going to work well, because I may need to present to the user more than 1 list and get him to choose his top 3 choices from each. The problem is there may be overlap between the lists, so flagging wouldn't be accurate.

For example the first list may be:

Tom
Samantha
Jack
Amanda
Dave
Rory
Ted

and the second list may be this, where Rory and Samantha are overlaps from the first list:

Rory
Hugo
Samantha
Ryan
Bill

If the user needs to choose Rory as one of the top 3 in both lists (or wants to choose Rory on the first list, but not on the second list), flagging per user wouldn't work.

To create the user's list of choices, I was thinking to either:

  • let the user create a view themselves. Is that possible and how?
  • or use organic groups, which I know very little about. So my question here: are they better suited to help me with this sort of scenario?
Was it helpful?

Solution

You really don't want to give anyone access to create their own views without a lot of abstraction. I don't think you're going to get the functionality you see with Views only or Organic Groups.

You should take a look at how Core's poll module does this. It has similar functionality (allow users to select one or more choices from distinct lists). The short of it is that you're likely going to have to create your own module with its own CRUD.

But, instead of Poll functionality, which allows a user to create his or her own choices, you could use the Views API to generate the list of choices and store the view ID with the user's selection.

OTHER TIPS

I still think Flag will be okay. You can create multiple flags. So you can create a List-1-Flag and List- 2-Flag.

A separate problem you are likely to encounter will be to enforce the limit of allowing the user to only flag three nodes and no more/no less from each list.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top