[[TOC]] [[html(
)]] 11th Mar 2012:: Develop version released as v1.0 for Trac 0.12, backwards-compatible with Trac 0.11. 26rd Sep 2010:: The [source:watchlistplugin/dev dev] branch got tested for PostgresSQL and MySQL backends. The DB schema is now stable for the next release. Feel free to test it out. 23rd Sep 2010:: Feature freeze for upcoming release. 15th Sep 2010:: * '''Warning:''' The DB schema in the `dev` branch is currently under development. Do not use this version for anything else than testing and be ready to loose all your watchlist data. 9th Sep 2010:: * [source:watchlistplugin/dev@8724 dev] branch is now [8724] again compatible with Trac 0.11 (and of course with Trac 0.12). Fall-back functions (No-Ops) are provided for all Trac 0.12 functions. 7th Sep 2010:: * Autocomplete of ''add'' and ''remove'' fields. This uses the [http://docs.jquery.com/Plugins/Autocomplete jQuery autocomplete library]. * The javascript library [http://www.datatables.net/ dataTables] is now used for dynamic user interaction (sorting, state saving, etc.) on the watchlist tables. * Both above features are now optional, i.e. can be disabled by the trac admin to lower the amount of code loaded. 30th Aug 2010:: * `i18n` branch is updated to a preliminary version with i18n almost finished. Tested with German translations and Trac 0.12-[t:changeset:9990 r9990]. Soon we'll publish message catalogs at Transifex as well. 27th Aug 2010:: * The `dev` branch is now for Trac 0.12. * Internationalization/localization support is currently implemented by [wiki:hasienda]. 30th May 2010:: The `dev` branch (for Trac 0.11) now supports the following features: * API for extensions to allow watching of content generated by other plugins. * Allow users to use wildcards in wiki/ticket add input field, e.g. "`Trac*`" should add all wikis starting with `Trac`. * "Delete Wiki/Ticket" input field on watchlist. * Unwatch and Notify On/Off buttons in the watchlist are now handled dynamically using jQuery Ajax. The watchlist is not reloaded for every change. 28th Oct 2009:: Watchlist tables are now ([6910],[6913]) dynamically sortable using the [http://tablesorter.com/docs/ jquery table sorter javascript library] and its tablesorter pagination plugin. [[html(
)]] [[html(
)]] '''Features in Planning''' * User specific settings with settings on watchlist page: * Redirect setting (Go to watchlist or to watched page?) * Notification settings (auto-notify-on etc.) * Maybe control over watchlist table content. [[html(
)]] = Watchlist for Wikis and Tickets = == Description == This plug-in adds a watchlist for wikis and tickets. Every logged-in user can watch any wikis 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.11/tracwatchlist/watchlist_report.sql ticket report] which only shows watched tickets is also provided. == 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 [http://pypi.python.org/pypi/TracWatchlistPlugin/ Python Package Index]. Download the zipped source of the develop version from [download:watchlistplugin here]. == Source == You can check out WatchlistPlugin for Trac version [http://trac-hacks.org/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 [http://trac-hacks.org/svn/watchlistplugin/0.11old 0.11] and [http://trac-hacks.org/svn/watchlistplugin/0.12old 0.12] are also still available. A normal check-out is done using: {{{ svn co http://trac-hacks.org/svn/watchlistplugin/ watchlistplugin }}} To export the sources replace the above `co` with `export`. Note that 0.11 is currently just a symbolic link to 0.12 because this version is also compatible with Trac 0.11. == Installation == This package can be installed using the following commands. The `easy_install` program is provided by the python setuptools (e.g. `python-setuptools` package in Ubuntu). See also TracPlugins. === Official Releases === {{{ easy_install TracWatchlistPlugin }}} === Source Versions === {{{ easy_install http://trac-hacks.org/svn/watchlistplugin/0.12 }}} === Enable Plugin === Enable the plugin in the `trac.ini` config file (or over WebAdminPlugin): {{{ [components] tracwatchlist.* = enabled }}} Then update your Trac database using: {{{ 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. [ [http://trac-hacks.org/export/latest/watchlistplugin/0.12/tools/uninstall.py Direct Download] ] The plugin itself can be uninstalled by removing the python egg file. ==== Usage ==== {{{ # python uninstall.py /path/to/trac/environment [-t ] [-u ] }}} ==== Optional arguments ==== `` stands for a comma-separated list of one or more of the DB tables `watchlist`, `watchlist_settings` and `system`. The first two are DB 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/dev/tools/rename_user.py script] is provided to rename a user in the DB tables created by the plugin. [ [http://trac-hacks.org/export/latest/watchlistplugin/dev/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 ==== {{{ # 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 wikis 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, i.e. 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`): {{{ [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: {{{ # still in [watchlist] notify_by_default = true }}} == Configuration == The following config file options are currently supported. Per-user configuration settings will be implemented soon. The (legacy) default settings are shown. {{{ [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 needed 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)]] == Bugs/Feature Requests == Existing bugs and feature requests for WatchlistPlugin are [report:9?COMPONENT=WatchlistPlugin here]. If you have any issues, create a [http://trac-hacks.org/newticket?component=WatchlistPlugin&owner=martin_s new ticket]. == Recent Changes == [[ChangeLog(watchlistplugin, 3)]] == Author/Contributors == '''Author:''' [wiki:martin_s] [[BR]] '''Maintainer:''' [wiki:martin_s] [[BR]] '''Contributors:''' [wiki:hasienda] (i18n, German l10n)