Extension:LiquidThreads

From MediaWiki.org
(Redirected from Liquid Threads)
Jump to: navigation, search
shortcut: LQT
MediaWiki extensions manualManual:Extensions
Crystal Clear action run.png
LiquidThreads

Release status:Extension status unmaintained

LiquidThreads sample screenshot.jpg
ImplementationTemplate:Extension#type Page action, Special page, API
DescriptionTemplate:Extension#description LiquidThreads extension implements a structured discussion system for MediaWiki.
Author(s)Template:Extension#username David McCabe, Andrew Garrett
Latest versionTemplate:Extension#version 2.2-alpha [1] (2014-03-28)
MediaWikiTemplate:Extension#mediawiki 1.25+
PHPTemplate:Extension#php 5.3+
Database changesTemplate:Extension#needs-updatephp Yes
LicenseTemplate:Extension#license GNU General Public License 2.0 or later
Download
README
ParametersTemplate:Extension#parameters

$egLqtNamespaceNumbers

Added rightsTemplate:Extension#rights
  • Split threads (lqt-split)
  • Merge threads (lqt-merge)
  • Reply to threads (lqt-react)
Hooks usedTemplate:Extension#hook
ParserFirstCallInitManual:Hooks/ParserFirstCallInit
CanonicalNamespacesManual:Hooks/CanonicalNamespaces
MediaWikiPerformActionManual:Hooks/MediaWikiPerformAction
SkinTemplateNavigationManual:Hooks/SkinTemplateNavigation
PageContentLanguageManual:Hooks/PageContentLanguage
OldChangesListRecentChangesLineManual:Hooks/OldChangesListRecentChangesLine
SkinTemplateOutputPageBeforeExecManual:Hooks/SkinTemplateOutputPageBeforeExec
ChangesListSpecialPageQueryManual:Hooks/ChangesListSpecialPageQuery
ArticleEditUpdateNewTalkManual:Hooks/ArticleEditUpdateNewTalk
PersonalUrlsManual:Hooks/PersonalUrls
GetPreferencesManual:Hooks/GetPreferences
XmlDumpWriterOpenPageManual:Hooks/XmlDumpWriterOpenPage
ModifyExportQueryManual:Hooks/ModifyExportQuery
ImportHandlePageXMLTagManual:Hooks/ImportHandlePageXMLTag
AfterImportPageManual:Hooks/AfterImportPage
ArticleDeleteCompleteManual:Hooks/ArticleDeleteComplete
ArticleRevisionUndeletedManual:Hooks/ArticleRevisionUndeleted
ArticleUndeleteManual:Hooks/ArticleUndelete
ArticleConfirmDeleteManual:Hooks/ArticleConfirmDelete
ArticleDeleteManual:Hooks/ArticleDelete
TitleMoveCompleteManual:Hooks/TitleMoveComplete
AbortMoveManual:Hooks/AbortMove
MovePageIsValidMoveManual:Hooks/MovePageIsValidMove
ShowSearchHitTitleManual:Hooks/ShowSearchHitTitle
SpecialSearchProfilesManual:Hooks/SpecialSearchProfiles
LoadExtensionSchemaUpdatesManual:Hooks/LoadExtensionSchemaUpdates
EditPageBeforeEditChecksManual:Hooks/EditPageBeforeEditChecks
ArticleSaveCompleteManual:Hooks/ArticleSaveComplete
UserIsBlockedFromManual:Hooks/UserIsBlockedFrom
TitleGetRestrictionTypesManual:Hooks/TitleGetRestrictionTypes
MakeGlobalVariablesScriptManual:Hooks/MakeGlobalVariablesScript
APIQueryAfterExecuteManual:Hooks/APIQueryAfterExecute
InfoActionManual:Hooks/InfoAction
SpecialPage_initListManual:Hooks/SpecialPage_initList
OutputPageParserOutputManual:Hooks/OutputPageParserOutput
OutputPageBeforeHTMLManual:Hooks/OutputPageBeforeHTML
userCanManual:Hooks/userCan

Translate the LiquidThreads extension if it is available at translatewiki.net

Check usage and version matrix.

IssuesPhabricator

Open tasks · Report a bug

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

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. Development of LQT3 can be tracked in this branch; the last commits to LQT3 (lqt-updates) branch 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

{{#useliquidthreads:1}} 

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

{{#useliquidthreads:0}} 

to the page's source code.

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.

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 WikiEditor extension to be already installed. See bug 38654. To be able to properly search threads, Extension:Lucene-search must also be installed from Wikimedia's operations/debs/lucene-search-2.git repository.


  • Download and place the file(s) in a directory called LiquidThreads in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php:
require_once "$IP/extensions/LiquidThreads/LiquidThreads.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.
Installing without command prompt access

Some individuals may not have command prompt access. However, if you have access through phpMyAdmin, substitute these steps for step #4 above:

  1. Download lqt.sql.
  2. In phpMyAdmin, click the database you're using for mediawiki along the left side
  3. On the next screen, click the "SQL" tab at the top.
  4. At "Location of the text file", choose one of the files, select compression "None", and click the bottom "Go" button.
    If your phpMyAdmin screen has only a text field and no text file chooser, click the "SQL" button in the left-side column, under the phpMyAdmin logo, and click the "import files" tab in the new window that opens.
    If you encounter the error message #1071 - Specified key was too long; max key length is 1000 bytes , abbreviate line 35 of lqt.sql to CREATE INDEX thread_article_title ON /*$wgDBprefix*/thread (thread_article_namespace, thread_article_title); (in other words, remove , thread_sortkey). Remove the new tables and import the file again.
    If your database uses table prefixes, you have to add them manually. You can do so after the new tables have been created.

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;

API[edit]

API documentation

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]

External links[edit]


Language: English  • 日本語