Extension:Semantic Tasks

Category:Extensions without an imageCategory:Extensions without a compatibility policyCategory:GPL licensed extensions
MediaWiki extensions manual
Semantic Tasks
Release status: stableCategory:Stable extensions
Implementation NotifyCategory:Notification extensions
Description Provides email task notifications and reminders
Author(s)
Maintainer(s) SMW Project
Latest version 2.1.0 (2022-9-12)
MediaWiki 1.35+Category:Extensions with manual MediaWiki version
PHP 7.3+
Database changes No
Composer mediawiki/semantic-tasksCategory:Extensions supporting Composer
License GNU General Public License 2.0 or later
Download Category:Extensions in GitHub version control
README
  • $wgSemanticTasksNotifyIfUnassigned

Compatibility

  • Semantic MediaWiki 3.2
Category:All extensions

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 maintained 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

It is also possible to install this extension using Composer. See the instructions.

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

Category:Semantic MediaWiki extensions Category:Task extensions
Category:All extensions Category:Extensions in GitHub version control Category:Extensions included in Canasta Category:Extensions supporting Composer Category:Extensions with manual MediaWiki version Category:Extensions without a compatibility policy Category:Extensions without an image Category:GPL licensed extensions Category:MultiContentSave extensions Category:Notification extensions Category:PageSaveComplete extensions Category:Semantic MediaWiki extensions Category:Stable extensions Category:Task extensions