MediaWiki - MediaWiki

MediaWiki
MediaWiki-2020-logo.svg
Ekran görüntüsü
İngilizce Vikipedi ekran görüntüsü.png
Ana Sayfa ait İngilizce Wikipedia MediaWiki'yi 1.36 çalıştıran
Orijinal yazar(lar) Magnus Manske , Lee Daniel Crocker
Geliştirici(ler) Wikimedia Vakfı
İlk sürüm 25 Ocak 2002 ; 19 yıl önce ( 2002-01-25 )
kararlı sürüm
1.36.2  Bunu Vikiveri'de düzenleyin / 30 Eylül 2021 ; 18 gün önce ( 30 Eylül 2021 )
depo
Yazılmış PHP
İşletim sistemi Windows , macOS , Linux , FreeBSD , OpenBSD , Solaris
Boy ~48  MB (sıkıştırılmış)
Uygun 459 dil
Tip Wiki yazılımı
Lisans GPLv2+
İnternet sitesi www .mediawiki .org Bunu Vikiveri'de düzenleyin

MediaWiki , ücretsiz ve açık kaynaklı bir wiki yazılımıdır . 2002'de Wikipedia'da kullanılmak üzere geliştirildi ve 2003'te "MediaWiki" adı verildi. Wikipedia'da ve Vikisözlük , Wikimedia Commons ve Wikidata dahil olmak üzere neredeyse tüm diğer Wikimedia web sitelerinde kullanılmaya devam ediyor ; bu siteler, MediaWiki için belirlenen gereksinimlerin büyük bir bölümünü tanımlamaya devam ediyor. MediaWiki aslen Magnus Manske tarafından geliştirildi ve Lee Daniel Crocker tarafından geliştirildi . Gelişimi o zamandan beri Wikimedia Vakfı tarafından koordine edilmektedir .

MediaWiki, PHP programlama dilinde yazılmıştır ve tüm metin içeriğini bir veritabanında saklar . Yazılım, terabaytlarca içeriğe ve saniyede yüz binlerce görüntülemeye sahip olabilen büyük projeleri verimli bir şekilde idare etmek için optimize edilmiştir . Wikipedia dünyanın en büyük web sitelerinden biri olduğundan, birden çok önbelleğe alma ve veritabanı çoğaltma katmanı aracılığıyla ölçeklenebilirlik elde etmek , geliştiriciler için büyük bir endişe kaynağı olmuştur. MediaWiki'nin bir diğer önemli yönü de uluslararasılaşmasıdır; arayüzü 300'den fazla dilde mevcuttur. Yazılım, çeşitli özelliklerin eklenmesini veya değiştirilmesini sağlamak için 1.000'den fazla yapılandırma ayarına ve 1.800'den fazla uzantıya sahiptir.

Wikimedia sitelerinde kullanımının yanı sıra MediaWiki, Fandom , wikiHow web siteleri ve Intellipedia ve Diplopedia gibi büyük dahili kurulumlar dahil olmak üzere kamuya açık ve özel binlerce web sitesinde bir bilgi yönetimi ve içerik yönetim sistemi olarak kullanılmıştır .

Lisans

MediaWiki ücretsiz ve açık kaynaklıdır ve GNU Genel Kamu Lisansı sürüm 2 veya daha sonraki herhangi bir sürümün koşulları altında dağıtılır . www.mediawiki.org adresinde bulunan belgeleri, Creative Commons BY-SA 3.0 lisansı altında ve kısmen kamu malı olarak yayınlanmıştır . Özellikle, MediaWiki.org'daki kılavuzlar ve diğer içerik Creative Commons lisanslıdır, ancak yeni wiki kurulumlarına ücretsiz olarak kopyalanması ve/veya MediaWiki yazılımıyla dağıtılması amaçlanan yardım sayfaları kümesi kamu malıdır. Bu, Creative Commons lisansı ile uyumlu olmayan lisanslarla wikilere aktarılan yardım sayfalarından kaynaklanan yasal sorunları ortadan kaldırmak için yapıldı. MediaWiki'nin gelişimi genellikle açık kaynaklı medya formatlarının kullanımını desteklemiştir .

Gelişim

MediaWiki, geliştirme ve bakım için aktif bir gönüllü topluluğa sahiptir. Yamalar göndererek projeye anlamlı katkılarda bulunan kullanıcılara genellikle talep üzerine projenin Git / Gerrit deposunda revizyon yapma erişimi verilir . Ayrıca öncelikle Wikimedia Vakfı için projeler geliştiren ücretli programcılar da vardır . MediaWiki geliştiricileri , MediaWiki çekirdek ve genişletme projelerinde çalışmak isteyen öğrencilere mentor atamasını kolaylaştırarak Google Summer of Code'a katılır . Kasım 2012'den önceki yıl boyunca, MediaWiki çekirdeği veya uzantılarında değişiklik yapan yaklaşık iki yüz geliştirici vardı. Başlıca MediaWiki sürümleri, sürekli olarak çalıştırılabilir bir durumda tutulan geliştirme dalının anlık görüntüleri alınarak yaklaşık altı ayda bir oluşturulur; küçük sürümler veya nokta sürümleri , hataları (özellikle güvenlik sorunlarını) düzeltmek için gerektiği gibi yayınlanır .

MediaWiki, yazılım değişikliklerinin düzenli olarak Wikimedia sitelerine canlı olarak aktarıldığı sürekli bir entegrasyon geliştirme modeli üzerinde geliştirilmiştir .

MediaWiki ayrıca Phabricator'ı çalıştıran phabricator.wikimedia.org adlı genel bir hata izleyicisine sahiptir . Site ayrıca özellik ve geliştirme istekleri için de kullanılır .

Tarih

2012 yılında Magnus Manske

Wikipedia Ocak 2001'de başlatıldığında, mevcut bir wiki yazılım sistemi olan UseModWiki üzerinde çalışıyordu . UseModWiki, Perl programlama dilinde yazılmıştır ve tüm wiki sayfalarını metin ( .txt ) dosyalarında saklar. Bu yazılım kısa sürede hem işlevsellik hem de performans açısından sınırlayıcı olduğunu kanıtladı. 2001 yılının ortalarında , Köln Üniversitesi'nde geliştirici ve öğrenci olan ve aynı zamanda bir Wikipedia editörü olan Magnus Manske , özellikle Wikipedia tarafından kullanılmak üzere tasarlanmış UseModWiki'nin yerini alacak yeni bir yazılım üzerinde çalışmaya başladı. Bu yazılım PHP betik dilinde yazılmıştır ve tüm bilgilerini bir MySQL motoru veritabanında depolamıştır . Yeni yazılım büyük ölçüde 24 Ağustos 2001'de geliştirildi ve kısa bir süre sonra bunun için bir test wiki kuruldu.

Bu yazılımın ilk tam uygulaması 9 Kasım 2001'de yeni Meta Wikipedia'ydı . İngilizce Vikipedi'de hemen uygulanmasına yönelik bir istek vardı, ancak Manske bu dönemde yeni oluşan web sitesine zarar verebilecek herhangi bir potansiyel hata konusunda endişeliydi. Noel'den hemen önce tamamlaması gereken final sınavlarından; bu, İngilizce Vikipedi'nin lansmanının 25 Ocak 2002'ye ertelenmesine neden oldu. Yazılım daha sonra kademeli olarak o zamanın tüm Wikipedia dil sitelerine dağıtıldı. Bu yazılım "PHP betiği" ve "Aşama II" olarak adlandırıldı ve "Aşama I" adıyla, UseModWiki'nin kullanımına geriye dönük olarak verildi.

Artan kullanım, kısa sürede yeniden yükleme sorunlarının ortaya çıkmasına neden oldu ve kısa bir süre sonra yazılımın yeniden yazılması başladı; bu sefer "faz III" olarak bilinen Lee Daniel Crocker tarafından yapılıyor . Bu yeni yazılım aynı zamanda MySQL arka ucuyla PHP'de yazılmıştır ve faz II yazılımının temel arayüzünü korumuştur, ancak daha geniş bir ölçeklenebilirlik ek işlevselliği ile birlikte . "Aşama III" yazılımı, Temmuz 2002'de Wikipedia'da yayına girdi.

Wikimedia Foundation Temmuz ayında, 20 Haziran 2003 tarihinde ilan edildi, Wikipedia katılımcısı Daniel Mayer "Wikimedia" konulu bir oyun olarak, yazılım için adı "MediaWiki" önerdi. MediaWiki adı, Ağustos 2003'ten başlayarak aşamalı olarak kullanılmaya başlandı. Ad, "Wikimedia" adıyla (kendisi "Wikipedia"ya benzer) benzerliği nedeniyle (kasıtlı olarak) sık sık kafa karışıklığına neden oldu.

1 Nisan 2021'e kadar MediaWiki logosu

Eski ürün logosu , Florence Nibart-Devouard tarafından çekilen bir çiçek fotoğrafı kullanılarak Erik Möller tarafından oluşturuldu ve orijinal olarak 20 Temmuz - 27 Ağustos 2003 tarihleri ​​arasında düzenlenen yeni bir Wikipedia logosu için logo yarışmasına sunuldu . Logo geldi. Wikimedia Vakfı için kullanılan ikinci logo ile Wikipedia yerine MediaWiki'yi temsil etmek için seçildi. Çift köşeli parantezler ( [[ ]] ), MediaWiki'nin diğer wiki sayfalarına köprüler oluşturmak için kullandığı sözdizimini sembolize eder ; ise ayçiçeği ayrıca Vikipedi, sürekli büyüme içerik çeşitliliğini ve vahşilik temsil eder.

Daha sonra, Brion Vibber , Baş Teknik Sorumlusu ait Wikimedia Vakfı'nın , rolünü aldı Yayın Müdürü ve en aktif Geliştirici .

MediaWiki'nin gelişimindeki önemli kilometre taşları şunları içeriyordu: kategorizasyon sistemi (2004); Ayrıştırıcı Fonksiyonlar , (2006); Bayraklı Revizyonlar , (2008); CSS ve JavaScript için bir dağıtım sistemi olan " ResourceLoader " (2011); ve Görsel Düzenleyici , bir "ne görüyorsan onu alırsın" ( WYSIWYG ) düzenleme platformu (2013).

Yeni logo tasarlama yarışması , eski logo bir bitmap görüntüsü olduğundan ve "yüksek detaylara" sahip olduğundan, sırasıyla yüksek ve düşük çözünürlüklerde render yaparken sorunlara yol açtığı için 22 Haziran 2020'de başlatıldı. İki tur oylamanın ardından Serhio Magpie tarafından tasarlanan yeni ve mevcut MediaWiki logosu 24 Ekim 2020'de seçildi ve 1 Nisan 2021'de resmen kabul edildi.

Sürüm geçmişi

MediaWiki'nin ilk sürümü olan 1.1, Aralık 2003'te yayınlandı.

MediaWiki kullanan siteler

FANDOM ayrıca MediaWiki'den yararlanır.

MediaWiki'nin en ünlü kullanımı Wikipedia'da ve daha az derecede Wikimedia Vakfı'nın diğer projelerinde olmuştur. Eskiden Wikia olarak bilinen bir wiki barındırma hizmeti olan Fandom , MediaWiki'de çalışır. MediaWiki'de çalışan diğer genel wikiler arasında wikiHow ve SNPedia bulunur . WikiLeaks , MediaWiki tabanlı bir site olarak başladı, ancak artık bir wiki değil.

Dahil MediaWiki üzerinde çalışan Vikipedi'ye alternatif wiki ansiklopediler, bir dizi Ansiklopedika , Ansiklopedika , scholarpedia ve Conservapedia . MediaWiki ayrıca Novell ve Intel de dahil olmak üzere çok sayıda şirket tarafından dahili olarak kullanılmaktadır .

Hükümetler içinde MediaWiki ait Önemli kullanım yerleri şunlardır Intellipedia kullandığı, Amerika Birleşik Devletleri İstihbarat Topluluğu'nda , Diplopedia kullandığı, ABD Dışişleri Dairesi bir parçası ve milWiki, milSuite kullandığı Amerika Birleşik Devletleri Savunma Departmanı . Birleşmiş Milletler Kalkınma Programı ve INSTRAW gibi Birleşmiş Milletler ajansları wiki'lerini MediaWiki'yi kullanarak uygulamayı seçti, çünkü "bu yazılım Wikipedia'yı çalıştırıyor ve bu nedenle kapsamlı bir şekilde test edilmesi garanti ediliyor, gelecekte de geliştirilmeye devam edecek ve geleceğin teknisyenleri bu yazılımlar üzerinde çalışmaya devam edecek. vikilerin MediaWiki'ye maruz kalma olasılığı diğer wiki yazılımlarından daha fazla olacaktır."

Free Software Foundation uygulamaya MediaWiki'yi kullandığı LibrePlanet sitesini.

Ana Özellikler

MediaWiki, zengin bir çekirdek özellik seti ve ek işlevsellik sağlamak için uzantıları eklemek için bir mekanizma sağlar.

Uluslararasılaştırma ve yerelleştirme

Niklas Laxström, translatewiki.net'in MediaWiki'ye 300'den fazla yerel ayar sağlamasına izin veren özellikleri açıklıyor .

Wikimedia projelerinde çok dilliliğe yapılan güçlü vurgu nedeniyle, uluslararasılaştırma ve yerelleştirme geliştiriciler tarafından büyük ilgi gördü. Kullanıcı arayüzü, translatewiki.net'te tamamen veya kısmen 300'den fazla dile çevrilmiştir ve site yöneticileri tarafından daha fazla özelleştirilebilir (arayüzün tamamı wiki aracılığıyla düzenlenebilir).

Çeşitli uzantılar, özellikle MediaWiki Dil Uzantı Paketi'nde toplananlar, MediaWiki'nin çok dilliliğini ve uluslararasılaşmasını daha da geliştirmek için tasarlanmıştır.

Kurulum ve konfigürasyon

MediaWiki'nin kurulumu, kullanıcının hem PHP hem de uyumlu bir SQL veritabanı çalıştıran bir sunucuda yönetici ayrıcalıklarına sahip olmasını gerektirir . Bazı kullanıcılar , bir sitenin çoğunluğu MediaWiki ile büyük ölçüde uyumsuz olan bir çerçeve ( Zope veya Ruby on Rails gibi ) altında çalışıyorsa sanal bir ana bilgisayar kurmanın yararlı olduğunu düşünmektedir. Bulut barındırma , yeni bir sunucu dağıtma ihtiyacını ortadan kaldırabilir.

Wiki ayarlarını başlatmak için bir web tarayıcısı aracılığıyla bir kurulum PHP betiğine erişilir . Kullanıcıdan, yüklemeleri etkinleştirme, site logosu ekleme ve uzantıları yükleme gibi ek değişiklikleri bırakarak, adlı bir dosyada bulunan yapılandırma ayarlarını değiştirerek yapılması gereken minimum bir parametre kümesini ister LocalSettings.php. MediaWiki'nin bazı yönleri özel sayfalar aracılığıyla veya belirli sayfalar düzenlenerek yapılandırılabilir; örneğin, kötüye kullanım filtreleri özel bir sayfa aracılığıyla yapılandırılabilir ve MediaWiki ad alanında JavaScript sayfaları oluşturularak belirli gadget'lar eklenebilir . MediaWiki topluluğu kapsamlı bir kurulum kılavuzu yayınlar.

İşaretleme

MediaWiki (ve öncülü UseModWiki ) ile diğer wiki motorları arasındaki en eski farklardan biri CamelCase yerine " ücretsiz bağlantıların " kullanılmasıydı . MediaWiki oluşturulduğunda, World Wide Web hakkında bir sayfaya bağlantı oluşturmak için "WorldWideWeb" gibi bir metin gerektirmesi wikiler için tipikti ; MediaWiki'deki bağlantılar ise sözcükleri çift köşeli parantez içine alarak oluşturulur ve aralarındaki boşluklar olduğu gibi bırakılır, örn . Bu değişiklik, başlıklardaki doğruluğun önemli olduğu bir ansiklopedi oluşturmak amacıyla mantıklıydı. [[World Wide Web]]

MediaWiki, kullanımı ve öğrenmesi HTML'den daha kolay olacak şekilde tasarlanmış, genişletilebilir, hafif bir wiki işaretlemesi kullanır . Tablolar gibi içerikleri MediaWiki işaretlemesi ve HTML arasında dönüştürmek için araçlar mevcuttur . Bir MediaWiki biçimlendirme özelliği oluşturmak için çaba sarf edildi, ancak Wikicode'un bağlama duyarlı dilbilgisi kuralları gerektirdiği konusunda bir fikir birliğine varılmış görünüyor . Aşağıdaki yan yana karşılaştırma, wiki işaretlemesi ile HTML arasındaki farkları göstermektedir:

MediaWiki sözdizimi
(
metne biçimlendirme eklemek için kullanılan "perde arkası" kodu )
HTML eşdeğeri
(
metne biçimlendirme eklemek için kullanılan başka bir "perde arkası" kodu türü )
İşlenen çıktı
(bir site görüntüleyicisi tarafından ekranda görülür)
==== A dialogue ====

"Take some more [[tea]]," the March Hare said to Alice, very earnestly.

"I've had nothing yet," Alice replied in an offended tone: "so I can't take more."

"You mean you can't take ''less''," said the Hatter: "it's '''very''' easy to take ''more'' than nothing."
<h4>A dialogue</h4>

<p>"Take some more <a href="/wiki/Tea" title="Tea">tea</a>," the March Hare said to Alice, very earnestly.</p>

<p>"I've had nothing yet," Alice replied in an offended tone: "so I can't take more."</p>

<p>"You mean you can't take <i>less</i>," said the Hatter: "it's <b>very</b> easy to take <i>more</i> than nothing."</p>
Bir diyalog

Mart Tavşanı, Alice'e çok ciddi bir şekilde, " Biraz daha çay al ," dedi.

"Henüz hiçbir şeyim olmadı," diye gücenmiş bir tonda yanıtladı Alice: "bu yüzden daha fazlasını alamam."

"Daha azını alamazsın ," dedi Şapkacı: " hiç yoktan fazlasını almak çok kolay ."

(Yukarıdaki alıntı , Lewis Carroll'un Alice Harikalar Diyarında adlı kitabından alıntıdır )

Düzenleme arayüzü

MediaWiki 1.36( wmf ) düzenleme arayüzü , düzenleme araç çubuğunu ve bazı wiki sözdizimi örneklerini gösterir

MediaWiki'nin varsayılan sayfa düzenleme araçları, öğrenmesi biraz zor olarak tanımlanmıştır. MediaWiki tabanlı bir wiki kullanmak üzere atanan öğrencilerle yapılan bir anket, kendilerine wiki ile ilgili temel sorunlar hakkında açık bir soru sorulduğunda , %24'ünün biçimlendirme ile ilgili teknik sorunlardan bahsettiğini, örneğin "Görüntü nasıl alınacağını çözemedim. Sözcüklerle bir bağlantının nasıl gösterileceğini çözemiyorum; bir sayı ekliyor."

MediaWiki, uzun sayfaları düzenlemeyi kolaylaştırmak için bir sayfanın alt bölümünün (başlığında tanımlandığı gibi) düzenlenmesine izin verir. Kayıtlı bir kullanıcı, bir düzenlemenin küçük olup olmadığını da belirtebilir. Yazım, dil bilgisi veya noktalama işaretlerini düzeltmek küçük düzenlemelere örnektir, oysa yeni metin paragrafları eklemek küçük olmayan düzenlemelere örnektir.

Bazen bir kullanıcı düzenleme yaparken, ikinci bir kullanıcı düzenlemeyi sayfanın aynı bölümüne kaydeder. Ardından, ilk kullanıcı sayfayı kaydetmeye çalıştığında bir düzenleme çakışması oluşur. Daha sonra ikinci kullanıcıya, ilk kullanıcının sayfa kaydetmesinin ardından mevcut olduğu gibi, içeriğini sayfayla birleştirme fırsatı verilir.

MediaWiki'nin kullanıcı arayüzü birçok farklı dilde yerelleştirildi. "Content-Language" HTTP başlığında ve "lang" HTML özelliğinde gönderilmek üzere wiki içeriğinin kendisi için bir dil de ayarlanabilir .

Uygulama programlama Arayüzü

MediaWiki, MediaWiki veritabanlarında bulunan verilere doğrudan, yüksek düzeyde erişim sağlayan genişletilebilir bir web API'sine ( uygulama programlama arayüzü ) sahiptir. İstemci programları, oturum açmak, veri almak ve değişiklikleri göndermek için API'yi kullanabilir. API, ince web tabanlı JavaScript istemcilerini ve son kullanıcı uygulamalarını (vandallarla mücadele araçları gibi) destekler. API'ye başka bir web sitesinin arka ucu tarafından erişilebilir . Geniş bir Python bot kütüphane, Pywikibot ve adlı popüler yarı otomatik aracı AutoWikiBrowser , ayrıca API ile arayüz. API'ye, aşağıdaki gibi URL'ler aracılığıyla erişilir http://en.wikipedia.org/w/api.php?action=query&list=recentchanges. Bu durumda sorgu, Wikipedia'dan sitede yapılan son 10 düzenlemeyle ilgili bilgi ister. API'nin algılanan avantajlarından biri, dil bağımsızlığıdır; istemcilerden gelen HTTP bağlantılarını dinler ve XML , serileştirilmiş PHP veya JSON gibi çeşitli biçimlerde yanıt gönderebilir . İstemci kodu , API'ye soyutlama katmanları sağlamak için geliştirilmiştir .

Zengin içerik

Görüntüler galerilerde düzenlenebilir, bu özellik Wikimedia'nın medya arşivi Wikimedia Commons için yaygın olarak kullanılır .

MediaWiki, özel sözdizimi aracılığıyla oluşturulan zengin içeriği destekler . Örneğin, yazılım, LaTeX ve OCaml ile yazılmış özel bir ayrıştırıcı kullanarak matematiksel formülleri işlemek için isteğe bağlı destekle birlikte gelir . Matematiksel üzerinde grafiksel zaman çizelgeleri arasında değişen diğer içerikler için benzer işlevsellik, komplo ve müzikal puanları için Mısır hiyeroglifleri , uzantıları aracılığıyla mevcuttur.

Yazılım, çok çeşitli yüklenen medya dosyalarıyla başa çıkmada daha güçlü hale geldi. En zengin işlevselliği, resim galerilerinin ve küçük resimlerin nispeten kolaylıkla oluşturulabildiği resimler alanındadır. Exif meta verileri için de destek vardır . En büyük ücretsiz içerik medya arşivlerinden biri olan Wikimedia Commons'ı çalıştırmak için MediaWiki'nin kullanılması, bu alanda daha fazla işlevsellik ihtiyacını doğurmuştur.

WYSIWYG düzenleme için, VisualEditor , editörler için düzenleme sürecini basitleştiren MediaWiki'de kullanılabilir ve MediaWiki 1.35'ten beri paket halindedir . WYSIWYG düzenlemesini farklı derecelerde işlemek için başka uzantılar mevcuttur.

Düzenlemeleri izleme

MediaWiki'nin düzenlemeleri izlemeye yardımcı olan özellikleri arasında, wiki'de yapılan son düzenlemelerin bir listesini sağlayan Son Değişiklikler özelliği vardır. Bu liste, düzenleme yapan kullanıcı, düzenleme özeti, düzenlenen sayfa gibi düzenlemelerle ilgili temel bilgilerin yanı sıra, yardımcı olmayan düzenlemelerle mücadeleye yardımcı olmak için özelleştirilebilir kötüye kullanım filtreleri ve diğer uzantılar tarafından eklenen tüm etiketler (örneğin "olası kötü amaçlı yazılım bağlantısı") içerir. Daha aktif wikilerde, o kadar çok düzenleme yapılır ki, Son Değişiklikleri manuel olarak izlemek zordur. Kullanıcı destekli araçlar da dahil olmak üzere vandalizm önleme yazılımı, bazen Son Değişiklikler öğelerini işlemek için bu tür wikilerde kullanılır. Sunucu yükü, bu araçların izleyebileceği bir IRC kanalına sürekli olarak Son Değişiklikler beslemesi gönderilerek azaltılabilir ve bu araçların API'ye yenilenmiş Son Değişiklikler beslemesi için istek gönderme ihtiyacını ortadan kaldırır.

Bir diğer önemli araç ise izleme listesidir. Oturum açmış her kullanıcının, istediği sayfaları ekleyebileceği bir izleme listesi vardır. Bu sayfalardan birinde bir düzenleme yapıldığında, bir dahaki sefere yenilendiğinde izleme listesinde bu düzenlemenin bir özeti görünür. Son değişiklikler sayfasında olduğu gibi, izleme listesinde görünen son düzenlemeler, makale geçmişinin ve yapılan belirli değişikliklerin kolayca gözden geçirilmesi için tıklanabilir bağlantılar içerir.

Ayrıca, belirli bir kullanıcı tarafından yapılan tüm düzenlemeleri inceleme yeteneği de vardır. Bu şekilde, bir düzenleme sorunlu olarak tanımlanırsa, kullanıcının diğer düzenlemelerini sorun açısından kontrol etmek mümkündür.

MediaWiki, makalelerin belirli sürümlerine bağlantı verilmesine izin verir. Bu, bilim camiası için yararlı olmuştur, çünkü uzman hakemler makaleleri analiz edebilir, geliştirebilir ve o makalenin güvenilir versiyonuna bağlantılar sağlayabilir.

Navigasyon

Vikilinkler

Vikide gezinme, büyük ölçüde dahili wikibağlantılar aracılığıyla yapılır. MediaWiki'nin wiki bağlantıları, bir bağlantının yerel wiki'de mevcutsa mavi, yoksa kırmızı renkle renklendirildiği sayfa mevcudiyeti algılamayı uygular. Bir kullanıcı kırmızı bir bağlantıya tıklarsa, bu başlığa sahip bir makale oluşturması istenir. Sayfa varlığını algılama, kullanıcıların "wikified" makaleler (yani, diğer ilgili konulara bağlantılar içeren makaleler) bu diğer makaleler henüz var olmadan oluşturmasını pratik hale getirir.

interwiki bağlantıları

Interwiki bağlantıları, ad alanlarıyla hemen hemen aynı şekilde çalışır. Bir dizi interwiki öneki, örneğin, wikiquote:Jimbo Waleskullanıcıyı Wikiquote'daki Jimbo Wales makalesine yönlendirmek için bir sayfa başlığına neden olacak şekilde yapılandırılabilir . Dahili wiki bağlantılarından farklı olarak, interwiki bağlantıları sayfa varlığını algılama işlevinden yoksundur ve buna bağlı olarak mavi bir interwiki bağlantısının bozuk olup olmadığını anlamanın bir yolu yoktur.

Diller arası bağlantılar

Diller arası bağlantılara bir örnek

Diller arası bağlantılar, bir makaleyi aynı Wiki ailesindeki diğer dillerdeki ilgili makalelere bağlayan çoğu MediaWiki dış görünümünde kenar çubuğunda görünen küçük gezinme bağlantılarıdır. Bu, tüm wiki'lerin aynı sunucuda veya her birinin kendi sunucusunda olmasıyla, daha geniş bir bağlamla bağlanan dile özgü topluluklar sağlayabilir.

Daha önce Wikipedia, bir makaleyi aynı konuda Wikipedia'nın diğer sürümlerinde bulunan diğer makalelere bağlamak için diller arası bağlantıları kullanıyordu. Bu, Vikiveri'nin piyasaya sürülmesiyle yerini aldı.

içerik organizasyonu

Sayfa sekmeleri ve ilişkili sayfalar

MediaWiki sayfa sekmeleri, "Vektör" dış görünümünü kullanarak. "Tartışma" sekmesinin kırmızı rengi, makalenin henüz bir tartışma sayfasının olmadığını gösterir. Diğer tüm kırmızı wiki bağlantılarında olduğu gibi, üzerine tıklamak kullanıcıdan sayfayı oluşturmasını ister.

Sayfa sekmeleri sayfaların üst kısmında görüntülenir. Bu sekmeler, kullanıcıların mevcut sayfayla ilgili eylemleri gerçekleştirmesine veya sayfaları görüntülemesine olanak tanır. Kullanılabilir varsayılan eylemler, geçerli sayfayı görüntüleme, düzenleme ve tartışmayı içerir. Görüntülenen belirli sekmeler, kullanıcının vikide oturum açıp açmadığına ve kullanıcının vikide sistem hizmeti ayrıcalıklarına sahip olup olmadığına bağlıdır. Örneğin, bir sayfayı taşıma veya birinin izleme listesine ekleme yeteneği genellikle oturum açmış kullanıcılarla sınırlıdır. Site yöneticisi, JavaScript kullanarak veya uzantılar yükleyerek sekme ekleyebilir veya kaldırabilir.

Her sayfa kullanıcı şimdiye kadar var olan sayfanın her sürümünü erişebilir ve üretebilir hangi ilişkili geçmiş sayfası vardır diffs kendi seçtiği iki sürüm arasındaki. Kullanıcıların katkıları yalnızca burada değil, aynı zamanda bir kenar çubuğundaki "kullanıcı katkıları" seçeneği aracılığıyla da görüntülenir. Carl Challborn ve Teresa Reimann, "Bu özellik, wiki saflarının işbirlikçi, 'egosuz' ruhundan küçük bir sapma olsa da, bireysel öğrenci kullanıcılarının katkısını ve katılımını değerlendirmesi gereken eğitimciler için çok yararlı olabilir. "

Ad alanları

MediaWiki, içeriği yapılandırmak için köprülerin ötesinde birçok özellik sunar . Bu tür en eski özelliklerden biri ad alanlarıdır . Vikipedi'nin en eski sorunlarından biri, ansiklopedik içeriğin bakım ve toplumsal tartışmalarla ilgili sayfalardan ve ansiklopedi editörleriyle ilgili kişisel sayfalardan ayrılmasıydı. Ad alanları , sayfanın amacı için tanımlayıcı olarak hizmet eden ve aynı başlık altında farklı işlevlere sahip birden çok sayfanın bulunmasına izin veren bir sayfa başlığından (" User:" veya " Talk:" gibi) önce gelen öneklerdir. Örneğin [[The Terminator]], varsayılan ad alanında " " başlıklı bir sayfa Arnold Schwarzenegger'in oynadığı 1984 filmini tanımlayabilirken " " başlıklı bir sayfa bu adı takma ad olarak seçen bir kullanıcıyı tanımlayan bir profil olabilir. Daha yaygın olarak, her ad alanının, " " veya " " gibi içeriklerini tartışmak için kullanılabilen ilişkili bir " " ad alanı vardır . Tartışma sayfalarına sahip olmanın amacı, içeriğin içeriği çevreleyen tartışmadan ayrılmasına izin vermektir. [[User:The Terminator]]Talk:User talk:Template talk:

Ad alanları, farklı temel bilgi veya işlevsellik türlerini ayıran klasörler olarak görüntülenebilir . Özel ad alanları site yöneticileri tarafından eklenebilir. İçerik için varsayılan olarak 16 ad alanı vardır ve dinamik olarak oluşturulan Special:sayfalar ve medya dosyalarına bağlantılar için kullanılan 2 "sözde ad alanı" vardır . MediaWiki'deki her ad alanı numaralandırılmıştır: içerik sayfası ad alanlarının çift sayıları vardır ve bunlarla ilişkili tartışma sayfası ad alanlarının tek sayıları vardır.

Kategori etiketleri

Kullanıcılar, içerik metnine bir veya daha fazla kategori etiketi ekleyerek yeni kategoriler oluşturabilir ve bu kategorilere sayfalar ve dosyalar ekleyebilir. Bu etiketlerin eklenmesi, sayfanın alt kısmında, okuyucuyu o kategorideki tüm sayfaların listesine götüren ve ilgili makalelere göz atmayı kolaylaştıran bağlantılar oluşturur. İçeriği düzenlemek için kategorizasyonun kullanımı aşağıdakilerin bir kombinasyonu olarak tanımlanmıştır:

alt sayfalar

Ad alanlarına ek olarak, içerik alt sayfalar kullanılarak sıralanabilir . Bu basit özellik , eğik çizgiden sonraki sayfadan (bu durumda "Alt sayfa başlığı") eğik çizgiden önceki sayfaya (bu durumda "Sayfa başlığı") desenin otomatik olarak kırıntılarını sağlar [[Page title/Subpage title]].

özelleştirme

Kullanıcılar, her sayfa görüntülemede yürütülen özel JavaScript'i yapılandırabilir . Bu, kullanıcıların "yükleyebileceği" JavaScript araçlarına yol açtı, burada gösterilen "gezinme açılır pencereleri" aracı, bir bağlantı başlığının üzerine gelindiğinde bir makalenin küçük bir önizlemesini görüntüler.

Bu özellik etkinleştirilirse, kullanıcılar stil sayfalarını özelleştirebilir ve istemci tarafı JavaScript'i her sayfa görüntülemede yürütülecek şekilde yapılandırabilir . Wikipedia'da bu, wiki aracılığıyla geliştirilen ve kullanıcılar arasında paylaşılan çok sayıda ek araç ve yardımcıya yol açmıştır. Örneğin, gezinme açılır pencereleri , kullanıcı bağlantıların üzerine geldiğinde makalelerin önizlemelerini gösteren ve ayrıca genel bakım görevleri için kısayollar sağlayan özel bir JavaScript aracıdır.

Bir ekran görüntüsü özelleştirilmiş deriyle MediaWiki'yi kullanarak wiki'nin

MediaWiki kullanıcı arabiriminin tamamı, gerekli izinlere sahip kullanıcılar (genellikle "yöneticiler" olarak adlandırılır) tarafından wiki aracılığıyla düzenlenebilir. Bu, her sayfa başlığının belirli bir kullanıcı arabirimi mesajını tanımladığı "MediaWiki:" ön ekine sahip özel bir ad alanı aracılığıyla yapılır. Bir uzantı kullanarak, bir kullanıcının kişisel komut dosyaları oluşturması ve kullanıcı tercihleri ​​sayfasındaki uygun seçenekleri değiştirerek site genelindeki belirli komut dosyalarının bunlara uygulanıp uygulanmayacağını seçmesi de mümkündür.

şablonlar

"MediaWiki:" ad alanı, daha sonra özel bir sözdizimi kullanılarak dinamik olarak diğer sayfalara yüklenebilen özel metin blokları oluşturmak için de kullanıldı. Bu içerik daha sonra kendi ad alanına, "Şablon:"a taşındı.

Şablonlar, o sayfa istendiğinde başka bir sayfaya dinamik olarak yüklenebilen metin bloklarıdır. Şablon , şablon çağrısı yerine yüklemek üzere şablonu çağıran (bu durumda Template:Disputed konumunda bulunur ) çift küme parantezinde (örneğin " {{Disputed|date=October 2018}}") özel bir bağlantıdır .

Şablonlar, nitelik-değer çiftlerini içeren yapılandırılmış belgelerdir . Onlar ile tanımlanır parametrelere atanmış bulunduğumuz değerleri zaman çapraz dahil bir makale sayfasındaki. Parametresinin adı olan sınırlandırılmış bir tarafından değerden eşittir işareti . Bilgi kutuları olarak bilinen bir şablon sınıfı , genellikle belgenin üst (mobil görünüm) veya sağ üst köşesinde (masaüstü görünümü) konusu hakkında bir bilgi alt kümesi toplamak ve sunmak için Wikipedia'da kullanılır.

Şablon değiştirme adı verilen subst:(bir şablon bağlantısının başına ekleyerek çağrılır) ilgili bir yöntem, şablon içeriğini sayfa yüklendiğinde dinamik olarak yüklemek yerine şablonun içeriğini ( kopyala ve yapıştır işlemi gibi) hedef sayfaya ekler. . Bu, şablonları kullanırken tutarsızlığa neden olabilir, ancak bazı durumlarda yararlı olabilir ve çoğu durumda daha az sunucu kaynağı gerektirir (gerçek tasarruf miktarı, wiki yapılandırmasına ve şablonun karmaşıklığına bağlı olarak değişebilir).

Şablonlar birçok farklı kullanım bulmuştur. Şablonlar, kullanıcıların birden çok sayfada tutarlı bir şekilde kullanılan ve şablon parametreleri kullanılarak yalnızca tablo içeriğinin eklendiği karmaşık tablo düzenleri oluşturmasına olanak tanır. Şablonlar, bir Wikipedia makalesiyle ilgili sorunları, makaleye bir şablon koyarak tanımlamak için sıklıkla kullanılır. Bu şablon daha sonra, makale içeriğinin tartışmalı olduğunu veya başka bir ilgiye ihtiyaç duyduğunu belirten bir grafik kutu çıkarır ve ayrıca bu nitelikteki makalelerin bulunabilmesi için onu kategorilere ayırır. Şablonlar ayrıca, kullanıcıları siteye davet eden standart mesajlar göndermek, olağanüstü katkıları için ödüller vermek, davranışları uygunsuz görüldüğünde onları uyarmak, düzenlemeleri engellendiğinde onları bilgilendirmek vb. için kullanıcı sayfalarında kullanılır.

Gruplar ve erişim kısıtlaması

MediaWiki, kullanıcı grupları oluşturma ve tanımlama konusunda esneklik sunar. Örneğin, kullanıcıları engelleyebilen ve sayfaları silebilen ve düzenlemeleri varsayılan olarak son değişiklikler günlüğünde gizlenen rastgele bir "ninja" grubu oluşturmak mümkün olacaktır. Belirli sayıda düzenleme yaptıktan ve belirli sayıda gün bekledikten sonra üye olunan bir "otomatik onaylı" kullanıcı grubu oluşturmak da mümkündür. Varsayılan olarak etkinleştirilen bazı gruplar bürokratlar ve sistem yöneticileridir. Bürokratların diğer kullanıcıların haklarını değiştirme yetkisi vardır. Sysops, sayfa koruma ve silme ve kullanıcıların düzenleme yapmasını engelleme üzerinde güce sahiptir. MediaWiki'nin düzenleme haklarına ilişkin mevcut denetimleri, bir hastanede standart işletim prosedürleri kılavuzu gibi önemli belgeleri yayınlamak ve muhafaza etmek için yeterli kabul edilmiştir .

Bir sayfa yalnızca gereksiz içerikten oluşuyorsa, bu içeriği kaldırmanın birkaç yolu vardır. Tüm kullanıcılar için mevcut olan en basit yol, sayfayı boş bırakmaktır. Ancak, boş sayfaları yokmuş gibi ele almak için bir uzantı yüklenmedikçe bu, sayfa varlığının algılanmasına müdahale eder. Boşluk, içeriğin geçmiş sayfası aracılığıyla erişilebilir olmasını da sağlar; bu, sistem hizmetlisi olmayanların içerik kaldırma kararını uygunluk açısından kolayca gözden geçirmelerine izin vererek şeffaflığı potansiyel olarak artırırken , bazı durumlarda kabul edilemez ve hatta yasa dışı olabilir. Diğer bir seçenek de, bir hizmetlinin sayfayı silmesi ve böylece hizmetçi olmayanlar tarafından görüntülenmesini engellemektir. RevisionDelete adı verilen başka bir silme düzeyi, bir sayfanın o grubun üyesi olmayan kişiler tarafından görüntülenmesini önlemek için bir grup (örn. "Gözetenler") tarafından kullanılabilir. Belirli uzantıları kullanarak, wiki'deki normal kanallardan herhangi biri aracılığıyla içeriğin görüntülenmesini kaldırmak veya hatta revizyonları veritabanından tamamen silmek de mümkündür.

MediaWiki, erişimi kısıtlamayla ilgili bir dizi temel özellikle birlikte gelir, ancak orijinal ve devam eden tasarımı, içerik ayrımıyla değil, büyük ölçüde içerikle ilgili işlevler tarafından yönlendirilir. Sonuç olarak, minimum istisnalar dışında (belirli araçlar ve bunlarla ilgili "Özel" sayfalarla ilgili), sayfa erişim kontrolü, temel geliştirmede hiçbir zaman yüksek bir öncelik olmadı ve geliştiriciler, güvenli kullanıcı erişimi ve yetkilendirme kontrollerine ihtiyaç duyan kullanıcıların, bunlara güvenmemeleri gerektiğini belirtti. MediaWiki, bu tür durumlar için asla tasarlanmadığından. Örneğin, yalnızca belirli kullanıcıların bazı sayfaları okuyup erişebildiği bir wiki oluşturmak son derece zordur. Burada Foswiki , MoinMoin ve Confluence gibi wiki motorları , erişim kontrol listeleri gibi gelişmiş güvenlik mekanizmalarını destekleyerek daha fazla esneklik sağlar .

genişletilebilirlik

MediaWiki kod tabanı, genişletilebilir bir şekilde ek PHP kodu eklemek için geri çağırma işlevlerini kullanan çeşitli kancalar içerir . Bu, geliştiricilerin çekirdeği değiştirmeye veya kodlarını inceleme için göndermelerine gerek kalmadan uzantılar yazmasına olanak tanır. Bir uzantı yüklemek genellikle yapılandırma dosyasına bir satır eklemekten oluşur, ancak bazı durumlarda veritabanı güncellemeleri veya çekirdek yamalar gibi ek değişiklikler gerekir.

Geliştiricilerin MediaWiki'ye özellikler ve işlevler eklemesine izin vermek için beş ana uzantı noktası oluşturuldu. Kancalar, belirli bir olay her gerçekleştiğinde çalıştırılır; örneğin, ArticleSaveCompletekanca, bir makale kaydetme isteği işlendikten sonra gerçekleşir. Bu, örneğin, yeni veya anonim kullanıcılardan wiki'de bir sayfa düzenlemesi gerçekleştiğinde seçilen kullanıcıları bilgilendiren bir uzantı tarafından kullanılabilir. Açılış ve kapanış etiketleri ( <newtag>...</newtag>) ile verileri işlemek için yeni etiketler oluşturulabilir . Ayrıştırıcı işlevleri, yeni bir komut ( {{#if:...|...|...}}) oluşturmak için kullanılabilir . Belirli bir işlevi gerçekleştirmek için yeni özel sayfalar oluşturulabilir. Bu sayfalar dinamik olarak oluşturulur. Örneğin, özel bir sayfa, harici bir siteye bir veya daha fazla bağlantısı olan tüm sayfaları gösterebilir veya kullanıcı tarafından gönderilen geri bildirimleri sağlayan bir form oluşturabilir. Dış görünümler, kullanıcıların MediaWiki'nin görünümünü ve verdiği hissi özelleştirmesine olanak tanır. Küçük bir uzantı noktası, görüntü dosyalarını barındırmak için Amazon S3 kullanımına izin verir .

Uzantılar

Geliştiriciler için kaynaklar

MediaWiki, uzantıları aracılığıyla çeşitli amaçlar için daha gelişmiş ve kullanışlı hale getirilebilir. Bu uzantılar karmaşıklık açısından büyük ölçüde değişir.

Wikimedia Foundation, birçok uzantının depolarını barındırdığı bir Git sunucusu işletir . Çoğunun MediaWiki web sitesinde bir dokümantasyon sayfası da vardır.

MediaWiki kod incelemesi , tarihsel olarak bir MediaWiki uzantısı aracılığıyla kolaylaştırılmıştır. Mart 2012 itibariyle Gerrit üzerinden yapılmıştır .

1.16 sürümünden bu yana MediaWiki, jQuery kitaplığını kullanır .

Metin işleme

2008 yılında Tim Starling'in

En popüler uzantılar arasında, koşullu ifadelerin sonucuna göre farklı içeriğin oluşturulmasına izin veren bir ayrıştırıcı işlevi uzantısı olan ParserFunctions bulunur . Bu koşullu ifadeler, bir parametrenin boş olup olmadığının değerlendirilmesi, dizelerin karşılaştırılması, matematiksel ifadelerin değerlendirilmesi ve bir sayfanın bulunup bulunmadığına bağlı olarak iki değerden birinin döndürülmesi gibi işlevleri gerçekleştirebilir. {{Qif}} adlı kötü şöhrete sahip verimsiz bir şablonun yerini almak üzere tasarlandı. Schindler, ParserFunctions uzantısının geçmişini şöyle anlatıyor:

2006'da bazı Vikipedistler, şablon oluşturma özelliklerinin ve CSS'nin karmaşık ve karmaşık etkileşimi yoluyla koşullu wiki metni, yani bir şablon parametresinin belirli bir değeri varsa görüntülenen metin oluşturabileceklerini keşfettiler. Bu, tüm sistemin performansını çıkmaza sokan, şablonlar içinde tekrarlanan şablon çağrılarını içeriyordu. Geliştiriciler, açıkça istenen bir özelliğin bu tür bir kullanımı tespit ederek yayılmasına izin vermeme ve yazılım içinde buna açıkça izin vermeme veya verimli bir alternatif sunma seçeneğiyle karşı karşıya kaldı. İkincisi, temel yazılımda uygulanan işlevleri çağıran wiki metni olan ayrıştırıcı işlevlerinin tanıtıldığını duyuran Tim Starling tarafından yapıldı. İlk başta, yalnızca koşullu metin ve basit matematiksel ifadelerin hesaplanması uygulandı, ancak bu, wiki editörlerinin olanaklarını büyük ölçüde artırdı. Zamanla başka ayrıştırıcı işlevler tanıtıldı ve sonunda, örneğin coğrafi kodlama hizmetleri veya widget'lar gibi isteğe bağlı işlevler eklemek için genişletme işlevinin basit bir şekilde yazılmasına izin veren bir çerçeveye yol açtı. Bu sefer geliştiriciler, topluluğun talebine açıkça tepki veriyorlardı, ya topluluğun sahip olduğu sorunun çözümüyle (yani koşullu metin) mücadele etmeye ya da önceki uygulamanın yerini almak ve genel olarak daha iyi bir sonuç elde etmek için geliştirilmiş bir teknik uygulama sunmaya zorlanıyorlardı. verim.

Başka bir ayrıştırıcı işlevi uzantısı olan StringFunctions, dize uzunluğunun, dize konumunun vb. değerlendirilmesine olanak sağlamak için geliştirilmiştir. Aynı işlevi gerçekleştirmek için garip geçici çözümler yaratan Wikimedia toplulukları, projelerinde etkinleştirilmesi için yaygara kopardılar. İşlevselliğinin çoğu, varsayılan olarak devre dışı bırakılmış olsa da sonunda ParserFunctions uzantısına entegre edildi ve Tim Starling'den, dize işlevlerini etkinleştirmenin kullanıcıların "insanların bildiği en çirkin, en verimsiz programlama dilinde kendi ayrıştırıcılarını uygulamalarına izin vereceğini" belirten bir uyarı eşlik etti: MediaWiki ParserFunctions ile wikitext."

2012'den bu yana, "modüller" - Lua betik diliyle yazılmış wiki sayfaları  - ve daha sonra şablonlar ve standart wiki sayfaları içinde çalıştırılabilen bir uzantı olan Scribunto mevcuttur . Scribunto, 2013'ten beri Wikipedia ve diğer Wikimedia sitelerine yüklenmiştir ve bu sitelerde yoğun olarak kullanılmaktadır. Scribunto kodu, ParserFunctions kullanılarak karşılık gelen wikitext kodundan önemli ölçüde daha hızlı çalışır.

Dipnotlar ve akademik ile ilgili gösterim için

Bir diğer çok popüler uzantı, satır içi referanslar kullanılarak sayfalara dipnot eklenmesini sağlayan bir alıntı uzantısıdır. Ancak bu uzantı, kullanımı zor olduğu ve kullanıcının karmaşık sözdizimini ezberlemesini gerektirdiği için eleştirildi. RefToolbar adlı bir gadget, ortak şablonlar kullanarak alıntılar oluşturmayı kolaylaştırmaya çalışır. MediaWiki, matematik uzantıları ve moleküllerin 3B olarak oluşturulmasına izin veren bir uzantı gibi akademi için çok uygun bazı uzantılara sahiptir .

Entegrasyon

MediaWiki'nin neredeyse her şeyle entegre olmasına izin veren genel bir Widget uzantısı mevcuttur. Bir wiki'yi geliştirebilecek diğer uzantı örnekleri, kategori öneri uzantıları ve Flash Videoları , YouTube videoları ve RSS beslemelerinin eklenmesi için uzantılardır . ABD Senatosu ve Meclis oturumlarının video görüntülerini arşivleyen bir site olan Metavid , MediaWiki'yi ortak video yazma alanına genişleten kod kullanılarak oluşturuldu.

Linkspam ile mücadele

MediaWiki'nin bu tür arama motoru optimizasyonu girişimlerini caydırmak için nofollow niteliğini kullanmasına rağmen , Web'de MediaWiki kurulumları için arama yapan ve bunlara spam linkler ekleyen birçok spam botu vardır . Sorunun bir kısmı, aynalar gibi üçüncü taraf yeniden yayımcıların kendi web sitelerinde nofollow etiketini bağımsız olarak uygulayamayacak olmalarıdır, bu nedenle pazarlamacılar, bu girişler üçüncü taraf web sitelerinde göründüğünde sayfalara bağlantılar ekleyerek yine de PageRank avantajı elde edebilir . CAPTCHA'ları tanıtarak , belirli URL'leri kara listeye alarak ve belirli bir kullanıcı tarafından yakın zamanda eklenen sayfaların toplu olarak silinmesine izin vererek sorunla mücadele etmek için anti-spam uzantıları geliştirilmiştir .

Aramalar ve sorgular

MediaWiki, standart bir metin tabanlı arama ile önceden yüklenmiş olarak gelir. MediaWiki'nin Elasticsearch (2014'ten beri Wikipedia'da kullanılmaktadır), Lucene ve Sphinx dahil olmak üzere daha karmaşık üçüncü taraf arama motorlarını kullanmasına izin vermek için uzantılar mevcuttur .

Hem wiki'ye girilen verilerde hem de sayfaların revizyon geçmişi gibi meta verilerde daha karmaşık, yönlü aramaya izin vermek için çeşitli MediaWiki uzantıları da oluşturulmuştur . Semantic MediaWiki böyle bir uzantıdır.

Veri tabanı

MediaWiki veritabanı yapısının bir şeması

MediaWiki, MySQL / MariaDB , PostgreSQL veya SQLite ilişkisel veritabanı yönetim sistemini kullanabilir . Destek Oracle Veritabanı ve Microsoft SQL Server MediaWiki 1,34 beri bırakıldı. Bir MediaWiki veritabanı, sayfa başlıklarını, sayfa kimliklerini ve diğer meta verileri içeren bir tablo dahil olmak üzere birkaç düzine tablopage içerir; ve revisionher düzenleme yapıldığında yeni bir satır eklenen, sayfa kimliğini, yapılan değişikliğin kısa bir metinsel özetini, makale editörünün kullanıcı adını (veya kayıtsız bir kullanıcı olması durumunda IP adresini) içeren bir tablo. ve bir zaman damgası.

4½ yıllık bir dönemde, MediaWiki veritabanı 170 şema versiyonuna sahipti . Muhtemelen en büyük şema değişikliği, performans esnekliğini artırmak için meta verilerin depolanması içerikten ayrıldığında MediaWiki 1.5'te yapıldı. Bu yükseltme Wikipedia'ya uygulandığında site düzenleme için kilitlendi ve şema yaklaşık 22 saat içinde yeni sürüme dönüştürüldü. Makale bölümlerinin izleme listesi aracılığıyla izlenmesine izin veren bir teklif gibi bazı yazılım geliştirme teklifleri, gerekli şema değişikliklerinin aşırı Wikipedia kesintisi gerektireceğinden reddedilmiştir.

Performans ve depolama

Web'deki en yüksek trafiğe sahip sitelerden biri olan Wikipedia'yı çalıştırmak için kullanıldığından, MediaWiki'nin performansı ve ölçeklenebilirliği yüksek oranda optimize edilmiştir. MediaWiki, Squid'i , yük dengeli veritabanı çoğaltmayı, istemci tarafında önbelleğe almayı, sorgu sonuçlarının sık erişilen işlenmesi için memcached veya tablo tabanlı önbelleğe almayı, basit bir statik dosya önbelleğini, özelliği azaltılmış işlemi, revizyon sıkıştırmasını ve veritabanı işlemleri için bir iş kuyruğunu destekler . MediaWiki geliştiricileri, pahalı algoritmalardan, veritabanı sorgularından vb. kaçınarak, pahalı olan ve geçici referans yerelliğine sahip her sonucu önbelleğe alarak ve profil oluşturma yoluyla koddaki sıcak noktalara odaklanarak yazılımı optimize etmeye çalıştılar .

MediaWiki kodu, verilerin bir okuma-yazma veritabanına yazılmasına ve salt okunur veritabanlarından okunmasına izin verecek şekilde tasarlanmıştır, ancak salt okunur veritabanları henüz güncel değilse okuma-yazma veritabanı bazı okuma işlemleri için kullanılabilir. . Makale revizyon geçmişi, makale ilişkileri (bağlantılar, kategoriler vb.), kullanıcı hesapları ve ayarları gibi meta veriler , çekirdek veritabanlarında saklanabilir ve önbelleğe alınabilir; daha nadiren kullanılan gerçek revizyon metni, harici depolamada yalnızca ekleme blobları olarak saklanabilir. Yazılım, Ağustos 2011 itibariyle yaklaşık 800 wiki'si olan Wikimedia gibi büyük ölçekli wiki çiftliklerinin işletilmesi için uygundur . Ancak MediaWiki, bu tür kurulumları yönetmek için yerleşik bir GUI'ye sahip değildir.

Ampirik kanıtlar, MediaWiki veritabanlarındaki çoğu revizyonun önceki revizyonlardan sadece biraz farklı olma eğiliminde olduğunu göstermektedir. Bu nedenle, bir makalenin sonraki revizyonları birleştirilebilir ve ardından sıkıştırılarak 100x'e kadar çok yüksek veri sıkıştırma oranları elde edilebilir .

Viki metni nasıl depoladığı ve bir sayfayı nasıl bir araya getirdiği gibi mimari hakkında daha fazla bilgi için bkz. Dış bağlantılar .

sınırlamalar

Ayrıştırıcı , resmi bir sözdizimi tanımlanmadığından MediaWiki sözdizimi için fiili standart olarak hizmet eder . Bu resmi tanım eksikliği nedeniyle , popüler VisualEditor dahil olmak üzere birkaç WYSIWYG uzantısı mevcut olmasına rağmen, MediaWiki için WYSIWYG editörleri oluşturmak zor olmuştur .

MediaWiki , her ikisine de izin veren uzantılar olmasına rağmen, özel çevrimiçi forum veya blog yazılımı için uygun bir yedek olacak şekilde tasarlanmamıştır .

Yeni MediaWiki kullanıcılarının, MediaWiki tartışma sayfalarında iletişimle ilgili özel ayrıntılara aşina olmamaları nedeniyle gönderileri dört tilde (~~~~) ile imzalamayı unutmak veya düz metin imzasını manuel olarak girmek gibi belirli hatalar yapmaları yaygındır. Öte yandan, bu tartışma sayfalarının formatı, tartışma için geleneksel zincirli tartışma forumlarından daha ince taneli yetenekler sağladığını belirten bir eğitimci tarafından güçlü bir yön olarak gösterildi. Örneğin, bir iletinin tamamına 'yanıt vermek' yerine, bir tartışmadaki katılımcı, orijinal sayfadaki herhangi bir kelimeyle yeni bir wiki sayfasına bir köprü oluşturabilir. İçerik, geleneksel bir ileti dizili tartışma forumunda bir dizi yanıt mesajı yerine köprü bağlantılı wiki sayfası aracılığıyla erişilebilir olduğundan, tartışmaları takip etmek daha kolaydır. Ancak, birkaç durum dışında, öğrenciler, muhtemelen geleneksel doğrusal tartışma stiline aşinalıklarından ve içeriğin nasıl daha ' bağlantı açısından zengin ' hale getirileceği konusunda rehberlik eksikliğinden dolayı bu yeteneği kullanmıyorlardı .

MediaWiki, varsayılan olarak, dinamik olarak birleştirilmiş belgelerin veya diğer sayfalardan veri toplayan sayfaların oluşturulması için çok az desteğe sahiptir. Bu tür özelliklerin doğrudan MediaWiki içinde etkinleştirilmesi konusunda bazı araştırmalar yapılmıştır. Semantik MediaWiki uzantısı bu özellikleri sağlar. Wikipedia'da kullanımda değil, ancak 1.600'den fazla diğer MediaWiki kurulumunda. Ancak Wikibase Deposu ve Wikibase Deposu istemcisi sırasıyla Wikidata ve Wikipedia'da uygulanmaktadır ve bir dereceye kadar anlamsal web özellikleri ve merkezi olarak depolanan verilerin çeşitli Wikipedia makalelerindeki bilgi kutularına bağlanmasını sağlar.

MediaWiki'yi yükseltmek genellikle tamamen otomatiktir ve site içeriğinde veya şablon programlamasında herhangi bir değişiklik gerektirmez. Önemli ölçüde eski sürümlerden yükseltme yaparken tarihsel sorunlarla karşılaşıldı.

Güvenlik

MediaWiki geliştiricileri, hem çekirdek kod hem de uzantılar için güvenlik standartlarını yürürlüğe koydu. SQL sorguları ve HTML çıktısı genellikle doğrulama, kaçış, siteler arası komut dosyası çalıştırma ve SQL enjeksiyonunun önlenmesi için filtreleme işlemlerini gerçekleştiren sarmalayıcı işlevler aracılığıyla yapılır . MediaWiki sürümü yayınlandıktan sonra birçok güvenlik sorununun yamalanması gerekti ve buna göre MediaWiki.org, duyuru listserv'e abone olarak ve güvenlik güncellemelerini yükleyerek "Yapabileceğiniz en önemli güvenlik adımı yazılımınızı güncel tutmaktır" diyor. duyurulur.

Geliştirici topluluğu

MediaWiki geliştiricileri, çoğunluğu Amerika Birleşik Devletleri ve Avrupa'da olmakla birlikte, dünyanın her yerine yayılmıştır. MediaWiki geliştiricileri için yüz yüze toplantılar ve programlama oturumları 2004'ten beri yılda bir veya birkaç kez gerçekleştirilmektedir.

Destek

MediaWiki kullanıcıları için destek şunlardan oluşur:

  • Destek Masası dahil MediaWiki.org .
  • Resmi bir posta listesi, Mediawiki-l .
  • MediaWiki yönetimi hakkında bazı ücretsiz çevrimiçi kitaplar da dahil olmak üzere birçok kitap yazılmıştır.

Diğer çevrimiçi işbirliği yazılımlarıyla karşılaştırma

Çevrimiçi işbirliği yazılımı kullanıcıları, Wikipedia'da belirtilen kullanımı nedeniyle MediaWiki'nin işlevlerine ve düzenine aşinadır. Diğer wiki'lerle karşılaştırıldığında, MediaWiki basit olmasına rağmen estetik açıdan da oldukça hoştur ve kolayca özelleştirilebilen bir yan menüye ve stil sayfasına sahiptir . Ancak, 2006'daki bir değerlendirmede, Confluence çok kullanışlı API'si ve birden çok wikiyi daha iyi destekleme yeteneği nedeniyle üstün bir ürün olarak kabul edildi. Wiki sağlayıcıları Socialtext ve JotSpot , MediaWiki'de bulunmayan proje yönetimi özelliklerine sahiptir/ sahiptir.

Hong Kong Üniversitesi'nde TWiki ile MediaWiki'yi karşılaştıran bir araştırma yapıldı . Yazarlar, TWiki'nin eğitim makalelerinin ve teknik projelerin geliştirilmesi için ortak bir araç olarak görüldüğünü, MediaWiki'nin en çok dikkat çeken kullanımının Wikipedia'da olduğunu belirtti. Her iki platform da tartışmaya ve ilerlemenin izlenmesine izin verse de, TWiki'nin MediaWiki'de eksik olan bir "Rapor" bölümü vardır. Öğrenciler, MediaWiki'yi TWiki'den daha kolay ve daha eğlenceli olarak algıladılar. Bilgi yönetimi kursu grup projesi için MediaWiki'yi kullanmayı önerip önermedikleri sorulduğunda , 16 katılımcıdan 15'i MediaWiki'yi "tabii ki", "kesinlikle" gibi büyük bir kesinlikte yanıtlar vererek tercih ettiklerini belirtti. TWiki ve MediaWiki'nin her ikisi de esnek eklenti mimarisine sahiptir.

Öğrencilerin MediaWiki ile olan deneyimlerini Google Dokümanlar ile karşılaştıran bir araştırma, öğrencilerin ikincisine kullanıcı dostu düzen konusunda çok daha yüksek bir puan verdiğini buldu.

Ayrıca bakınız

Referanslar

Dış bağlantılar