wiki:WatchlistPlugin

Version 44 (modified by martin_s, 2 years ago) (diff)

Updated wiki page for v1.0 release.

11th Mar 2012
Develop version released as v1.0 for Trac 0.12, backwards-compatible with Trac 0.11.

26rd Sep 2010
The 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
  • 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 jQuery autocomplete library.
  • The javascript library 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-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 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 jquery table sorter javascript library and its tablesorter pagination plugin.

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.

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 ticket report which only shows watched tickets is also provided.

Download

The official releases can be downloaded from here (v1.0 (Python 2.7 EGG), v1.0 (Source)).

The release files are also available on the Python Package Index.

Download the zipped source of the develop version from here.

Source

You can check out WatchlistPlugin for Trac version 0.12 (also compatible with Trac 0.11) or browse the source with Trac. The older releases, without language support and newer features, for 0.11 and 0.12 are also still available.

A normal check-out is done using:

svn co http://trac-hacks.org/svn/watchlistplugin/<trac version> 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 uninstaller (a python script) is provided to remove all created database tables. [ Direct Download ] The plugin itself can be uninstalled by removing the python egg file.

Usage

# python uninstall.py /path/to/trac/environment [-t <tables>] [-u <username>]

Optional arguments

<tables> 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 script is provided to rename a user in the DB tables created by the plugin. [ 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 <oldname> <newname>

Using it together with the 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 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:

Screenshot navigation bar holding items of WatchlistPlugin and modified item of AnnouncerPlugin.

Watchlist under [/watchlist]:

Screenshot of watchlist as of [6913].

Bugs/Feature Requests

Existing bugs and feature requests for WatchlistPlugin are here.

If you have any issues, create a new ticket.

Recent Changes

[14022] by rjollos on 2014-07-24 23:56:20
Fix test for table existence in Trac 1.0 and later. Fixes #10423.
[14021] by rjollos on 2014-07-24 23:18:19
Removed obsolete directory.
[14020] by rjollos on 2014-07-24 23:18:02
Removed obsolete directory.

Author/Contributors

Author: martin_s
Maintainer: martin_s
Contributors: hasienda (i18n, German l10n)

Attachments (2)

Download all attachments as: .zip