Extension:Semantic Watchlist

From MediaWiki.org
(Redirected from Semantic Watchlist)
Jump to: navigation, search
shortcut SWL
MediaWiki extensions manual - list
Crystal Clear action run.png
Semantic Watchlist

Release status: beta

Implementation Special page, API, User interface, Ajax
Description Watchlist and notifier for changes to semantic properties
Author(s) Jeroen De Dauw
Last version 0.1 (2011-07-30)
MediaWiki 1.17.0 or higher
PHP 5.2 or above
Database changes yes
License GNU GPL v3+
Download
Added rights
  • semanticwatch
  • semanticwatchgroups
Hooks used
LoadExtensionSchemaUpdates

SMWStore::updateDataBefore
GetPreferences
UserSaveOptions
SWLGroupNotify
AdminLinks
PersonalUrls

Check usage (experimental)

Semantic Watchlist enables users to watch semantic properties by adding a new watchlist page that lists changes to these properties. Users can choose to follow one or more watchlist groups, which are administrator defined, and cover a set of properties and a set of pages (category, namespace, or SMW concept). Notification of changes to watched properties is also possible via email.

Contents

[edit] Rationale

Even though one of the main ideas behind a wiki is that everyone can modify it, you often want to keep track of the changes made. On small wikis the RecentChanges special page often suffices for this. For bigger wikis, you might only be interested in changes to some of the articles, for example those which your are knowledgeable about, or those which contain sensitive data. The MediaWiki watchlist is a great tool for watching content on per-article basis. In semantic wikis, you might be more interested in only watching changes to semantic properties you care about. For example, on an auction wiki, the price of an item is likely more important then the free text describing it. The Semantic Watchlist extension allows for such fine-grained watching of changes.

[edit] Feature overview

[edit] Requirements

Semantic Watchlist requires:

[edit] Download

You can find the current version of Semantic Watchlist on the Google Code download page, as well as a list of legacy downloads.

You can also get the code directly from SVN. Tags can be obtained via

svn checkout http://svn.wikimedia.org/svnroot/mediawiki/tags/extensions/SemanticWatchlist/REL_version

Where 'version' is the version number of the tag, such as 0_1 (see the available tags). The latest code can be obtained from trunk:

svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/SemanticWatchlist/

[edit] Installation

Once you have downloaded the code, place the SemanticWatchlist directory within your MediaWiki 'extensions' directory. Then add the following code to your LocalSettings.php file:

# Semantic Watchlist
require_once( "$IP/extensions/SemanticWatchlist/SemanticWatchlist.php" );

After this you need to run MediaWiki's update script, which can be found at /maintenance/update.php.

[edit] Configuration

Configuration of Semantic Watchlist is done by adding simple PHP statements to your LocalSettings.php file. These statements need to be placed AFTER the inclusion of Semantic Watchlist. The options are listed below and their default is set in the Semantic Watchlist settings file. You should NOT modify the settings file, but can have a look at it to get an idea of how to use the settings, in case the below descriptions do not suffice.

[edit] Email notifications

# Enable email notification or not?
$egSWLEnableEmailNotify = true;
# Send an email for every change (as opposed to a "something changed email" for the first $egSWLMaxMails changes)?
$egSWLMailPerChange = true;
# The maximum amount of generic emails to send about changes until the user actually checks his semantic watchlist.
$egSWLMaxMails = 1;
# The default value for the user preference to send email notifications.
$wgDefaultUserOptions['swl_email'] = true;

[edit] Top link

# The default value for the user preference to display a top link to the semantic watchlist.
$wgDefaultUserOptions['swl_watchlisttoplink'] = true;
# Enable displaying a top link to the semantic watchlist?
$egSWLEnableTopLink = true;

[edit] Permissions

Semantic Watchlist adds 2 permissions to MediaWiki: one to use the semantic watchlist (ie Special:SemanticWatchlist) and one that allows configuring the watchlist groups (ie Special:WatchlistConditions).

[edit] Using the watchlist

Default:

# Users that can use the semantic watchlist.
$wgGroupPermissions['*'            ]['semanticwatch'] = false;
$wgGroupPermissions['user'         ]['semanticwatch'] = true;
$wgGroupPermissions['autoconfirmed']['semanticwatch'] = true;
$wgGroupPermissions['bot'          ]['semanticwatch'] = false;
$wgGroupPermissions['sysop'        ]['semanticwatch'] = true;

[edit] Configuring watchlist groups

Default:

# Users that can modify the watchlist groups via Special:WatchlistConditions
$wgGroupPermissions['*'            ]['semanticwatchgroups'] = false;
$wgGroupPermissions['user'         ]['semanticwatchgroups'] = false;
$wgGroupPermissions['autoconfirmed']['semanticwatchgroups'] = false;
$wgGroupPermissions['bot'          ]['semanticwatchgroups'] = false;
$wgGroupPermissions['sysop'        ]['semanticwatchgroups'] = true;
$wgGroupPermissions['swladmins'    ]['semanticwatchgroups'] = true;

[edit] Usage

[edit] The watchlist

Each user can view changes to properties they watch on Special:SemanticWatchlist, which looks and works similar to the regular watchlist. Items that have not been viewed yet on the watchlist will be indicated as 'NEW'.

[edit] Watchlist preferences

Each user can manage which watchlist groups they follow via their user preferences. They can also choose if they want to receive email notifications or not. These preferences can be found on Special:Preferences, which is linked at the right top of the page in most skins for logged in users.

[edit] Watchlist groups

The watchlist groups can be managed via the Special:WatchlistConditions page by people that have the 'semanticwatchgroups' right, by default only administrators. Each group has a name, which allows users to easily recognize the groups in their preferences, and a single category, namespace or concept it covers. Only changes to properties on pages in this category, namespace or concept will be shown to users watching this group. Each group also has a list of properties, which further restricts what property changes should be shown to the user.

[edit] Version

This is a copy of the release notes file on SVN, which might be more up to date then this page.

[edit] Version 0.1

2011-07-30

Initial release with these features:

  • Special:SemanticWatchlist showing changes to properties watched by the user.
  • Per-user optional email notification per edit that changes properties.
  • Integration with user preferences to allow users to specify which watchlist groups they want to follow, and if they want to receive emails on changes.
  • Special:WatchListConditions as administration interface for watchlist groups.
  • API module to query property changes grouped by edit for a single user.
  • API modules to add, modify and delete the watchlist groups.

[edit] Extending Semantic Watchlist

Semantic Watchlist is in part a workflow extension, which makes it important for other extensions and tools to interact with it. This is possible via the hooks and API modules Semantic Watchlist provides.

API modules:

  • addswlgroup: API module to add semantic watchlist groups.
  • deleteswlgroup: API module to delete semantic watchlist groups.
  • editswlgroup: API module to modify semantic watchlist groups.
  • semanticwatchlist: Returns a list of modified properties per page for a persons semantic watchlist.

Hooks:

  • SWLBeforeEmailNotify: $group, $user, $changeSet, $describeChanges, &$title, &$emailText
  • SWLBeforeEditInsert: &$this
  • SWLAfterEditInsert: &$this
  • SWLBeforeChangeSetInsert: &$this, &$groupsToAssociate, &$editId
  • SWLAfterChangeSetInsert: &$this, $groupsToAssociate, $editId

[edit] Internationalization

Semantic Watchlist is fully internationalized. Translation of Semantic Watchlist messages is done through translatewiki.net. The translation for this extension can be found here. To add language values or change existing ones, you should create an account on translatewiki.net, then request permission from the administrators to translate a certain language or languages on this page (this is a very simple process). Once you have permission for a given language, you can log in and add or edit whatever messages you want to in that language.

[edit] Authors

Semantic Watchlist has been written by Jeroen De Dauw as WikiWorks consultant for the IEEE.

[edit] Screenshots

[edit] External links

[edit] See also

Personal tools
Namespaces

Variants
Actions
Navigation
Support
Download
Development
Communication
Print/export
Toolbox