MediaWiki je názov softvéru, na ktorom bežia všetky projekty Wikimedia. MediaWiki bola vydaná v roku 2003. Je to slobodný serverový softvér, ktorý je licencovaný pod všeobecnou verejnou licenciou GNU (GPL). Tento softvér je licencovaný pod licenciou GPL. To znamená, že ide o voľný obsah alebo otvorený zdrojový kód.
MediaWiki je navrhnutá na prevádzku na veľkej farme webových serverov pre webové stránky, ktoré majú milióny návštev denne. MediaWiki je veľmi výkonný, škálovateľný softvér a implementácia wiki s bohatými funkciami, ktorá používa PHP na spracovanie a zobrazovanie údajov uložených v databáze MySQL. Stránky používajú formát Wikitext MediaWiki, takže ich môžu ľahko upravovať aj používatelia bez znalostí XHTML alebo CSS.
Keď používateľ odošle úpravu stránky, MediaWiki ju zapíše do databázy, ale bez vymazania predchádzajúcich verzií stránky, čo umožňuje jednoduché vrátenie v prípade vandalizmu alebo spamovania. MediaWiki dokáže spravovať aj obrazové a multimediálne súbory, ktoré sú uložené v súborovom systéme. Pre veľké wiki s veľkým počtom používateľov podporuje MediaWiki ukladanie do vyrovnávacej pamäte a dá sa ľahko prepojiť so softvérom proxy servera Squid.
Všetky projekty Wikimedia bežia na MediaWiki verzie 1.35.0-wmf.31 (c33756d).
Krátka história a vývoj
MediaWiki vznikla ako softvér vytvorený pre potreby Wikipédie a prvá verejná verzia bola vydaná v roku 2003. Odvtedy sa vyvíja aktívne – prispievajú doň vývojári z komunity i zamestnanci nadácií a organizácií, ktoré ho používajú. Kód je verejný, spravovaný a vydávaný v podobe stabilných verzií a dlhodobých podpôr (LTS).
Hlavné vlastnosti
- História stránok a revízie: všetky úpravy sa ukladajú samostatne, čo umožňuje porovnanie (diff), vrátenie zmien a auditovanie.
- Wikitext a vizuálny editor: predvolený formát na tvorbu obsahu je Wikitext; existujú však aj moderné rozhrania na vizuálne editovanie (napr. VisualEditor) a nástroje Parsoid na spracovanie HTML.
- Štruktúra obsahu: podporuje menné priestory (namespaces), šablóny, kategórie, presmerovania, odkazy na iné wiki a transklúziu obsahu.
- Multimédiá: nahrávanie a správa obrázkov a iných súborov; možné použitie lokálneho súborového systému alebo vzdialeného úložiska cez rozšírenia (S3, Ceph a podobne).
- Rozšíriteľnosť: bohaté API a systém rozšírení umožňujú pridávať funkcie (napr. Scribunto pre Lua skripty, Cite, ParserFunctions, CirrusSearch pre vyhľadávanie).
- Bezpečnosť a správa práv: systém používateľských práv, ochrana proti CSRF, edit filters, abuse filters a nástroje na správu vandalizmu (rollback, revidovanie).
- Automatizácia a boty: plne podporované cez HTTP API, existuje množstvo knižníc (pywikibot a ďalšie) pre automatizované úlohy.
Architektúra a škálovanie
MediaWiki je navrhnutá pre prevádzku v prostredí s vysokou záťažou. Používa sa v architektúrach s viacerými vrstvami:
- aplikačné servery bežiace PHP,
- relačná databáza (bežne MySQL/MariaDB, ale existuje aj podpora pre PostgreSQL či SQLite pre menšie inštalácie),
- cache (memcached, Redis) a proxy/HTTP cache (Varnish, Squid),
- fulltextové vyhľadávanie (napr. CirrusSearch s ElasticSearch),
- asynchrónne spracovanie úloh cez job queue a replikáciu databáz pre čítanie.
Táto modularita umožňuje horizontálne škálovanie pre wiki s miliónmi návštevníkov denne.
Rozšírenia, vzhľady a lokalizácia
Existuje veľké množstvo rozšírení (extensions) a vzhľadov (skins), ktoré upravujú funkčnosť a vzhľad wiki. Medzi populárne rozšírenia patria napríklad VisualEditor, Scribunto (umožňuje spúšťať Lua skripty v šablónach), a rozšírenia pre citácie, hodnotenie revízií alebo vylepšené vyhľadávanie. MediaWiki má tiež silnú podporu internacionalizácie a lokalizácie – používateľské rozhranie je dostupné v stovkách jazykov.
Licencia a komunita
MediaWiki je slobodný softvér s otvoreným zdrojovým kódom, licencovaný pod GNU General Public License (GPL). Kód je verejne dostupný, prispieva doň rozsiahla komunita vývojárov, dokumentaristov a administrátorov. Nadácia Wikimedia spravuje a udržiava vlastné vetvy MediaWiki používané pre projekty Wikimedie, pričom mnohé zmeny a opravy sú postupne integrované do hlavnej vetvy projektu.
Použitie vo wikimedia projektoch
Projekty nadácie Wikimedia používajú MediaWiki s množstvom vlastných vylepšení, konfigurácií a interných rozšírení, ktoré sú prispôsobené ich špecifickým potrebám. Vývoj aj nasadzovanie prebieha kontinuálne, takže konkrétna verzia MediaWiki, ktorá beží na serveroch Wikimedie, sa môže priebežne meniť a byť upravovaná internými opravami a záplatami.
Poznámka: uvedený text pôvodne obsahuje základné informácie o MediaWiki; vyššie sú pridané podrobnosti o funkciách, architektúre, rozšíreniach a spôsobe nasadenia v prostredí s veľkou záťažou.

