LiquidThreads is a next-generation discussion system for MediaWiki, which turns talk pages into a real forum, while maintaining the essential aspects of a wiki that make them so effective. It was originally developed as a Google Summer of Code project by David McCabe, and I've spent the last 4 months preparing it for deployment on Wikimedia sites, under contract from the Foundation.
The most significant feature of the extension—and the one that gives it its name—is the thread-oriented discussion format, shown in screenshot #1. Rather than simply indenting replies, as is currently done on talk pages, LiquidThreads gives editors the ability to "reply" to a particular post in a thread, and automatically places the resulting comment in the correct position within the thread. LiquidThreads support a number of additional features familiar to users of forum software; for example, a button allows one to "quote" another editor's post, and editors may insert a "summary" section for a thread to generate a record of the discussion for future readers.
The implementation of threads on a talk page as conceptual threads—rather than sections—makes a number of additional features possible. The most noticeable of these is the new thread summary listing, which acts as a replacement for the traditional table of contents on discussion pages using the extension. An example thread listing is shown in screenshot #2.
The listing not only provides links to the threads themselves—as the table of contents would—but also includes more forum-like statistics, tracking the editor who started the thread, the number of posts to it, and the time of the most recent modification. The list of threads may be sorted according to the modification time, starting at either earliest or latest; a number of additional sorting methods—notably, a way to sort by thread activity—have already been requested.
With the new listing, LiquidThreads removes the need for manual archiving of old discussions; as threads age and become inactive, they will move out of the first page of the listing (which, by default, is configured to only show the twenty most recent threads), while at the same time remaining easily accessible for future reference.
Underneath the reader-facing form of a single discussion page, individual threads—and even individual posts within threads—are implemented as distinct subpages, allowing more fine-grained control over them. One major feature which relies on this control is the availability of a thread-level watch: users can choose to watchlist individual threads of interest, rather than entire discussion pages. This is expected to be immediately useful on high-traffic pages such as noticeboards, where users may only be interested in a small subset of ongoing discussion.
When a user adds an individual thread to their watchlist, future posts to that thread trigger a "new messages" prompt for the user, leading them to a screen where they are given the opportunity to read and acknowledge the new posts (screenshot #3). Posts can be marked as read on a per-thread level, allowing users to leave threads that require replies "unread"; this causes the system to continue generating a prompt to serve as a reminder to the user.
Further testing of the extension is expected to continue for some time, and the developers are eager to receive feedback on the extension's features.
Discuss this story