Extension:LiquidThreads

From eLinux.org
Revision as of 14:07, 9 February 2010 by Wmat (talk | contribs) (Removed links to local video file and set to commons.wikimedia.org location.)
Jump to: navigation, search
MediaWiki extensions manual
Crystal Clear action run.png
LiquidThreads

Release status: beta

Implementation Page action, Special page
Description LiquidThreads is a new structured discussion system for MediaWiki, implemented as an extension.
Author(s) David McCabe, Andrew Garrett
Latest version 2.0
MediaWiki 1.16
License GPL v2
Download
README
Example LiquidThreads beta testing at labs.mediawiki.org
Parameters

$egLqtNamespaceNumbers

Hooks used
BeforeWatchlist

ChangesListInsertArticleLink
MediaWikiPerformAction
PageHistoryBeforeList
SkinTemplateTabAction
SkinTemplateTabs
SkinTemplateOutputPageBeforeExec
SpecialMovepageAfterMove

Check usage and version matrix; code metrics

Liquid Threads is an extension that implements a new discussion page system. The original code was developed under sponsorship from the Google Summer of Code 2006, the Commonwealth of Learning, and Wikia. It is close to completion, and being worked on by Andrew Garrett under contract with the Wikimedia Foundation. It may eventually be deployed on some or all Wikimedia sites.

Demonstrations at Wikimania

Brion_Vibber-Codeathon_Round_Up.ogg

Angela_B_Starling-BOF_MediaWiki_Usability_discussion.ogg

Installation

  1. Download the files from SVN and place them under $IP/extensions/LiquidThreads
  2. Add the required tables to the database: php maintenance/sql.php extensions/LiquidThreads/lqt.sql
  3. Add
    require_once("$IP/extensions/LiquidThreads/LiquidThreads.php");
    
    into your wiki's LocalSettings.php
  4. Installation can be verified through Special:Version

Rationale

Wiki discussion pages have some advantages over web and Usenet forums. They allow use of the entire wiki syntax - from images to wiki links to transclusion. It is possible to refactor entire discussion pages.

Web forums offer a number of 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.
  • 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 content page" model.

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

Addressing

Each thread has a unique and permanent wiki title, so they can be linked to: e.g., [[Thread:Talk:Main_Page/Thread 1]].

API

LiquidThreads adds a 'threads' list module to retrieve thread details.


Parameters

  • thstartid: The thread id to start enumerating from
  • thendid: The thread id to stop enumerating at
  • thdir: The direction in which to enumerate (older, newer)
  • thshowdeleted: ???
  • thlimit: The maximum number of threads to list
  • thprop: Which properties to get
  • thpage: Limit results to threads on a particular page(s)
  • thauthor: Limit results to threads by a particular author(s)
  • throot: Limit results to threads with the given root(s)
  • thsummary: Limit results to threads corresponding to the given summary page(s)
  • thid: Get threads with the given ID(s)
  • thrender: ???
  • threnderlevel: ???
  • threnderthreadpos: ???
  • threnderthreadcount: ???
  • threndermaxthreadcount: ???
  • threndermaxdepth: ???
  • threnderstartrepliesat: ???

Example Get details of all threads on "Talk:Main Page"

<api>
  <query>
    <threads>
      <thread id="1" subject="test" pagens="1" pagetitle="Talk:Main Page" parent="">
        <author id="0" name="127.0.0.1" />
      </thread>
      <thread id="2" subject="foo" pagens="1" pagetitle="Talk:Main Page" parent="">
        <author id="0" name="127.0.0.1" />
      </thread>
      <thread id="3" subject="foo" pagens="1" pagetitle="Talk:Main Page" parent="2">
        <author id="0" name="127.0.0.1" />
      </thread>
    </threads>
  </query>
</api>

See also

  • v:THREADNAV - an alternative project on Wikiversity on structured and threaded discussions, which uses wiki-syntax for structures and the NavFrames JavaScript for display
  • Extension:AWC's Forum - allows the display of a standalone forum within MediaWiki.

External links

Comments/feedback

I assume this section is where I can write my feedback?

  1. Old talk pages are not migrated into the new system.

That sucks, but it's not an easy problem to solve.

  1. Does 'you have new messages' still work?

Yes.

  1. if enotif is installed, can user be notified by email whenever a new topic or comment is added on a discussion page of a page included in his watch list and/or answers a comment of his ?

Search of WikiEducator Google Group discussions

User comments

  • LQT (James Neill, WikiEducator)

Sites that use LiquidThreads