Extension:PhabTaskGraph

MediaWiki extensions manual
OOjs UI icon advanced.svg
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
Translate the PhabTaskGraph extension if it is available at translatewiki.net

Check usage and version matrix.

Issues Open tasks · Report a bug

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

InstallationEdit

  • Download and place the file(s) in a directory called PhabTaskGraph in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php:
    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 parametersEdit

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.

FunctionalityEdit

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 InteractionEdit

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

EmbeddingEdit

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 NotesEdit

Version 1.0
  • Initial release.