Extension:Flow

From MediaWiki.org
Jump to: navigation, search
MediaWiki extensions manual - list
Crystal Clear action run.png
Flow

Release status: experimental

2013-08-21 Flow prototype.png
Implementation Notify
Description Discussion and collaboration software
Author(s) Brandon Harris, Erik Bernhardson, Matthias Mullie, Benny Situ, Andrew Garrett
Last version alpha
MediaWiki 1.23
Database changes yes
License GPL
Download
Hooks used
LoadExtensionSchemaUpdates
Check usage and version matrix; code metrics
Bugs: list open list all report

See Flow Portal for an overview of what this extension is planned to address over time. See Flow Portal/MVP for a sketch of what the initial implementation may do.

Installing[edit | edit source]

Warning Warning: This is still under active development. We're not guaranteeing database compatibility yet. What are you hoping to achieve? Talk to the team on #wikimedia-corefeaturesconnect first.

  • Download and extract the files in a directory called Flow in your extensions/ folder. If you're a developer then instead you should use git clone to clone the extension's repository in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php:
require_once "$IP/extensions/Flow/Flow.php";
  • Run the update script which will automatically create the necessary database tables that this extension needs.
  • YesY Done – Navigate to "Special:Version" on your wiki to verify that the extension is successfully installed.

Running update.php will leave temporary /tmp/mw-UIDGeneratorUUID-UID-xx files that MediaWiki may be unable to open (bug 53791). If you get a "Permission denied" error upon first visiting a Flow board you have to delete these files.

Dependencies[edit | edit source]

  • optional: Extension:CLDR for human-friendly timestamps such as "3 days ago"
  • optional: Parsoid for the option to store posts as HTML ($wgFlowContentFormat = 'html';) which improves performance. This is how WMF wikis are configured. If you use MediaWiki-Vagrant, the easiest way to enable Parsoid is vagrant enable-role visualeditor.
  • optional: Extension:VisualEditor for experimental VisualEditor support ($wgFlowEditorList = array( 'visualeditor', 'none' );)

Verifying installation[edit | edit source]

Visit one of the pages you enabled for Flow (see #Configuration) and try adding a topic and editing its header.

Configuration[edit | edit source]

Here are some settings you need to make in LocalSettings.php.

Subject to change

You configure a wiki page to show its Flow board in place of regular page content. $wgFlowOccupyPages specifies Flow-enabled pages (use spaces, not underscores, in page titles). $wgFlowOccupyNamespaces specifies Flow-enabled namespaces (by number). For example:

 $wgFlowOccupyPages = array ( 'Talk:Main Page', 'Mywiki talk:WikiProject Flow', 'Talk:Flow QA' );
 $wgFlowOccupyNamespaces = array( NS_USER_TALK );

Permissions[edit | edit source]

Users must have the core edit permission to perform any write action in Flow. Many wikis only grant this permission to the 'user' (logged-in) or 'autoconfirmed' group.

Flow defines many actions such as edit-post and delete-topic (see the list in FlowActions.php). The permissions vary depending on whether the post is your own and whether it has been moderated. For example, by default users can edit their own posts, but only users in the 'sysop' group have the flow-edit-post permission to edit anyone's post. You can override which groups have which permissions and what permissions are required for each Flow action; see Manual:User rights for an overview of permissions.

Migrating existing pages[edit | edit source]

$wgFlowOccupyNamespaces does not affect subpages. So before or after setting this, you can use Special:MovePage to move the existing content of a talk page to an /Archive subpage without leaving a redirect, and in the header section of its Flow board, add a link to it, e.g.

Previous discussion is at [[SomeNamespace talk:Some Page/Archive]]

MediaWiki-Vagrant[edit | edit source]

There isn't yet a Flow role for MediaWiki-Vagrant (bug 59942).

If you're using MediaWiki-Vagrant, in addition to the installation and configuration above, Flow topics don't appear when you reload a board or topic (bug 59941; the fix is to set

 $wgFlowUseMemcache = false;

Architecture[edit | edit source]

See Flow Portal/Architecture.

Spam[edit | edit source]

See Extension:Flow/Spam for more information on how to fight spam in Flow.