Extension:Semantic NotifyMe

From MediaWiki.org
Jump to: navigation, search
MediaWiki extensions manual
Crystal Clear action run.png
Semantic NotifyMe

Release status: beta

Implementation Special page, Notify, Ajax, Database
Description NotifyMe allows users to get real-time notifications on semantic property-value changes. NotifyMe is a spinoff extension of SMW (Semantic MediaWiki) extension and Halo extension.
Author(s) Ning Hu (dch), Justin Zhang, Jesse Wang
Latest version 0.5.3 (2010-11-16)
MediaWiki 1.13.5 or greater (tested up to 1.15.1)
License GPLv2
Download host sponsored by Vulcan, main download site svn
Hooks used
ArticleDelete

ArticleSave
ArticleUndelete
ArticleSaveComplete
QI_AddButtons
smwInitializeTables
BeforePageDisplay

Translate the Semantic NotifyMe extension if it is available at translatewiki.net

Check usage and version matrix; code metrics

NotifyMe allows users to get real-time notifications on semantic property-value changes. NotifyMe is a spinoff extension of SMW (Semantic MediaWiki) extension and Halo extension

Support[edit | edit source]

The recommended way to get support is to email the SMW Wiki user group semediawiki-user@lists.sourceforge.net with email subject line starting with [NotifyMe]. It'll help us find the email faster, and increase the visibility of the issue to be seen and respond by other people in community.

Alternatively, if you know the email addresses of the authors, please feel free to email them directly.

Requirements[edit | edit source]

  • MediaWiki Between 1.13.5 and 1.15.1
  • Semantic MediaWiki == 1.4.3
  • PHP >= 5.x
  • MySQL >= 4.0.14 (version required by MediaWiki)
  • Halo extension == 1.4.4 (optional)

Installation[edit | edit source]

Edit $IP/LocalSettings.php and add:

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

Patch[edit | edit source]

Apply this patch, (for SMW refresh)

 $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[edit | edit source]

Generate data tables for Semantic NotifyMe

Special:NotifyMe[edit | edit source]

Notify Me.jpg

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.
    • The report will be sent via mail
    • The report will also be viewed as a feed

NotifyMe can slow down the server since it takes time to go over all related registered queries, but it will only do so for writes on related properties and values. For wikis that do not have lots of writes, and lots of notification queries, the performance degradation is usually ignorable.

NotifyMe mail[edit | edit source]

User can receive notification email, it is done by 'Enabling '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

Option: Report all[edit | edit source]

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.,

[[Category:Project tasks]]
| ?Project story
| ?Project task end date

If report all is checked, all changed semantic data in the tasks will be reported.

Otherwise, only reports the changes of

  • Category:Project tasks
  • Property:Project task end date
  • Project story

Option: Show all[edit | edit source]

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

Delegate[edit | edit source]

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[edit | edit source]

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[edit | edit source]

Notify Me QueryInterface.jpg

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

You can also create notifications via Query Interface.

  • Only 'formate=table', 'link=all' is valid.

Q&A[edit | edit source]

Page links in notification uses 'localhost', which is not accessible via mails and rss readers[edit | edit source]

Some server deployed extensions may modify wiki pages on server side. If $wgServer is not set, server uses 'http://localhost' by default.

Set $wgServer in LocalSettings.php will fix.

See also[edit | edit source]

External links[edit | edit source]

[1]