Release status: beta
|Description||Discussion and collaboration software|
|Author(s)||Brandon Harris, Erik Bernhardson, Matthias Mullie, Benny Situ, Andrew Garrett|
Translate the Flow extension if it is available at translatewiki.net
|Check usage and version matrix; code metrics|
|Bugs: list open list all report|
See Flow for an overview of what this extension is planned to address over time.
Installing[edit | edit source]
|Caution:||This is still under active development. We're not guaranteeing database compatibility yet. What are you hoping to achieve? Talk to the team on first.|
The easiest way to install Flow is to use the MediaWiki-Vagrant appliance and enable its flow role.
To install the extension manually:
- Download and extract the file(s) in a directory called
extensions/folder. If you're a developer and this extension is in a Git repository, then instead you should clone the repository using:
git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/Flow.git
- Add the following code at the bottom of your LocalSettings.php:
- Run the update script which will automatically create the necessary database tables that this extension needs.
- Done! Navigate to "Special:Version" on your wiki to verify that the extension is successfully installed.
Note: 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]
- required: Extension:Mantle for templating support shared with Extension:MobileFrontend
- 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' );)
- bug? if you have the VisualEditor present (e.g. perhaps to provide OOjs UI),then Flow will attempt to contact Parsoid even if VE is not enabled
- optional: Extension:Echo for notifications (e.g. replies to your post) and Extension:Thanks to "Thank" users for their posts
- optional: Flow can integrate with Extension:AbuseFilter, Extension:SpamBlacklist, and Extension:ConfirmEdit, see /Spam
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 );
This is not intended to be a permanent solution, it is targeted to the needs of the initial limited rollout.
"maximum function nesting level of '100' reached, aborting"[edit | edit source]
If you get this error, you need to set
xdebug.max_nesting_level = 200, probably in /etc/php5/apache2/php.ini .
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
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]]
Flow adds a Topic: namespace, see Extension default namespaces#Flow. You can visit Special:PrefixIndex/Topic: to see if there are existing pages that conflict with this; if so run the maintenance script maintenance/namespaceDupes.php.
Architecture[edit | edit source]
Spam[edit | edit source]
See Extension:Flow/Spam for more information on how to fight spam in Flow.
Moderation[edit | edit source]
See Extension:Flow/Moderation for more information on moderation in Flow.