Watchlist like the one on Wikipedia
|Reported by:||Martin Scharrer||Owned by:||Martin Scharrer|
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
watchlistwith user,id,realm. Id is the wiki name or ticket number and the realm is either
- 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
addbutton, otherwise an
- If the current user has a (non-empty) watchlist the main-nav should have a
watchlistbutton to point to
- 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.