Modify

Opened 6 years ago

Closed 6 years ago

#4091 closed enhancement (fixed)

Watchlist like the one on Wikipedia

Reported by: martin_s Owned by: martin_s
Priority: normal Component: Request-a-Hack
Severity: normal Keywords:
Cc: Trac Release: 0.11

Description

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.


Attachments (0)

Change History (3)

comment:1 Changed 6 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 6 years ago by martin_s

  • Owner changed from anybody to martin_s
  • Status changed from new to assigned

I started now implementation of the WatchlistPlugin.

comment:3 Changed 6 years ago by martin_s

  • Resolution set to fixed
  • Status changed from assigned to closed

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.