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:
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.