Skip to content

SemanticMediaWiki/SemanticWatchlist

Repository files navigation

Semantic Watchlist

Build Status Code Coverage Scrutinizer Code Quality Latest Stable Version Packagist download count

Semantic Watchlist (a.k.a. SWL) is an extension to Semantic MediaWiki that enables users to watch semantic properties by adding a new watchlist page (Special:SemanticWatchlist) that lists changes to these properties.

Requirements

Semantic Watchlist 1.3:

  • PHP 7.3 or above
  • MediaWiki 1.35 or above
  • Semantic MediaWiki 3.0 - 4.0
  • MySQL 5+ or SQLite 3

Semantic Watchlist 1.2:

Semantic Watchlist 1.1:

  • PHP 5.3+, including PHP 7 and HHVM
  • MediaWiki 1.19 - 1.26
  • Semantic MediaWiki 2.x (and 1.9.x)
  • MySQL 5+ or SQLite 3

Installation

The recommended way to install Semantic Watchlist is by using Composer with an entry in MediaWiki's composer.json.

{
	"require": {
		"mediawiki/semantic-watchlist": "~1.0"
	}
}
  1. From your MediaWiki installation directory, execute composer require mediawiki/semantic-watchlist:~1.0
  2. Run php maintenance/update.php from your MediaWiki installation directory to create the required database tables.
  3. Navigate to Special:Version on your wiki and verify that the package have been successfully installed.

For configuration, see the configuration documentation on MediaWiki.org.

Usage

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.

Features

  • A watchlist page (Special:SemanticWatchlist) listing 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.

Find more detailed usage documentation on MediaWiki.org. Recent changes can be found in the release notes.

Contribution and support

If you have remarks, questions, or suggestions, please send them to [email protected]. You can subscribe to this list here.

If you want to contribute work to the project please subscribe to the developers mailing list and have a look at the contribution guildline. A list of people who have made contributions in the past can be found here.

Extending Semantic Watchlist

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

API modules

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

Hooks

  • SWLBeforeEmailNotify
  • SWLBeforeEditInsert
  • SWLAfterEditInsert
  • SWLBeforeChangeSetInsert
  • SWLAfterChangeSetInsert

Tests

This extension provides unit and integration tests that are run by a continues integration platform but can also be executed using composer phpunit from the extension base directory.

License

GNU General Public License 3.0 or later