MediaWiki extensions manual
Semantic Tasks
Release status: stable
Implementation Notify
Description Provides email task notifications and reminders
Author(s)
  • Steren Giannini,
  • Ryan Lane,
  • Ike Hecht,
  • Peter Grassberger
  • Thomas-topway-it
Latest version 2.1.0 (2022-9-12)
MediaWiki 1.35+
PHP 5.6+
Database changes No
Composer mediawiki/semantic-tasks
License GNU General Public License 2.0 or later
Download

GitHub:

Note:
No localisation updates are
provided by translatewiki.net .


README
Parameters
  • $wgSemanticTasksNotifyIfUnassigned
Hooks used
  • PageContentSaveComplete
  • PageContentSave

Compatibility

  • Semantic MediaWiki 3.2+

The Semantic Tasks extension works in conjunction with another extension, Semantic MediaWiki, to provide email task notifications and reminders.

Semantic Tasks was originally developed for the Creative Commons internal task- and project-tracking system ccTeamspace. Development was sponsored by KDZ - Centre for Public Administration Research and is currently sponsored by KM-A Knowledge Management Associates.

Description

  • After a task creation, users assigned to the task and following the task receive a "New Task" mail containing the task text.
  • After a task is modified, users assigned to the task and following the task receive a "Task Updated" mail containing a diff of the modification.
  • The editor of the task doesn't receive a mail after his edit.
  • If the edit is a null or minor edit, no mail is sent.

Installation

  • Install the Semantic MediaWiki extension which is requrired for this extenion to work.
  • Download and place the file(s) in a directory called SemanticTasks in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'SemanticTasks' );
    
  • Setup cron and configure as required.
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Basic usage

The extension sends email notifications to the assigned users of a page as soon as the page is modified or created with a non null and non minor edit and it contains one or more Assigned to:: properties.


(note multiple Assigned to:: users)

Notify a group

The extension also supports the assignment of task pages to groups. In order to assign a task page to a group create a page named for instance "ST group" and list in that page the assignees of that group in the following form [[Has assignee::User:User a]], [[Has assignee::User:User b]], etc., as follows:

Then set the task page as follows

Note that the properties Has assignee, Assignee to and Assigned to group must be of type page.

Status

The behavior of the Status has changed since version 2.1.0. Now the status of the task can be set to closed, as follows [[Status::Closed]], to disable notifications and reminders. Other values for the Status property, will not be evaluated by the extension.

Reminders

Reminders (i.e. background email notifications) will be sent to the assignees of a task whenever a [[Reminder at::]] or [[Target date::]] properties are set in a given day, as follows:

Note that Target date must be a future or current day date, and Status must not be set to "Closed" in order for it to work.

See section below #Cron job for the server set-up.

Configuration

The following variables are to be set in the LocalSettings.php file of your wiki. None of them are required, if not set the default values are used.

Parameters

variabledescriptiondefault
$wgSemanticTasksNotifyIfUnassignedSets whether an assignee should be notified once unassigned from a task.false

i18n

The following configuration parameters allow to set the names of the properties used by the extension to localized names suitable for the wiki instance's language or to different names suitable to the needs specific to your wiki:

variabledescriptiondefault
$stgPropertyAssignedToSets the name of the property holding the name of the user to whom the respective task was assigned to.Assigned to
$stgPropertyCarbonCopySets the name of the property holding the name of the user who should get an information about the respective task.Carbon copy
$stgPropertyTargetDateSets the name of the property holding the target date on which respective task should be completed.Target date
$stgPropertyReminderAtSets the name of the property holding the date on which a reminder for the respective task should be sent.Reminder at
$stgPropertyStatusSets the name of the property holding the status of the respective task.Status
$stgPropertyAssignedToGroupSets the name of the property holding the name of the group of users to who the respective task was assigned to.Assigned to group
$stgPropertyHasAssigneeSets the name of the property holding the name of the users assigned to a group.Has assignee

Cron job

Finally run a cron job once a day to execute the reminder script. To do so edit your crontab file:

$ crontab -e

And add the following line to execute the script every day at 12:

0 12 * * * php extensions/SemanticTasks/maintenance/checkForReminders.php
Usually the system administrator of the server servicing the respective wiki sets up the cron job. In version 2.0.0 the name of the maintenance scipt changed from "ST_CheckForReminders.php" to "checkForReminders.php". Moreover the script is now located in the "maintenance" directory of the extension.


The actual sending of the emails is performed when a task has valid assignees ( Assigned to, Carbon copy, or Assigned to group properties), Target date or Reminder at are set to the same day in which the script runs, and Status is not set to "Closed". Finally, only users who have set a valid email address in their preferences, and have confirmed it will receive emails.

See also

This article is issued from Mediawiki. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.