Roadmap/Archive

Unless you are a MediaWiki developer, please edit this page only for corrections.

Version 1.3
MediaWiki 1.3 will be released at some time in the future. When in the future we can't say. However, we are absolutely certain it won't be released in the past, unless you are reading this in the future, in which case it depends on how far in the future you are reading it.

New skin
In 1.3, the default MediaWiki interface will be replaced with the new MonoBook skin, which is based on PHPTal. A test installation using this skin is at http://wiki.aulinx.de/Main_Page. You may need to log in and switch skins in your preferences. There are also screenshots.

The three original skins will be kept as user preferences.

Template syntax
Templates, or custom messages, have grown from humble beginnings as an afterthought in a localisation feature. They are now used in almost 10% of pages in the English Wikipedia database. The 1.3 release brings several changes in recognition of this new role:


 * Custom messages are separated from interface text (internal messages). The interface text will remain in the MediaWiki namespace, and the custom messages will be moved to the new Template namespace. The moving will be done with a script.
 * The syntax will be changed, from   to   . Backwards compatibility is maintained. A script will convert the text.
 * It will be possible to include text from other namespaces, for example  .
 * The full range of title characters will be allowed, including spaces
 * Any change to a page in the Template namespace automatically clears the cache of any pages which use that template.
 * Template parameters are supported, either named or numbered. The syntax is   with    tags in the template, or    with   ,   , etc. tags in the template.
 * The parser for inclusions has been improved, to allow for recursive inclusion. The full wikitext syntax is allowed inside templates, rather than a restricted set as was previously the case.

Languages and localisation
In 1.2, language files generally had variables in them such as $wgSiteName (for the local site name) and $wgMetaNamespace. When the data from a language file was loaded into the MediaWiki namespace, these variables were expanded. Hence, any changes to the variables weren't immediately reflected in the site. In 1.3, this is fixed by passing internal messages through a variable expansion phase. A number of syntax elements have been added to make use of this:


 *  </tt>: the site name, for example "Wikipedia" or "Wiktionary"
 *  </tt>: the server, for example "http://en.wikipedia.org"
 *      </tt>: expands to a local namespace name. For example,       </tt> or       </tt> is expanded to the local name for the talk namespace
 *  </tt> and   </tt>: these tags are used to generate a URL for a given title. An optional query string can be given. For example, the URL to edit the main page is   </tt>

To further enhance portability of language files, the namespace names used on the English Wikipedia will now work everywhere. This should also be a useful feature for users attempting to navigate a wiki in an unfamiliar language.

Edit conflict merging
Users of en:Wikipedia:Votes for deletion know the edit conflict screen only too well. 1.3 brings CVS-style edit conflict merging, courtesy of the diff3 utility. Confirmed to work on both Unix and Windows platforms, this feature will only trigger an edit conflict if users attempt to edit the same few lines.

See also: Edits as patches

Hieroglyphs
Hieroglyphs using WikiHiero.

Other visible changes

 * Special:Import: available only to sysops, this special page gives users the ability to import full histories into a wiki, using the XML output by Special:Export.
 * RSS syndication available for many special pages, such as Special:Newpages.
 * Prefilled edit summaries will be displayed in grey text, rather than bracketed with "=" signs.
 * Links in summaries allowed.
 * Links and other formatting in images allowed.

Technical changes

 * Link table uses IDs in both fields
 * The security risk of global insertion from the query string is eliminated, provided users disable register_globals
 * Lots of PHP notices fixed
 * XHTML-compatible output (or darn close to it)
 * RDF metadata

To be done

 * Fix bugs, bugs, bugs, bugs, bugs, bugs, bugs, and bugs.
 * Documentation updates.
 * Additional touches to in-place install.
 * Removal of the old, dangerous command-line install. Getting maintenance scripts usable (but safe) in the in-place environment.
 * Make sure upgrading from previous versions is a clean, easy process.
 * Preferences page to be rewritten to actually be legible.
 * MonoBook is still missing the occasional bit
 * (for instance, there is no printable-version or RSS link.)
 * Left-to-right support.
 * Update all the language files with new stuff.
 * Finish Special:Import.
 * Change CSS to use new thumbnail layout. (while at it, try to use two CSS files per page, one for common settings, one for skin-specific settings)
 * Re-add code for processing of non-breakable space for French typography. French uses a space between some punctuation and the next/previous word, that is supposed to be non-breakable. e.g. « Qu'est-ce-que c'est ? » Only the middle space may be used as a line break.
 * The template parameter syntax chokes on something like.
 * It might be wise to fix up Snok's parser cache and enable it on the live site.

To be done
Add your name next to any of these items if you want to complete that task.


 * Database schema redesign
 * User:Brion VIBBER
 * Fix section editing issues with commented or nowiki'd sections
 * Implement FileReplacement, i.e. a way to semi-protect pages
 * In the long term (post 1.3) it might be nice to have a general way to deal with schema changes, involving automatic detection of missing fields and tables, based on a single schema specification. The specification could then be used for both installing and updating.