[[PageOutline(2-5,Contents,pullout)]] = Watchlist for Wikis and Tickets == Description This plugin adds a watchlist for wikis and tickets. Every logged-in user can watch any wiki page and ticket. The watchlist is provided under `[/watchlist]` which is also added to the main navigation bar. To insert a watchlist style table into wikis use the ListOfWikiPagesMacro. A special [source:watchlistplugin/0.12/tracwatchlist/watchlist_report.sql ticket report] which only shows watched tickets is also provided. == Bugs/Feature Requests Existing bugs and feature requests for WatchlistPlugin are [report:9?COMPONENT=WatchlistPlugin here]. If you have any issues, create a [/newticket?component=WatchlistPlugin new ticket]. [[TicketQuery(component=WatchlistPlugin&group=type,format=progress)]] == Download The official releases can be downloaded from [/svn/watchlistplugin/releases here] ([/svn/watchlistplugin/releases/TracWatchlistPlugin-1.0-py2.7.egg v1.0 (Python 2.7 egg)], [/svn/watchlistplugin/releases/TracWatchlistPlugin-1.0.tar.gz v1.0 (Source)]). The release files are also available on the [pypi:TracWatchlistPlugin/ Python Package Index]. Download the zipped source of the develop version from [export:watchlistplugin here]. == Source You can check out WatchlistPlugin for Trac version [/svn/watchlistplugin/0.12 0.12] (also compatible with Trac 0.11) or [source:watchlistplugin browse the source] with Trac. The older releases, without language support and newer features, for [/svn/watchlistplugin/0.11old 0.11] and [/svn/watchlistplugin/0.12old 0.12] are also still available. A normal check-out is done as follows: {{{#!sh svn co https://trac-hacks.org/svn/watchlistplugin/ watchlistplugin }}} To export the sources, replace `co` with `export` in the line above. Note that 0.11 is currently just a symbolic link to 0.12 because this version is also compatible with Trac 0.11. == Installation General instructions on installing Trac plugins can be found on the [TracPlugins#InstallingaTracplugin TracPlugins] page. === Enable Plugin Enable the plugin in the `trac.ini` configuration file (or over WebAdminPlugin): {{{#!ini [components] tracwatchlist.* = enabled }}} Then update your Trac database: {{{#!sh trac-admin /path/to/trac/environment upgrade }}} === Uninstall Plugin An [source:watchlistplugin/0.12/tools/uninstall.py uninstaller] (a Python script) is provided to remove all created database tables ([export:watchlistplugin/0.12/tools/uninstall.py Direct download]). The plugin itself can be uninstalled by removing the Python egg file. ==== Usage {{{#!sh $ python uninstall.py /path/to/trac/environment [-t ] [-u ] }}} ==== Optional arguments `` stands for a comma-separated list of one or more of the database tables `watchlist`, `watchlist_settings` and `system`. The first two are database tables created by the plugin, while the last holds the watchlist version. Only the given tables are deleted: the `system` table is not deleted of course, only the `watchlist_version` entry is removed. By default all three tables are affected. The watchlist data of only a single user can be deleted using the `-u` option which takes the username as argument. === Rename user names A [source:watchlistplugin/0.12/tools/rename_user.py script] is provided to rename a user in the database tables created by the plugin ([export:watchlistplugin/0.12/tools/rename_user.py Direct download]). Please note that no other tables or settings are affected. Renaming to an already existing username will result in an error if both watchlists share identical content. ==== Usage {{{#!sh $ python rename_user.py /path/to/trac/environment }}} == Using it together with the AnnouncerPlugin ==#AnnouncerPlugin If the AnnouncerPlugin is used to receive change notifications the watchlist allows the user to easily change notification setting of watched wiki pages and tickets. If this feature (#4744) is enabled, an extra column appears in the watchlist, which informs the user about the current setting (On/Off) and allows him/her to change it. Watching and notifications can be independent, ie users can have themselves notified about changes of a wiki page which is not on their watchlist or vice versa, but can also be linked together as shown below. To enable notification settings in the watchlist install the AnnouncerPlugin in revision [6916] or later and write the following into your Trac configuration file `conf/trac.ini`: {{{#!ini [announcer] # Rename announcers context navigation items (empty list removes them): ctxtnav_names = [watchlist] notifications = true display_notify_navitems = true }}} To enable notifications by default for all entries in the watchlist (see #6052) also add: {{{#!ini # still in [watchlist] notify_by_default = true }}} == Configuration The following config file options are currently supported. Per-user configuration settings is to be implemented. The (legacy) default settings are: {{{#!ini [watchlist] notifications = false # Notification support on/off, see above notify_by_default = false # Enable notifications about all watchlist entries, see above display_notify_navitems = false # Display own notification menu items display_notify_column = true # Display notification column in watchlist tables stay_at_resource = false # Stay at wiki or ticket page after watch/unwatch etc., otherwise go to watchlist page show_messages_on_resource_page = true # If stay_at_resource is true show action messages on resource page show_messages_on_watchlist_page = true # If stay_at_resource is false show action messages on watchlist page show_messages_while_on_watchlist_page = true # Show messages about changes done on the watchlist page }}} === Watchlist Report A ticket report can be added to list all watched tickets of the current user. This is not done automatically at the moment. However, the SQL code for a manual installation can be taken from [source:watchlistplugin/0.11/tracwatchlist/watchlist_report.sql this file]. === Usage Browse any wiki or ticket and click ''Watch'' in the context navigation bar. To unwatch a wiki or ticket browse to it and click ''Unwatch'' in the context navigation bar or click the corresponding ''Unwatch'' link in the watchlist. In order to see the watchlist click on the ''Watchlist'' button on the main navigation bar. This button will only be displayed for logged in users. The watchlist will be displayed under the location `/watchlist`. Therefore it can be linked to from a wiki page using `[/watchlist]`. == Screenshots Navigation bar items for a unwatched wiki page: [[Image(watchlist.2.png)]] Watchlist under `[/watchlist]`: [[Image(watchlist.png)]] == Recent Changes [[ChangeLog(watchlistplugin, 3)]] == Author/Contributors '''Author:''' [wiki:martin_s] [[BR]] '''Maintainer:''' [[Maintainer]] [[BR]] '''Contributors:''' [wiki:hasienda] (i18n, German l10n)