Extension:PhabTaskGraph

MediaWiki extensions manual
PhabTaskGraph
Release status: beta
Implementation Special page
Description Visualizes Phabricator task relationships in a force directed graph
Author(s) Cindy Cicalese (cindy.cicalesetalk)
Latest version 1.0 (2017-09-26)
Compatibility policy Master maintains backward compatibility.
MediaWiki 1.29+
PHP 5.5+
Database changes No
License GNU General Public License 2.0 or later
Download
  • $wgPhabTaskGraphPhabURL
  • $wgPhabTaskGraphPhabLibPath
  • $wgPhabTaskGraphConduitAPIToken
Quarterly downloads 0
Translate the PhabTaskGraph extension if it is available at translatewiki.net
Issues Open tasks · Report a bug

The PhabTaskGraph extension creates a force directed graph to visualize Phabricator task relationships.

Installation edit

  • Download and move the extracted PhabTaskGraph folder to your extensions/ directory.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/PhabTaskGraph
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'PhabTaskGraph' );
    
  • Ensure that libphutil is installed.
  • Configure as required
  •   Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Configuration parameters edit

Flag Default Description
$wgPhabTaskGraphPhabURL https://phabricator.wikimedia.org The URL of the Phabricator instance to be queried.
$wgPhabTaskGraphPhabLibPath /usr/share/libphutil/src The location on the server of libphutil.
$wgPhabTaskGraphConduitAPIToken no default value The Conduit API token used to query the server. Be sure that the Phabricator account used to create the token has appropriate privileges. The queries will be done on behalf of that account.

Functionality edit

This extension adds a special page, Special:PhabTaskGraph. You must provide a comma-separated list of task IDs (the leading T is optional) and/or a comma-separated list of projects names. You can also filter the query results by status and specify the width and height of the resulting graph.

An initial set of tasks will be queried; this set includes all of the tasks specified in the tasks list as well as all of the tasks that are tagged with all of the projects in the projects list (i.e. if the list is 'MediaWiki-Platform-Team, Epic', this will be all of the tasks that are tagged with both MediaWiki-Platform-Team and Epic). The tasks list and the projects list are independent. Every task in the query results will be further queried for all of its subtasks.

When you click submit, the extension will query Phabricator and present the results in a force directed graph. Each task is represented by a circle with the color according to the task's priority. Tasks from the original set of tasks will be presented with a blue line around their circle icon. Directed links are shown from parent tasks to their subtasks.

User Interaction edit

  • Hovering the mouse cursor over a task will make a tooltip will appear with further information about the task.
  • Alt-clicking a task will make it and all of its connected tasks (subtasks and parent tasks) be highlighted. Alt-clicking on another task or on the graph background will reverse the highlighting.
  • Shift-dragging a task will make its position on the graph will become fixed. Shift-dragging it again will release it.
  • Double clicking on a task will take you to its Phabricator page.

Embedding edit

Query results can be embedded in other wiki pages; for example, {{Special:PhabTaskGraph|tasks=166733|width=400|height=400}}. When embedding the results, the data entry form will not be shown.

Release Notes edit

Version 1.0
  • Initial release.