Watchers module
nav_first.pngFirst: thread:131
HTML Block
Edited: 11 Oct 2012 12:06 by: GoVegan
Comments: 0
nav_prev.pngPrevious: thread:207
Code block parsing
Edited: 30 Dec 2009 13:42 by: Gabrys
Comments: 0
Last: thread:112
Image Module
Edited: 12 Nov 2009 12:22 by: pieterh
Comments: 0
Next: thread:108
Using the Design category
Edited: 23 Dec 2009 16:09 by: pieterh
Comments: 14

Steven HeynderickxSteven Heynderickx wrote on 10 Nov 2009 15:42

Originally suggested by pieterhpieterh on 5 August 2009.

The Watchers module gives us 1-click tracking of a site, category or page. The current first version is already popular but has some limitations. This is a design sketch for an improved version of the Watchers module.


The scope is what the Watchers module covers. Currently the user can choose the scope (current site, category or page). But often the site designer knows that a certain category or page is significant.

We propose to add two arguments that allow a more specific scope:

  • Define the scope as a specific category:
    [[module Watchers category="name" ]]
  • Define the scope as a specific page:
    [[module Watchers page="name" ]]

Where "." would represent the current page or category. Only one of these arguments is allowed.

  • If the category argument is used, the module proposes "Watch name | page".
  • If the page argument is used, the module proposes "Watch name".

Selective notification

We propose to allow further selection of what exactly is watched:

  • Watch children of a specific parent page:
    [[module Watchers parent="name" ]]

The verbose option

Currently, we get all notifications (new pages, page edits, and comments). This generates too much traffic for most people, especially casual visitors.

We propose that having watched a site, category or page the user can additionally fine-tune the level of traffic by checking / unchecking the 'verbose' option (shown as 'Get all traffic?')

If the user asks for verbose notifications they see new pages, page edits, and comments. If the user does not ask for verbose notifications, they get only new pages.

The default settings for the verbose option are:

  • Watch a site: off.
  • Watch a category: off.
  • Watch a page: on, for that page only.

So it is possible to watch a site (not verbose) and then watch specific pages for more detail.

Automatic subscription

With this design, these are the cases where users would be automatically subscribed, and how would work:

  • Site owners, admins and mods: all traffic on the whole site.
  • Site members: site notifications ("Send message to all members" by admin, a capability that does not yet exist).
  • Page creator or editor: all traffic on that page.
  • Page commentor: all traffic on that page.

Complete actions

Currently, if a user is watching a site they cannot additionally watch the category or page (they only get the option to 'Unwatch site').

The Watchers module should offer all available actions. So, a site member (who has an automatic watch on the site) would see:

  • Unwatch site
  • Watch: category | page


Currently, the Watchers module shows a list of up to 20 watchers. This list is interesting for small groups but meaningless for larger groups. Additionally, the display of user icons can interfere with site visuals.

The Watchers module should optionally switch to a compact display that shows the total number of watchers, with an option to show the full list in a pop-up window: 123 watchers.

We propose to add this argument:

  • Define the limit for full watchers list:
    [[module Watchers limit="number" ]]

The limit is by default 7. Setting it to zero means the list is never shown. Setting it to a high number means the full list of watchers can be shown (presumably there would be some limit imposed by the implementation).

Additional detail

When different users request different levels of detail, this makes it harder for others to understand precisely the impact of a change. I.e. today, a page edit or comment necessarily causes an email to everyone listed. But when users can request non-verbose or verbose, this no longer follows.

We propose to show additional information after the user name, in the full visualization:

  • Users watching with verbose on show a "+" after their name.
  • Users who have disabled all notifications show a '-' after their name.

Live watch

For some sites, it is only meaningful to get notifications when one is active. For example, on a chat site. We propose to add this argument:

  • Only show and notify users who are active:
    [[module Watchers live="true" [target="pagename"] ]]

When the 'live' argument is true, three different things happen:

  1. The list of Watchers only shows users who are currently active, i.e. who have fetched a page within the last five minutes.
  2. Notifications are sent only to these watchers, not to watchers who are inactive.
  3. Notifications are sent in the top toolbar, and bypass the normal notification stream.

The top toolbar notification area will show a red information bubble, on any Wikidot page that shows the toolbar. Watchers who do not have any toolbar visible will not get the notifications. When a user clicks on the information bubble, they see a drop down list of the last ten activities, with a short fragment of user content, and a link to the activity page.

The optional target argument lets us specify a different target page for activity. For example, we may want user to jump to a ListPages summary page, if individual pages are not mean to be visible by themselves.

A site can use both the live watch and normal watch features, these work independently.

Minor fixes

  • The Watchers module says "No users watch this page" if there are no watchers; it should say "No watchers for this page" instead.

Start a new sub-thread

Specific use case (separate design?) By leiger 1 Comments 24 Dec 2009 00:39
Admin options to manage site watchers By Gustavo Olivares 3 Comments 30 Nov 2009 23:00

We discourage direct comments on this thread: to discuss it, please start a sub-thread.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License