Extension:Semantic NotifyMe

Requirements

 * MediaWiki 1.13.5
 * Semantic MediaWiki 1.4.3
 * PHP 5.x or greater installed and working
 * MySQL >= 4.0.14 (version required by MediaWiki)
 * Halo extension 1.4.4 (optional)

Installation
Edit $IP/LocalSettings.php and add:

include_once('extensions/SemanticNotifyMe/includes/SNM_Initialize.php');

Patch
Apply this patch, $IP/extensions/SemanticMediaWiki/includes/storage/SMW_SQLStore2.php

Find the following lines in function 'refreshData' if ($usejobs) { Job::batchInsert($updatejobs); } else { Add the following lines right before it. $title = SpecialPage::getTitleFor( 'SMWNotifyMe' ); $updatejobs[] = new SMWNMRefreshJob($title); E.g., $title = SpecialPage::getTitleFor( 'SMWNotifyMe' ); $updatejobs[] = new SMWNMRefreshJob($title);

if ($usejobs) { Job::batchInsert($updatejobs); } else {

DB upgrade
Generate data tables for Semantic NotifyMe


 * Run
 * php extensions/SemanticMediaWiki/maintenance/SMW_setup.php
 * Or login site as administrator, go to special page:
 * http://site_host/index.php/Special:SMWAdmin
 * Click 'Initialise or upgrade tables' button.

Special:NotifyMe


Special page 'Notify Me' can be found in 'Semantic MediaWiki' group of 'Special pages' page.


 * 1) NotifyMe extension records the query processors.
 * 2) It runs every query when semantic data has been changed inside wiki page.
 * 3) Generate report.
 * 4) * The report will be sent via mail
 * 5) * The report will also be burnt to a feed

NotifyMe will slow down the server since it costs much time going over all related 'notified queries'. Notify on key properties and values.

NotifyMe mail
User can receive notification letters, have 'Enable 'Notify Me' by E-mail' checked in NotifyMe special page.

The mail can be sent via either MW job system or OS shell.
 * set '$wgEnotifyMeJob' to true, to enable MW job system
 * set '$wgEnotifyMeJob' to false, to use OS shell, the mail will be sent asynchronous.
 * the default value of '$wgEnotifyMeJob' is set to false

Report all
Reports all the changes of semantic properties and categories on monitored pages.

Otherwise, only properties and categories inside the query will be reported.

E.g.,

If report all is checked, all changed semantic data in the tasks will be reported.
 * ?Project story
 * ?Project task end date

Otherwise, only reports the changes of
 * Category:Project tasks
 * Property:Project task end date
 * Project story

Show all
If 'show all' is checked, an overall query result is included inside the report.

Delegate
Delegate field defines the users to whom the notification report is sent.

Autocomplete is available to help on complete the delegate users.

If you want to add auto complete in delegate field, please define 'delegate user group'

Edit $IP/LocalSettings.php and add:

$smwgNMDelegateUserGroup = "{user_groups separate by comma}";

E.g., $smwgNMDelegateUserGroup = "bureaucrat,darkmatter";

RSS feed
RSS feed lists the latest 20 reports of NotifyMe.


 * Personal feed
 * Feed for page edit reports, each item shows all notifications related to one page
 * Notification feed
 * Feed for page edit reports, each item shows one notification related to one page
 * In 'show all' feeds, just return current query result of the notification.

RSS feed has no privilege management.

Apply SMWHalo QI_AddButtons hook


Notify Me adds an extra button to special page 'Query Interface' (which is inside SMWHalo Extension).

It helps on creating notifications via Query Interface.
 * Only 'formate=table', 'link=all' is valid.