Watchlist like the one on Wikipedia
|Reported by:||martin_s||Owned by:||martin_s|
Logged-in users should have an entry on the meta-nav-bar which allows them to add or remove the current wiki page to a personal watch list. Then there should be a page (e.g. /watchlist) which displays all the watched wiki pages with name, last change date and author, as well as links to diffs and a remove button, etc. See http://en.wikipedia.org/wiki/Special:Watchlist for reference.
Adding tickets to the watch list would be an additional feature.
My thought about the implementation:
- Create table watchlist with user,id,realm. Id is the wiki name or ticket number and the realm is either wiki or ticket (IEnvironmentSetupParticipant).
- Implement an INavigationContributor to add a meta-nav link for all wiki or ticket pages. If the wiki or ticket isn't already watched it should be an add button, otherwise an remove button.
- If the current user has a (non-empty) watchlist the main-nav should have a watchlist button to point to /watchlist.
- The watchlist is displayed using an IRequestHandler and a SQL query like: select name,author,MAX(time) from wiki where name in (select id from watchlist where user = 'martin' and realm = 'wiki') group by name order by time;.
- An custom Genshi template can be used for this (ITemplateProvider).
I might implement it by myself if I find the time.
Change History (3)
comment:1 Changed 8 years ago by martin_s
- Summary changed from Watch list like the one on Wikipaedia to Watchlist like the one on Wikipedia
comment:2 Changed 8 years ago by martin_s
- Owner changed from anybody to martin_s
- Status changed from new to assigned