Extension:LiquidThreads

MediaWiki extensions manual
LiquidThreads
Release status: unmaintained
Implementation Page action , Special page , API
Description Implements a structured discussion system
Author(s) David McCabe, Andrew Garrett
Latest version 2.2-alpha (2014-03-28)
MediaWiki 1.29+
PHP 5.4+
Database changes Yes
Tables thread
thread_history
thread_pending_relationship
thread_reaction
historical_thread
user_message_state
License GNU General Public License 2.0 or later
Download
README
Help Help:Extension:LiquidThreads
  • $egLqtNamespaceNumbers
  • Merge threads (lqt-merge)
  • Reply to threads (lqt-react)
  • Split threads (lqt-split)
Quarterly downloads 6 (Ranked 131st)
Translate the LiquidThreads extension if it is available at translatewiki.net
Issues Open tasks · Report a bug

The LiquidThreads (LQT) extension implements a precursor threaded discussion page system.

Warning Warning: This extension is currently incompatible with temporary accounts.

History

edit

The original code was developed by David McCabe under sponsorship from the Google Summer of Code 2006, the Commonwealth of Learning, and Wikia . However, David McCabe is no longer involved with this project.

The original LiquidThreads code was substantially improved and augmented by Andrew Garrett at the Wikimedia Foundation since May 2009. The latest stable release of the LiquidThreads extension is LQT 2.0, described on this page. LQT 2.0 is the version currently being used on several Wikimedia wikis, and was used in the strategic planning process.

In January 2011, work on LiquidThreads 3.0 was begun at the Wikimedia Foundation. LQT 3.0 was being developed, with Andrew Garrett as the lead developer, but is now suspended. The last commits to LQT3's branch (lqt-updates) were in September 2011. Development by the Foundation has been discontinued.

User documentation

edit

To activate LiquidThreads on a specific page on a wiki where LiquidThreads is opt-in, add the following to the page's source code:

{{#useliquidthreads:1}}

To deactivate LiquidThreads on a specific page on a wiki where LiquidThreads is opt-out add the following to the page's source code:

{{#useliquidthreads:0}}

Comprehensive user documentation will be developed when LiquidThreads has a finalised (or remotely stable) interface.

Rationale

edit

Wiki discussion pages have some advantages over web and Usenet forums:

  • They allow use of the entire wiki syntax, from images to links to transclusions.
  • It is possible to refactor entire discussion pages.

But web forums offer many more advantages over the MediaWiki talk page model:

  • Threads can be displayed in different views: flat, nested, sorted by date, subject, etc.
  • The user only needs to click a "Reply" button or link in order to respond to a comment. Manual indentation is not required. Quotations from the source comment can be inserted automatically.
  • Comments are automatically signed and dated.
  • Avatars are possible (but not yet created).
  • The user can watch individual threads or be notified about responses in threads.
  • Comments and threads can be displayed individually, without the surrounding page.
  • Old comments are archived automatically and invisibly, with permanent links easily available.
  • Search for author, subject, date, etc. is possible.
  • Individual threads can have categories.
  • It is relatively easy to manage related discussions in a subject-specific forum, whereas MediaWiki talk pages always follow the "one discussion page per subject page" model.
  • There can be restrictions on which users can edit other users' posts.

LiquidThreads aims to unite the advantages of both forum types, and to add some unique discussion features to boot.

Installation

edit

Prerequisites: LiquidThreads currently requires the Extension:WikiEditor extension to be already installed. See task T40654.

  • Download and move the extracted LiquidThreads 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/LiquidThreads
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'LiquidThreads' );
    
  • 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.

Configuration

edit

This is the default configuration of the extension. You can override such values in LocalSettings.php:

// Preferences
$wgDefaultUserOptions['lqtnotifytalk'] = false;
$wgDefaultUserOptions['lqtdisplaydepth'] = 5;
$wgDefaultUserOptions['lqtdisplaycount'] = 25;
$wgDefaultUserOptions['lqtcustomsignatures'] = true;
$wgDefaultUserOptions['lqt-watch-threads'] = true;

// Permissions
$wgGroupPermissions['user']['lqt-split'] = true;
$wgGroupPermissions['user']['lqt-merge'] = true;
$wgGroupPermissions['user']['lqt-react'] = true;

/* Allows activation of LiquidThreads on individual pages */
$wgLqtPages = array();

/* Allows switching LiquidThreads off for regular talk pages
	(intended for testing and transition) */
$wgLqtTalkPages = true;

/* Whether or not to activate LiquidThreads email notifications */
$wgLqtEnotif = true;

/* Thread actions which do *not* cause threads to be "bumped" to the top */
/* Using numbers because the change type constants are defined in Threads.php, don't
	want to have to parse it on every page view */
$wgThreadActionsNoBump = array(
	3 /* Edited summary */,
	10 /* Merged from */,
	12 /* Split from */,
	2 /* Edited root */,
	14 /* Adjusted sortkey */
);

/** Switch this on if you've migrated from a version before around May 2009 */
$wgLiquidThreadsMigrate = false;

/** The default number of threads per page */
$wgLiquidThreadsDefaultPageLimit = 20;

/** Whether or not to allow users to activate/deactivate LiquidThreads per-page */
$wgLiquidThreadsAllowUserControl = true;

/** Whether or not to allow users to activate/deactivate LiquidThreads
	in specific namespaces.  NULL means either all or none, depending
	on the above. */
$wgLiquidThreadsAllowUserControlNamespaces = null;

/** Allow LiquidThreads embedding */
$wgLiquidThreadsAllowEmbedding = true;

// Namespaces in which to enable LQT
$wgLqtNamespaces = array();

/** Enable/disable the bump checkbox. **/
$wgLiquidThreadsShowBumpCheckbox = false;

/** Enable/Disable 'New messages' link and special page (Special:NewMessages) */
$wgLiquidThreadsEnableNewMessages = true;

Notes

edit
This extension does not work if your LocalSettings.php contains the following two parameter settings: $wgEnableAPI = false; and $wgEnableWriteAPI = false;

See also

edit
edit