MediaWiki
MediaWiki | |
Dezvoltator | Wikimedia, Brion Vibber (director de versiuni) |
---|---|
Versiune inițială | 25 January 2002 |
Scris în | PHP |
Sistem de operare | Diverse |
Platformă | Multiplă |
Tip | Wiki |
Licență | licența Publică Generală GNU |
Site web | en mediawiki.org |
Modifică text |
MediaWiki este o aplicație software de tip wiki, bazată pe web, folosită în toate proiectele Fundației Wikimedia, la toate wikipediile găzduite de Wikia, și la multe alte aplicații de tip wikipedia, chiar foarte mari și populare.[1] Inițial, softul a fost dezvoltat pentru a fi folosit la enciclopedia liberă Wikipedia. Astăzi este folosit și de diverse companii pentru managementul cunoștințelor interne și ca sistem de management al conținutului. De notat că Novell îl folosește la câteva din serverele sale web cu trafic mare.[2]
Softul MediaWiki este scris în limbajul PHP și poate fi folosit împreună cu sistemele de gestiune a bazelor de date relaționale MySQL sau PostgreSQL. Softul MediaWiki este distribuit sub licența Publică Generală GNU, în timp ce documentația este disponibilă parțial sub licența GFDL și parțial este în domeniul public, fiind software liber.
Cuprins
Istoric[modificare | modificare sursă]
Softul a fost scris inițial pentru Wikipedia de Lee Daniel Crocker, pe baza unei interfețe de utilizator proiectată de Magnus Manske, un programator și student de la Universitatea din Köln. La început Wikipedia a folosit un mic motor wiki numit UseModWiki scris în Perl. Ulterior, Wikipedia a trecut la limbajul PHP, care oferea mai multe posibilități, primul script în acest limbaj fiind scris de Magnus Manske, tot de la Universitatea din Köln.
Crocker a rescris softul pentru MySQL, care este mai flexibil. Ulterior, Brion Vibber, coordonatorul tehnic al Wikimedia[3] preia rolul de director de versiuni și principal programator.[4][5]
După prima versiune a lui Manske, softul a fost cunoscut ca „scriptul PHP”, „faza a II-a”, „faza a III-a”, „noul cod de bază” — dar nu avea un nume al său. La anunțul Wikimedia din 20 iunie 2003, Daniel Mayer a sugerat denumirea de „MediaWiki” ca antimetabolă a lui „Wikimedia”,[6] iar numele a început să fie folosit din august 2003. Datorită similarității cu „Wikimedia” (care ea însăși este asemănătoare cu „Wikipedia”) numele a generat numeroase confuzii. Cu toate astea, „MediaWiki” a devenit un brand, în iunie 2008 Google furnizând peste 74 de milioane de rezultate.
Logo-ul produsului a fost creat de Erik Möller pe baza unei fotografii făcute de Florence Nibart-Devouard, și a fost propus la concursul internațional pentru un nou logo inițiat de Wikipedia în vara anului 2003.[7] Logo-ul s-a clasat pe locul al treilea, și a fost ales pentru a reprezenta MediaWiki, în timp ce logo-ul clasat pe locul al doilea a fost destinat pentru Wikimedia, iar cel clasat pe primul loc pentru Wikipedia însăși.[8] Cele două paranteze drepte care încadrează imaginea florii soarelui simbolizează sintaxa MediaWiki pentru realizarea legăturilor spre alte pagini ale Wikipediei.
Culoare | Semnificație |
---|---|
Roșu | Versiune veche, care nu mai este susținută |
Galben | Versiune veche, dar susținută |
Verde | Versiune curentă |
Albastru | Versiune viitoare |
Istoricul versiunilor[modificare | modificare sursă]
Tabelul conține istoricul versiunilor MediaWiki. Cea mai nouă versiune este la Test Wikipedia, găzduită la http://test.wikipedia.org/ iar versiunea curentă este 1.13alpha.[9]
Numărul versiunii | Dată | Legături | Modificări semnificative |
---|---|---|---|
1.1 | 8 decembrie 2003 | Note privind versiunea |
|
1.2 | 24 martie 2004 | Note privind versiunea |
|
1.3 | 11 august, 2004 | Note privind versiunea |
|
1.4 | 20 martie 2005 | Note privind versiunea, Suportul lingvistic |
|
1.5 (versiune nouă, compatibilă MySQL 3) |
5 octombrie 2005 | Note privind versiunea, Suportul lingvistic |
|
1.6 (versiune nouă, compatibilă PHP 4) |
5 aprilie 2006 | Note privind versiunea, Suportul lingvistic |
|
1.7 | 7 iulie 2006 | Note privind versiunea, Suportul lingvistic |
|
1.8 | 10 octombrie 2006 | Note privind versiunea, Suportul lingvistic |
|
1.9 | 10 ianuarie 2007 | Note privind versiunea, Suportul lingvistic |
|
1.10 | 9 mai 2007 | Note privind versiunea, Suportul lingvistic |
|
1.11 | 10 septembrie 2007 | Note privind versiunea, Suportul lingvistic |
|
1.12 | 20 martie 2008 | Note privind versiunea, Suportul lingvistic |
|
1.13 | 1.13 a început în februarie 2008 |
|
|
1.14 | 22 februarie, 2009 | Note privind versiunea, Suportul lingvistic |
|
1.15 | 10 iunie 2009 | Note privind versiunea, Suportul lingvistic |
|
1.16 | 28 iulie 2010 | Note privind versiunea, Suportul lingvistic |
|
1.17 | 1.17 a început în februarie 2010 | Note privind versiunea, Suportul lingvistic |
|
1.18 | 1.18 a început în decembrie 2010 |
Utilități de bază[modificare | modificare sursă]
MediaWiki pune la dispoziție un set bogat de extensii pentru utilități adiționale și un mecanism de adăugare a lor.
În contextul multilingvismului, în proiectele Wikimedia programatorii au acordat o atenție sporită problemelor de internaționalizare și localizare. Interfața utilizatorului a fost tradusă în peste 100 de limbi (v. și statistici cu traducerile și multilingvismul MediaWiki), și poate fi configurată în continuare de administratorii sitului (întreaga interfață este editabilă prin wiki).
Deoarece Wikipedia este unul dintre cele mai mari situri web din lume, asigurarea posibilității de dezvoltare a fost de asemenea o prioritate pentru programatori. În acest scop s-a folosit un sistem multistrat pentru cache și replicarea bazelor de date. O mare parte a cerințelor către MediaWiki provine de la Wikipedia și alte proiecte ale Wikimedia.
Una dintre cele mai vechi diferențe între MediaWiki (și predecesorul său UseModWiki) și alte motoare wiki a fost folosirea de „legături libere” (engleză free links)[10] față de metoda CamelCase[11] De exemplu, inițial, pentru a crea o legătură spre pagina World Wide Web se scria „WorldWideWeb”, însă actual legăturile în MediaWiki se fac prin încadrarea textului de legat cu paranteze drepte duble, menținând spațiile dintre cuvinte, de exemplu [[World Wide Web]]. Această modificare a fost necesară pentru scopul creării unei enciclopedii, unde acuratețea titlurilor era foarte importantă.
Pentru a ușura editarea articolelor lungi, MediaWiki permite modificarea secțiunilor din pagină, la nivelul subtitlurilor.
Conținut bogat[modificare | modificare sursă]
MediaWiki oferă suport pentru conținut bogat generat prin sintaxă specializată. De exemplu, softul asigură suport pentru afișarea formulelor matematice scrise în LaTeX și un procesor special scris în OCaml. Utilități similare, cum sunt trasarea graficelor, reprezentarea notelor muzicale, reprezentarea hieroglifelor, sunt disponibile ca extensii, îmbunătățind estetica paginilor.
După cum sugerează numele de MediaWiki, softul poate trata diferite fișiere multimedia trimise. Cea mai puternică utilitate este în domeniul imaginilor, unde se pot crea cu ușurință galerii de miniaturi. Există de asemenea suport pentru metadata din formatele Exif. Utilizarea MediaWiki pentru Wikimedia Commons, una dintre cele mai mari arhive de fișiere multimedia libere necesită dezvoltarea în continuare a utilităților în domeniu.
Actual, MediaWiki nu oferă suport nativ pentru editări de tip WYSIWYG, însă oferă o bară de unelte grafică care facilitează procesul de învățare a sintaxei wiki. De asemenea, are o interfață simplă pentru folosirea transparentă a aplicațiilor externe pentru trimiterea fișierelor și editarea paginilor.
Structurare[modificare | modificare sursă]
MediaWiki oferă și alte utilități în afară de legăturile dintre pagini pentru structurarea conținutului. Una dintre cele mai vechi este spațiile de nume. Una din problemele Wikipedia a fost separarea conținutului enciclopedic de cel al discuțiilor, respectiv al paginilor de utilizator. Spațiile de nume au prefixe înainte de titlu (ca „Utilizator:” sau „Discuție:”) care permite unei pagini să existe sub același nume, dar cu scopuri diferite, în funcție de prefix. De exemplu, pagina „[[Fernandel]]” se referă la actorul Fernandel, în timp ce pagina „[[Utilizator:Fernandel]]” este pagina utilizatorului cu acest pseudonim. De asemenea, fiecare pagină are asociată o pagină de „Discuție:”, în care conținutul paginii propriu-zise poate fi discutat.
Spațiile de nume pot fi considerate ca niște „dosare” care separă diferite tipuri de informații. Se pot adăuga noi spații, însă actual în wiki numărul acestor spații este destul de redus.
În afară de spațiile de nume, paginile pot fi structurate și ca „subpagini”. Această utilitate oferă prin sintaxa [[Titlul paginii/Titlul subpaginii]] o legătură (engleză backlink) dinspre pagina dinainte de slash (aici, „Titlul paginii”).
MediaWiki oferă suport pentru categorii create de utilizatori. Acestea sunt similare cu etichetele folosite în aplicațiile web, dar având o structură ierarhică și fiind descriptive. În wikipediile mari, ca Wikipedia, s-au creat ierarhii complexe, fără a exista vreo concepție prealabilă.[12]
Configurare[modificare | modificare sursă]
Dacă utilitatea este activată, utilizatorii își pot personaliza foile de stil și pot configura partea client de JavaScript pentru a fi executată la afișarea paginilor. Asta a permis ca pe Wikipedia să apară un mare număr de unelte și ajutoare dezvoltate prin wiki, schimbate între utilizatori. Astfel, popupul de navigare Lupin este o unealtă JavaScript care arată o mică previzualizare a articolului când se trece cu mausul peste o legătură spre titlul său și oferă comenzi rapide spre funcțiile de întreținere apelate frecvent.[13] Alt exemplu este ', un puternic editor de texte integrat MediaWiki care scoate în evidență sintaxa și are funcția de căutare-înlocuire.[14]
Toată interfața utilizator a MediaWiki poate fi editată de utilizatori chiar prin wiki, dacă au permisiunile cerute (de „administrator”). Asta se face în spațiul de nume special, cu prefixul „MediaWiki:”, în care fiecare pagină conține un anumit mesaj din interfața utilizator. Spațiul de nume „MediaWiki:” a fost folosit la început și pentru crearea blocurilor de text ale utilizatorului, care să fie încărcate dinamic în alte pagini folosind o sintaxă specială. Acestea însă mai târziu au fost mutate în propriul lor spațiu de nume „Format:”.
Formatele sunt blocuri de text care sunt încărcate dinamic în alte pagini când acest lucru este cerut. Sintaxa pentru apelarea formatelor este pur și simplu o legătură, plasată între perechi de acolade, de exemplu „{{wikizare}}”, care în acest caz apelează formatul Format:wikizare acolo unde este pusă legătura. Formatele permit parametri, astfel că unele părți din text pot fi înlocuite cu texte adecvate fiecărui caz particular. O altă metodă, numită substituție în format, apelată adăugând subst:
la începutul formatului inserează conținutul formatului în pagina respectivă la fel ca copy/paste în loc să încarce formatul în mod dinamic la încărcarea paginii. Asta, deși face ca formatele să nu fie folosite în mod unitar, are uneori avantaje și poate reduce încărcarea serverelor.
Formatele se folosesc în diferite scopuri, ca:
- Etichete care semnalează diferite probleme ale unui articol (ex.: PDVN, lipsă categorizare etc).
- Crearea tabelelor, care pot fi complexe, tabele folosite în mai multe pagini, în care aspectul este păstrat și se schimbă doar conținutul, prin parametri.
- Mesaje standard către utilizatori (ex.: avertismente, blocări).
În MediaWiki interfața utilizator este în diverse limbi. Se poate defini și un limbaj pentru însuși conținutul wiki, care să fie trimis ca parametru „Content-Language” în antetul HTTP și ca atribut „lang” în HTML.
Codul MediaWiki permite apelul (engleză callback) diferitelor subprograme care extind posibilitățile. Asta permite programatorilor să scrie extensii fără a modifica nucleul și fără să trebuiască să trimită codul (programul) lor la WikiMedia pentru a fi inclus. Instalarea unei extensii se face de obicei prin simpla adăugare a unei linii într-un fișier de configurare. Totuși, uneori este nevoie și de manevre suplimentare, ca actualizarea unei baze de date.
Extensii[modificare | modificare sursă]
MediaWiki se dezvoltă constant și datorită extensiilor sale își găsește aplicabilitatea în noi domenii. Multe dintre extensii sunt simple scripturi care permit încorporarea de conținut ca de exemplu din Adobe Flash sau formulare HTML. Altele, ca Semantic MediaWiki, dezvoltă sintaxa wiki, permițând adăugarea relațiilor structurate și a atributelor la paginile (v. semantic web). Exemple de extensii care îmbunătățesc wiki sunt:
- Extensii de evaluare
- Extensii care sugerează categorii
- Includere RSS feed
- Includere Flash
- Includere YouTube
Wikimedia Foundation dispune de servere cu Subversion unde sunt găzduite diverse extensii, a căror listă se poate găsi pe situl MediaWiki. Există și alte situri care se ocupă cu dezvoltarea sau asigură suportul extensiilor.
- MediaWiki Users - Forumul neoficial de suport al MediaWiki
- Mediawiki.org - Matricea extensiilor la mediawiki.org
- Leerwiki - Extensii Mediawiki (în limba olandeză)
- MediaWiki Extensii @ Googlecode
- Translatewiki - platformă de localizare pentru MediaWiki (realizează traducerile interfeței MediaWiki pentru proiectele care aparțin de Fundația Wikimedia).
Acces și grupuri[modificare | modificare sursă]
MediaWiki oferă un set de utilități pentru restricționarea accesului și definirea grupurilor de utilizatori, însă chestiunile de acces ale paginilor nu sunt o prioritate. De exemplu, deocamdată nu se pot defini permisiuni de acces în funcție de spațiile de nume. Motoare wiki ca TWiki, MoinMoin și WikkaWiki sunt mai flexibile cu privire la mecanismele de securitate avansate ca Access Control List.
Performanțe[modificare | modificare sursă]
Deoarece MediaWiki este folosit pe unul dintre siturile cu cel mai mare trafic de pe Internet, Wikipedia, optimizarea performanțelor și posibilităților sale de dezvoltare sunt foarte importante. MediaWiki oferă suport pentru Squid cache[15] replicarea bazelor de date în sistem load balancing,[16] cache la client, memcached[17] sau cache pe bază de tabele pentru procese solicitate des, și cozi de așteptare la operațiunile asupra bazelor de date.
Softul corespunde pentru centre care găzduiesc numeroase wikipedii, ca Wikimedia, care în decembrie 2007 avea circa 750 de wikipedii. Totuși, MediaWiki nu are utilități native pentru gestionarea acestor centre.
Limitări[modificare | modificare sursă]
În afară de lipsa susmenționată privind WYSIWYG, documentația se găsește numai online (nu există manuale tipărite). Instalarea și utilizarea softului MediaWiki nu este intuitivă pentru utilizatorii fără experiență în domeniul computerelor.
Sintaxa de facto MediaWiki este cea a interpretorului (engleză parser) și nu este definită o sintaxă formală. Deoarece nu există o formalizare, de ex. în forma extinsă Backus–Naur (EBNF), există dificultăți inerente la crearea unui editor WYSIWYG sau la portarea sintaxei în alte limbaje. Este în lucru formalizarea gramaticii în ANTLR (ANother Tool for Language Recognition).[18][19]
În plus, nu există vreo versiune offline a MediaWiki care să permită utilizatorilor să modifice paginile în clientul lor offline, iar apoi aceste pagini să fie trimise automat la server la reconectare, într-un mod de lucru asemănător cu operațiile client-server ale Lotus Notes. De asemenea, un client offline MediaWiki ar putea fi util utilizatorilor la reținerea (backup) paginilor importante.
Note[modificare | modificare sursă]
- ^ en „WikiStats by S23 - List of largest wikis”. http://s23.org/wikistats/wikis_html.php.
- ^ Ex.: http://developer.novell.com/ ; http://en.opensuse.org/ ; http://www.ifolder.com/
- ^ en David Weinberger (2007). Everything Is Miscellaneous: The Power of the New Digital Disorder. Times Books. pp. 99. ISBN 0-8050-8043-0
- ^ en „MediaWiki history”. MediaWiki website. http://meta.wikimedia.org/wiki/MediaWiki_history. Accesat la 19 iulie 2007.
- ^ en „Wikipedia and MediaWiki”. Presentation MediaWiki development (video). http://www.youtube.com/watch?v=DWef69ItVrU. Accesat la 30 ianuarie 2008.
- ^ en Mayer, Daniel. „Phase IV, Wikibooks.org/.com and WikimediaFoundation.org/.com (was Wikis and uniformity)”. Wikipedia-L mailing list archives. http://lists.wikimedia.org/pipermail/wikipedia-l/2003-July/011021.html.
- ^ en Wikimedia contributors (10 ianuarie 2007). „International logo contest/results”. Meta-wiki. Wikimedia Foundation. http://meta.wikimedia.org/w/index.php?title=International_logo_contest/Results&oldid=509000. Accesat la 14 martie 2007.
- ^ en Wikimedia contributors (17 ianuarie 2007). „Historical/Logo history”. Meta-wiki. Wikimedia]Foundation. http://meta.wikimedia.org/w/index.php?title=Meta:Historical/Logo_history&oldid=513925. Accesat la 14 martie 2007.
- ^ en Test Wikipedia's About page
- ^ Sintaxa actuală, cu paranteze drepte duble.
- ^ Capitalizarea unor litere, care astfel semnalau legătura, de exemplu PageMaker, PlayStation.
- ^ en Compară arborele categoriilor lui Erik Zachte generat pentru categoriile Wikipedia.
- ^ en "Lupin". „Wikipedia:Tools/Navigation popups”. http://en.wikipedia.org/wiki/Wikipedia:Tools/Navigation_popups.
- ^ en "Cacycle". „wikEd”. http://en.wikipedia.org/wiki/User:Cacycle/wikEd.
- ^ Software pentru servere proxy pentru cache,
- ^ Distribuirea pe hardware multiple utilizate în paralel.
- ^ Un sistem de memorie cache distribuită
- ^ en Lista de discuții Wikitext-L
- ^ en Proiectul specificațiilor de marcare (mediawiki.org)
Legături externe[modificare | modificare sursă]
- en Pagina oficială MediaWiki, cu , și .
- en MediaWiki la Meta-Wiki, situl meta al Wikimedia.
- #mediawiki la freenode.
|