Extension:LiquidThreads

Category:Unmaintained extensions#LiquidThreads Category:Extensions without a compatibility policyCategory:GPL licensed extensions
MediaWiki extensions manual
LiquidThreads
Release status: unmaintainedCategory:Unmaintained extensions
Implementation Page action Category:Page action extensions, Special page Category:Special page extensions, API Category:API extensions
Description Implements a structured discussion system
Author(s) David McCabe, Andrew Garrett
Latest version 2.2-alpha (2014-03-28)
MediaWiki 1.29+Category:Extensions with manual MediaWiki version
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 Category:Extensions in Wikimedia version control
README
Help Help:Extension:LiquidThreads
  • $egLqtNamespaceNumbers
Quarterly downloads 6 (Ranked 111st)
Translate the LiquidThreads extension if it is available at translatewiki.net
Issues Open tasks · Report a bug
Category:All extensions

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

Warning Warning: This extension is currently incompatible with temporary accounts.
Temporary accounts can be disabled with $wgAutoCreateTempUser['enabled'] = false; in your LocalSettings.php.
Category:Extensions incompatible with temporary accounts

History

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

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}}

Rationale

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

Prerequisites: LiquidThreads currently requires the Extension:WikiEditor extension to be already installed. See 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.
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Configuration

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;

API

See also

Category:Extensions used on Wikimedia#LiquidThreads Category:Discussion and forum extensions Category:Summer of Code 2006 Category:LiquidThreads
Category:APIQueryAfterExecute extensions Category:API extensions Category:AfterImportPage extensions Category:All extensions Category:ArticleConfirmDelete extensions Category:ArticleDeleteComplete extensions Category:ArticleDelete extensions Category:ArticleEditUpdateNewTalk extensions Category:ArticleUndelete extensions Category:CanonicalNamespaces extensions Category:ChangesListSpecialPageQuery extensions Category:Discussion and forum extensions Category:EditPageGetCheckboxesDefinition extensions Category:Extensions in Wikimedia version control Category:Extensions incompatible with temporary accounts Category:Extensions used on Wikimedia Category:Extensions which add rights Category:Extensions with manual MediaWiki version Category:Extensions without a compatibility policy Category:GPL licensed extensions Category:GetNewMessagesAlert extensions Category:GetPreferences extensions Category:GetUserPermissionsErrors extensions Category:ImportHandlePageXMLTag extensions Category:InfoAction extensions Category:LiquidThreads Category:LoadExtensionSchemaUpdates extensions Category:MediaWikiPerformAction extensions Category:ModifyExportQuery extensions Category:MovePageIsValidMove extensions Category:OldChangesListRecentChangesLine extensions Category:OutputPageBeforeHTML extensions Category:OutputPageParserOutput extensions Category:PageContentLanguage extensions Category:PageMoveComplete extensions Category:PageSaveComplete extensions Category:Page action extensions Category:ParserFirstCallInit extensions Category:PreferencesGetIcon extensions Category:RenameUserSQL extensions Category:RevisionUndeleted extensions Category:ShowSearchHitTitle extensions Category:SkinTemplateNavigation::Universal extensions Category:SpecialPage initList extensions Category:SpecialSearchProfiles extensions Category:Special page extensions Category:Summer of Code 2006 Category:TitleGetRestrictionTypes extensions Category:Unmaintained extensions Category:UserIsBlockedFrom extensions Category:UserMergeAccountFields extensions Category:XmlDumpWriterOpenPage extensions