How best to implement "favourites" feature? (like favourite products on a data driven website)

Posted by ClarkeyBoy on Stack Overflow See other posts from Stack Overflow or by ClarkeyBoy
Published on 2010-05-19T23:53:08Z Indexed on 2010/05/20 0:00 UTC
Read the original article Hit count: 339

Filed under:
|
|
|
|

Hi,

I have written a dynamic database driven, object oriented website with an administration frontend etc etc. I would like to add a feature where customers can save items as "favourites", without having to create an account and login, to come back to them later, but I dont know how exactly to go about doing this... I see three options:

  1. Log favourites based on IP address and then change these to be logged against an account if the customer then creates an account;
  2. Force customers to create an account to be able to use this functionality;
  3. Log favourites based on IP address but give users the option to save their favourites under a name they specify.

The problem with option 1 is that I dont know much about IP addresses - my Dad thinks they are unique, but I know people have had problems with systems like this.

The problem with 1 and 2 is that accounts have not been opened up to customers yet - only administrators can log in at the moment. It should be easy to alter this (no more than a morning or afternoons work) but I would also have to implement usergroups too.

The problem with option 3 is that if user A saves a favourites list called "My Favourites", and then user B tries to save a list under this name and it is refused, user B will then be able to access the list saved by user A because they now know it already exists. A solution to this is to password protect lists, but to go to all this effort I may as well implement option 2.

Of course I could always use option 4; use an alternative if anyone can suggest a better solution than any of the above options.

So has anyone ever done something like this before? If so how did you go about it? What do you recommend (or not recommend)?

Many thanks in advance,

Regards,

Richard

© Stack Overflow or respective owner

Related posts about favorites

Related posts about .NET