Extension:CollaborativeWatchlist

From MediaWiki.org
Jump to navigation Jump to search

Other languages:
Deutsch • ‎English • ‎polski • ‎日本語
MediaWiki extensions manual
Crystal Clear action run.svg
CollaborativeWatchlist
Release status: experimental
Implementation Special page, Database
Description implements a "collaborative watchlist" special page
Author(s) flohack
License GPL
Download Template:WikimediaDownload/svn
README
Hooks used
FetchChangesList
GetPreferences
LoadExtensionSchemaUpdates
UnitTestsList
UnwatchArticleComplete
User
Mediawiki trunk Revision 90542, http://svn.wikimedia.org/svnroot/mediawiki Revision 85320
Translate the CollaborativeWatchlist extension if it is available at translatewiki.net
Check usage and version matrix.

The CollaborativeWatchlist extension allows a defined group of users ("watchers") to track changes of a defined set of "watched" pages. Changes which already have been checked by a watcher will not be displayed on the CollaborativeWatchlist to other watchers. This is especially useful for bigger wikis with editorial groups working in specific subsets of a wiki's content.

Installation[edit]

  • Download and place the file(s) in a directory called CollaborativeWatchlist in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php:
    require_once "$IP/extensions/CollaborativeWatchlist/CollaborativeWatchlist.php";
    
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Functions[edit]

Collaborative watchlists are similar to MediaWiki's default watchlist: they show changes in a list of pages or as it is the case with the CollaborativeWatchlist in articles and categories, watching categories simply places all articles from the category on the watchlist. The main advantage of the CollaborativeWatchlist are per user watchlists this allows a group of trusted users to observe changes. Therefore only one watcher is needed to check if a change is correct, and then this article is removed from the collaborative watchlist. Double checking of articles by two ore more already trusted users is prevented. Every "watcher" can log in to the CollaborativeWatchlist tool. Watchers can select the watchlists belonging to them as defined by the administrator. There should be a standard watchlist for every user, that gets selected on every login.

Permissions/Users[edit]

Wikipedia users will be able to create collaborative watchlists and gain the status Owner (watchlist administrator) for the list created. Watchlist Administrators can add/remove other users to lists they have created (they have administrator rights) as well as flag them as Watchlist Administrators. A third user role is the TrustedEditor, watchlist owners can flag wikipedians to not show up in their shared watchlist, this is similar to the option "do not show bot edits" on the standard watchlist.

  • Owner - remove/delete users, give Owner rights to other users
  • User - see watchlist, mark off entries, flag TrustedUsers, add tags
  • TrustedUser - edits are hidden on shared watchlist

Every CollaborativeWatchlist user shows up as an entry in "edit Listusers" (permissions page for a newly created collaborative watchlist). Permissions are shown as (O,U,T) prefix to his Wikipedia user name.

Categories[edit]

In contrast to the standard watchlist the CollaborativeWatchlist is based on the category system of MediaWiki. This allows users to watch all articles of a topic instead of a selection of single articles, selecting single articles for watching is still possible. CollaborativeWatchlists default behavior is to watch categories recursively (sub-categories are included), this can be turned off for given categories or even sub-categories.

This is selectable via the edit categories and edit category format on the administration page of the watchlist.

Every category/article/wikipage is entered on a single line at edit category format, prefixed by it's namespace, for example Wikipedia:About.

An example for watching a category tree:

Category:Mammals
-Category:Mice
Shrew

Every article in "Mammals" is watched, except the sub-category "Mice", "Shrew" would be unwatched as it is in the sub-category "Mice", this is prevented by adding "Shrew" to the watched pages.

Tagging[edit]

Owners of a collaborative watchlist can define tags for their shared watchlists. This allows users to add tags to edits done on watched pages. Currently there is no tag limit. Tags are entered via Listformat edit tags and can have a description. Every Tag is entered on its own line, everything that follows after the pipe symbol "|" is added as description. This allows the watchlist to be grouped and filtered by tags (show/hide specific tags).

Tagging example:

4eyes|four-eyes
reviewOK|Review ok

This would allow users to tag edits with "4eyes", indicating that another watchlist user should review the edit and then set "reviewOK", allowing users to hide everything that was reviewed by at least one user on the watchlist.

Watchlist[edit]

The Watchlist has the same functionality as the standard MediaWiki one, small edits can be hidden or bot edits. Additionally it shows tags added by other users of the same watchlist and allows adding tags to watched articles. Filtering is done via hide/show selected tags.

CSS[edit]

Tags can be highlighted via user defined stylsheets.

.mw-collabwatchlist-tag-marker {
       color: green;
}
.mw-collabwatchlist-tag-marker-4eyes {
       background: transparent url(images/feed-icon.png) no-repeat scroll left
               center;
       padding-left: 16px;
}

Implementation[edit]

CollaborativeWatchlist is implemented as a Special page in MediaWiki, ongoing development is fully funded by Wikimedia Austria. The resulting implementation will be released under a license approved by the Free Software Foundation, preferably GPL.

Public Beta[edit]

If you are a representative of a local Wikimedia foundation and you are interested in the public beta, please add a link to the Wikipedia you would like to have the extension deployed on and information how to contact you.