So I was asked by my management to incorporate a way for users to mark pages in my website as "favorite" and have them show up in a special list. This site has a static structure (I do not generate pages). I am wondering about the best way to do that. My first thought was to store it in the database (since user information is also stored there), but I suppose I could also use the Profile properties of ASP.NET. Is there any other ways I have not considered? How would you all do it?
I'd use a database, mainly because I want to store a list of things with certain properties (specifically, a list of urls, with details on page title, user that favorited etc). Most likely I'd do something like this in my DB:
FavoritePages
*************
pageId (pk, int)
title (string)
url (string)
Favorites
*********
userId (fk)
pageId (fk)
If you use profile properties, you're maintaing a list of links for each user, basically in a (serialized?) string for each user (for that's how profile properties are stored...). If the title or url of one page changes, there's no way for you to update that and have it reflected on all the users' pages.