MediaWiki 2.0

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

MediaWiki 2.0 kod tabanında kapsamlı, geriye dönük uyumsuz değişiklikler getiren bir sürüm olacaktır. Mevcut viki kurulumlarını 1.x sürümlerinden sorunsuz bir şekilde yükseltmek mümkün olsa da, bu işlemin bir yükseltme betiği tarafından önemli, belki de geri döndürülemez değişiklikler içermesi mantıklı olacaktır.

Ayrıca, uzantıların da güncellenmesi gerekecektir ve 1.x sürüm uzantısının MediaWiki 2.0 ile çalışacağı garanti edilmez.

2.0 gerektiren / gerektiren değişiklikleri bozma

Bunun sadece "MW'de farklı şekilde yapılmasını dilediğimiz şeylerin" bir listesi haline gelmemesi önemlidir. Büyük, odaklanmamış bir değişiklik istek listesi sadece sürümü süresiz olarak geciktirecek ve kesinlikle gerekli olmayabilecek ve dolayısıyla gereksiz yere yıkıcı olabilecek değişiklikleri de içerecektir.

Yeni bir ayrıştırıcı

Tamamen yeniden yazılan bir ayrıştırıcı yıllardır bir boru rüyasıydı ve onu gerçek bir 'ayrıştırıcıya' (bir spagetti regexes kase yerine) yeniden yapılandırmak muhtemelen viki biçimlendirme geriye dönük olarak uyumsuz değişiklikler gerektirecektir. Bir dönüşüm komut dosyasının, davranışın değiştiği kenar durumlarını kullanarak vikideki sayfaları tanımlaması ve bunları otomatik olarak dönüştürmesi veya manüel inceleme için işaretlemesi (veya her ikisi de özel durumlar için) gerekir.

Globallerin büyük çoğunluğunu kaldırın

Programlamanın doğası gereği, globallerle çalışmak kolaydır. Tim üzerinden alıntı yapmak için "globaller, verilerinizi oluşturulduğu yerden ihtiyaç duyulduğu her yere uçuran küçük kanatlı maymunlar gibi büyülü yapılardır." Şu anda, MediaWiki'nin kodunu kullanmak için küresel bir MediaWiki örneği oluşturmanız gerekir. MediaWiki kodunu başka bir yerde yeniden kullanmaya çalışırken bu zorlaşır. Tabii ki, FileRepo veya Veritabanı kodu gibi bazı şeylerin tek birtonda çalışması gerekir (bu sadece kılık değiştirmiş bir küreseldir). Bununla birlikte, tüm yapılandırma değişkenleri ve global nesneler ($wgTitle/$wgArticle, $wgOut, $wgRequest, vb.) ya kaldırılmalı ya da ciddi şekilde sınırlandırılmalıdır (ve tek bir tona taşınmalıdır). İdeal bir dünyada bu index.php olabilir:

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

Bu aynı zamanda tüm dosya kapsam kodunu sınıflara taşımak anlamına gelir.

Görsel düzenleyici

Anasayfa: Future

Görsel düzenleyici şu anda Extension:VisualEditor olarak geliştirilmektedir. Editör, şu anda MediaWiki tarafından yaygın olarak kullanılan mevcut viki biçimlendirme tabanlı düzenleme formunun yerini alacak ve/veya tamamlayacaktır.

Büyük yeniden düzenlemeler ve dahili API iyileştirmeleri

Brion in 2013: "yes, we're thinking of seriously going for a MediaWiki 2.0": Mimari yönergeler ve RFC'ler.