MediaWiki je ime programske opreme, ki upravlja vse projekte Wikimedie. MediaWiki je bila prvič izdana leta 2003. Gre za brezplačno strežniško programsko opremo, licencirano pod GNU General Public License (GPL), kar pomeni, da je izvorna koda odprta in da lahko skupnost prosto pregleduje, spreminja in širi program. Zaradi odprte licence je MediaWiki priljubljena izbira tako za velike javne projekte kot tudi za manjše zasebne intranete.
Arhitektura in uporabljene tehnologije
MediaWiki je zasnovan za delovanje na strežniku in za obdelavo vsebin uporablja programski jezik PHP. Podatki o straneh in njihovih različicah se običajno shranjujejo v zbirki podatkov MySQL (pogosto vključno z združljivimi sistemi, kot je MariaDB), čeprav je mogoče uporabljati tudi druge podatkovne strežnike ali lažje rešitve pri manjših nameščanjih. Besedilo strani je v formatu Wikitext, kar omogoča preprosto označevanje in urejanje brez poznavanja XHTML ali CSS.
Skalabilnost in zmogljivost
MediaWiki je razvit z mislijo na visoko obremenjene spletne strani; z ustrezno konfiguracijo in strojno opremo lahko podpira spletne strani z milijoni ogledov na dan. Za izboljšanje odzivnosti in zmanjšanje obremenitve strežnika podpira predpomnjenje in enostavno integracijo s proxy rešitvami, kot je Squid. Poleg tega imajo velike namestitve pogosto večplastno arhitekturo z ločenimi strežniki za bazo podatkov, predpomnilnik, iskanje in strežbo datotek.
Glavne funkcionalnosti
- Urejanje strani z ohranjanjem zgodovine: vsaka sprememba je shranjena kot nova različica, tako da je vedno možen povratek na prejšnje stanje (primer pri vandalizmu ali napaki).
- Upravljanje datotek: MediaWiki omogoča nalaganje in uporabo slik ter drugih večpredstavnostnih datotek, ki se shranjujejo v datotečnem sistemu ali v namenskem shrambi.
- Uporabniški računi in pravice: sistem podpira registrirane uporabnike, pravice za urejanje, zaščito strani in vloge (npr. skrbniki), zaradi česar je mogoče nadzorovati, kdo kaj lahko spreminja.
- Nadzor sprememb in orodja proti zlorabam: funkcije, kot so seznam nedavnih sprememb, opozorila, označevanje in orodja za hitro razveljavitev sprememb (rollback), olajšajo upravljanje vandalizma.
- Strukture vsebin: imeniški prostori (namespaces), kategorije, predloge (templates), preusmeritve in paginacija omogočajo urejeno organizacijo informacij.
- Iskanje in API-ji: vgrajena iskalna funkcija in REST/Action API-ji omogočajo programski dostop, avtomatizacijo z roboti in integracije s tretjimi orodji.
Razširitve, teme in prilagodljivost
MediaWiki je osnovna programska oprema, ki jo je mogoče razširiti z dodatki (extensions) in vizualno prilagoditi s skins. Obstaja obsežen ekosistem razširitev, ki dodajajo funkcionalnosti, kot so vizualno urejanje (WYSIWYG), izboljšano iskanje, pravila za avtomatsko preprečevanje zlorab, integracija z zunanjimi storitvami in mnogo drugega. Administratorske nastavitve omogočajo prilagoditve pravic, predpomnjenja, omejitev nalaganja datotek in drugih parametrov.
Varnost in upravljanje različic
MediaWiki ohranja popolno zgodovino strani, vključno z metapodatki o avtorjih in časih sprememb, kar zagotavlja sledljivost in možnost povrnitve. Razvijalci MediaWiki in velika skupnost redno izdajajo varnostne popravke in posodobitve. Zaščitne ukrepe dopolnjujejo razširitve in nastavitve, kot so zaščita strani pred urejanjem, omejitve nalaganja datotek ter orodja za pregled in razveljavitev nezaželenih sprememb.
Mednarodna podpora in skupnost
MediaWiki podpira večjezičnost in lokalizacijo, vključno s sporočili v različnih jezikih in združljivostjo z znakovnimi nizi Unicode, kar omogoča uporabo v številnih jezikih sveta. Razvoj MediaWiki poteka odprto: k izvorni kodi prispeva široka skupnost razvijalcev, uporabnikov in organizacij, vključno z Wikimedijino fundacijo, ki namešča in vzdržuje prilagojene različice za svoje projekte. Wikimedijini projekti navadno poganjajo prilagojene, redno posodobljene različice MediaWiki, prilagojene njihovim potrebam in velikosti prometa.
Tehnični pogoji in priporočila
Za delovanje MediaWiki je običajno potrebno strežniško okolje s podporo za PHP in ustrezno relacijsko bazo podatkov (pogosto MySQL/MariaDB). Za manjše namestitve zadostuje tudi enostavnejša konfiguracija, medtem ko večji projekti potrebujejo ločene strežnike za bazo, predpomnjenje, datoteke in iskanje ter dodatne komponente za obvladovanje velikega prometa.
MediaWiki ostaja ena izmed najbolj razširjenih odprtokodnih rešitev za gradnjo wikijev zaradi svoje skalabilnosti, bogate funkcionalnosti in velike skupnosti, ki zagotavlja stalni razvoj, varnostne popravke in podporo za integracije ter nove tehnologije.

