Extension:Semantic NotifyMe

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

Release status:Extension status unmaintained

ImplementationTemplate:Extension#type Special page, Notify, Ajax, Database
DescriptionTemplate:Extension#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)Template:Extension#username Ning Hu (dch), Justin Zhang, Jesse Wang
Latest versionTemplate:Extension#version 0.5.3 (2010-11-16)
MediaWikiTemplate:Extension#mediawiki 1.13.5 or greater (tested up to 1.15.1)
LicenseTemplate:Extension#license GNU General Public License 2.0 or later
Download host sponsored by Vulcan, main download site svn
Hooks usedTemplate:Extension#hook
ArticleDeleteManual:Hooks/ArticleDelete
ArticleSaveManual:Hooks/ArticleSave
ArticleUndeleteManual:Hooks/ArticleUndelete
ArticleSaveCompleteManual:Hooks/ArticleSaveComplete
QI_AddButtons
smwInitializeTables
BeforePageDisplayManual:Hooks/BeforePageDisplay

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

Check usage and version matrix.

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]

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]

  • 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 $IP/LocalSettings.php and add:

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

Patch[edit]

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]

Generate data tables for Semantic NotifyMe

Special:NotifyMe[edit]

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]

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]

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]

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

Delegate[edit]

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]

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]

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]

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

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]

External links[edit]

[1]