Jump to content

ميدياويكي 0.2

From mediawiki.org
This page is a translated version of the page MediaWiki 2.0 and the translation is 22% complete.
Outdated translations are marked like this.
These are random thoughts. This is not some official planning page or such.

ميدياويكي2.0ستكون نسخة أدخلت تغييرات واسعة النطاق، و غير متوافقة مع القاعدة الخلفية للكود . While it would obviously need to be possible to upgrade existing wiki installations smoothly from 1.x versions, it would be reasonable for that process to involve substantial, perhaps irreversible, changes by an upgrade script.

Furthermore, extensions would likely need updating as well, and a 1.x version extension would not be guaranteed to work with MediaWiki 2.0.

فصل التغييرات التي تبرر / تتطلب 0.2

It's important that this not become merely a list of "things we wish we'd done differently in MW". A large, unfocused wishlist of changes would merely delay the version indefinitely, as well as including breaking changes which may not be strictly necessary and hence unnecessarily disruptive.

محلل جديد

الصفحة الرئيسية: Parsoid

A completely rewritten parser has been a pipe dream for many years, and restructuring it into a true 'parser' (rather than a spaghetti bowl of regexes) would probably require some backwards-incompatible changes to wikimarkup. A conversion script would need to identify pages on the wiki using edge-cases where the behaviour has changed, and either automagically convert them, or flag them for manual review, (or both for special cases).

إزالة الغالبية العظمى من غلوبالس

الصفحة الرئيسية: Dependency Injection

Due to the nature of programming, globals are easy to work with. To quote Tim, "globals are magical structures, like little winged monkeys that fly your data from wherever it is generated to wherever it is needed." Right now, in order to use MediaWiki's code you have to set up a global instance of MediaWiki. This becomes difficult when trying to reuse MediaWiki code elsewhere. Of course, some things such as the FileRepo or Database code needs to operate in a singleton (which is just a global in disguise). However, all of the configuration variables and global objects ($wgTitle/$wgArticle, $wgOut, $wgRequest, etc) should either be killed or severely limited (and moved to a singleton). في عالم مثالي، يمكن أن يكون index.php:

<?php
// MediaWiki 2.0!
require_once( "includes/Autoloader" );
$mw = new MediaWiki();
$mw->doWebRequest();

This also means moving all file-scope code into classes.

Visual editor

الصفحة الرئيسية: VisualEditor

A visual editor is currently under development as Extension:VisualEditor . The editor would replace and/or supplement the current wikimarkup-based editing form that is currently in widespread use by MediaWiki.

Big refactorings and internal API improvements

الصفحة الرئيسية: Architecture guidelines

Brion in 2013: "yes, we're thinking of seriously going for a MediaWiki 2.0": Architecture guidelines and RFCs.