МедияУики (наанглийски:MediaWiki) е безплатенуикисофтуер с отворен код. Първоначалният вариант е създаден специално заУикипедия отМагнус Манске на25 януари2002 г. и допълнително подобрен отЛий Даниел Крокър,[2][3] след което е координиран отФондация „Уикимедия“. Той управлява няколко уебсайта захостване на уики вИнтернет, както и повечето уебсайтове, хоствани от Фондация „Уикимедия“, катоУикипедия,Уикиречник,Общомедия,Уикицитат,МетаУики иУикиданни, които определят голяма част от зададените изисквания за софтуера.[4]Езика за програмиране на който е написан МедияУики еPHP, той съхранява цялото текстово съдържание вбази от данни. Софтуерът е оптимизиран за ефективно управление на големи проекти, които могат да иматтерабайти съдържание и стотици хиляди гледания в секунда.[4][5] Тъй като Уикипедия е сред най-големите и най-посещавани уебсайтове в света, постигането на мащабируемост чрез множество слоеве на кеширане и репликация на база данни е основна грижа за разработчиците. Друг важен аспект на МедияУики е нейнатаинтернационализация. Неговият интерфейс е достъпен на над 450 езика. Софтуерът има над 1000 настройки за конфигурация[6] и над 1800 разширения, които позволяват добавянето или промяната на различни функции.[7] Освен използването му от сайтове на Фондация „Уикимедия“, МедияУики се използва като система за управление на знания и съдържание на сайтове катоFandom,wikiHow, както и за големи вътрешни въведения, като приИнтелипедия иДиплопедия.
МедияУики е безплатен софтуер и с отворен код и се разпространява съгласно условията наGNU General Public License, втора или всяка следваща версия. Документацията на софтуера е качена в официалния уебсайт – www.mediawiki.org, издадена под лицензаКриейтив Комънс (BY-SA 4.0), и отчасти е публично достояние.[8] По-конкретно, ръководствата и останалото съдържание в MediaWiki.org са лицензирани от Криейтив Комънс, докато наборът от помощни страници, предназначени за свободно копиране и инсталиране в новиуикита и/или разпространявани със софтуера на МедияУики са обществено достояние. Това е осъществено, за да се премахнат правни проблеми, произтичащи от импортирането на помощни страници в уикита с лицензи, които са несъвместими с лиценза Криейтив Комънс.[9] Развитието на МедияУики като цяло благоприятства използването на медийни формати с отворен код.[10]
МедияУики разполага с активна общност от доброволци за разработка и поддръжка. Потребителите, които са направили значителен принос към проекта чрез изпращането на корекции, при искане, обикновено получават достъп за извършване на проверка вGit /Gerrit хранилището на проекта.[11] Има и платенипрограмисти, които основно разработват проекти заФондация „Уикимедия“. Разработчиците на МедияУики участват винициативата на Google „Лято на кода“, като улесняват назначаването на ментори на студенти, които желаят да работят по основни и разширени проекти на МедияУики.[12] През годината, преди ноември 2012 г. има около двеста разработчици, които извършват промени в ядрото или разширенията на МедияУики.[13] Основните издания на МедияУики се генерират приблизително на всеки шест месеца, като се правят моментни снимки на клона за разработка, който се поддържа непрекъснато в работоспособно състояние.[14] Незначително издаване или издаване на корекция се извършват при необходимост за коригиране на грешки (особено проблеми със сигурността). МедияУики е разработена на базата на модел за непрекъснато приобщаване на развитие, при които промените в софтуера се предават редовно на живо в сайтовете на Фондация „Уикимедия“.[14] МедияУики разполага с публиченинструмент за проследяване на грешки – phabricator.wikimedia.org, от системата за проследяване на проблеми „Фабрикатор“. Сайтът се използва и за заявки за функции и подобрения.
Когато стартираУикипедия през януари 2001 г., тя работи на съществуващатауики софтуерна системаUseModWiki. UseModWiki е написан на езика за програмиранеPerl и съхранява всички уики страници в текстови (.txt) файлове. Този софтуер скоро се оказва ограничаващ както във функционалността, така и в производителността. В средата на 2001 г.Магнус Манске (разработчик и студент вКьолнският университет, редактор на Уикипедия) започва работа върху нов софтуер, който ще замени UseModWiki, специално предназначен за използване от Уикипедия. Този софтуер е написан на скриптовия езикPHP и съхранява цялата информация в база данни наMySQL. Новият софтуер е разработен основно до 24 август 2001 г. и малко след това е създадено тестово уики за него.
На 9 ноември 2001 г. е първото пълно внедряване на този софтуер е новата мета Уикипедия, като се проявява желание той да бъде внедрен незабавно ванглийската версия на Уикипедия.[15] Въпреки това, Магнус Манске се опасява от евентуални грешки, които да навредят на зараждащия се уебсайт по време на последните изпити, които е трябвало да завършат непосредствено предиКоледа.[16] Това води до отлагане на стартирането на английската версия на Уикипедия до 25 януари 2002 г. След това софтуерът постепенно е внедрен на всички езикови версии на Уикипедия по онова време. Този софтуер е посочен като „PHP скрипт“ и като „фаза II“, а с името „фаза I“ е посочено със задна дата на използването на UseModWiki.
Увеличаването на употребата му скоро води до повторно възникване на проблеми със зареждането, и скоро след това започва ново пренаписване на софтуера. Този път това е сторено отЛий Даниел Крокър, и става известно като „фаза III“. Този нов софтуер е написан също на PHP, с MySQL бекенд и запазва основния интерфейс на софтуера „фаза II“, но с добавената функционалност за по-широкамащабируемост. Софтуерът „фаза III“ е пуснат онлайн в Уикипедия през юли 2002 г.
На 20 юни 2003 г. е обявено създаването наФондация „Уикимедия“. През юли сътрудникът на Уикипедия – Даниел Майер предлага наименованието за софтуера да е „МедияУики“.[17] То е въведено постепенно, започвайки през август 2003 г. Името често предизвиква объркване поради (умишлената) си прилика с наименованието „Уикимедия“ (което само по себе си е подобно на „Уикипедия“).[18]
Лого на МедияУики до 1 април 2021 г.
Първотолого на МедияУики е създадено отЕрик Мьолер, като е използванаснимка нацвете, направена отФлоранс Нибар-Девуар. Първоначално то е било изпратено в конкурса за ново лого на Уикипедия, проведен от 20 юли до 27 август 2003 г.[19][20] Логото е класирано на трето място и е избрано да представлява МедияУики, а не Уикипедия, като логото на второ място е използвано за Фондация „Уикимедия“.[21] Двойните квадратни скоби ([[]]) символизиратсинтаксиса, който МедияУики използва за създаване на хипервръзки към други уики страници. В същото време слънчогледът представлява разнообразието от съдържание в Уикипедия, неговия постоянен растеж и пустинята.[22]
По-късно Брук Вайбър, главен технически директор на Фондация „Уикимедия“,[23] поема ролята на мениджър по издаването.[24][25]
Основните етапи в развитието на МедияУики включват – система за категоризация (2004), функции на синтактически анализ (2006), разширение към софтуера (2008),[26]„ResourceLoader“ система за използване наCSS иJavaScript (2011),[27] и платформата за редактиране VisualEditor „каквото виждаш, това получаваш“ (WYSIWYG) (2013).[28]
На 22 юни 2020 г. е обявен конкурс за проектиране на ново лого, посочено е че старото лого е с изображение на растение и има „големи детайли“, водейки до проблеми при изобразяване на висока и ниска резолюция. След два кръга на гласуване се изработва новото и текущо лого на МедияУики. То е проектирано и избрано на 24 октомври 2020 г., а на на 1 април 2021 г. е официално прието.[29]
Има много сайтове които използват безплатният софтуер МедияУики, най-известният сред които еУикипедия, в по-малка степен са известни и другите проекти наФондация „Уикимедия“. Fandom е услуга за уики хостинг (известна преди като Wikia), която използва МедияУики. Сред публичните уикита, които използват МедияУики саwikiHow иSNPedia, както и много други.УикиЛийкс стартира като базиран на МедияУики сайт, но по-късно не функционира като уики.
Никлас Лаксстрьом разяснява за функциите, които позволяват на translatewiki.net да предостави на МедияУики над 400 локализации.
Поради силния акцент върху многоезичието в проектите на Фондация „Уикимедия“, разработчиците отделят значително внимание заинтернационализация и локализация. Потребителският интерфейс е преведен изцяло или частично на над 450 езика наtranslatewiki.net[36] и може да бъде допълнително персонализиран от администраторите на сайта (целият интерфейс може да се редактира чрез уики).
Няколко разширения, най-вече тези, събрани в MediaWiki Language Extension Bundle, са предназначени да подобрят допълнително многоезичието и интернационализацията на МедияУики.
Инсталирането на МедияУики изисква потребителят да имаадминистративни привилегии на сървър, работещ както сPHP, така и със съвместим тип SQL база данни. Някои потребители намират, че настройката навиртуален хост е полезна, ако по-голямата част от нечий сайт работи под рамка (катоZope илиRuby on Rails), която е до голяма степен несъвместима с МедияУики.[37]Облачният хостинг може да елиминира необходимостта от разполагане на нов сървър.[38]
Инсталационният PHP скрипт е достъпен презуеб браузър за инициализиране на настройките науики. Той подканва потребителя за минимален набор от необходими параметри, оставяйки допълнителни промени, като разрешаване на качвания,[39] добавяне на лого на сайта[40] и инсталиране на разширения, които да бъдат направени чрез модифициране на конфигурационните настройки, съдържащи се във файл, нареченLocalSettings.php.[41] Някои аспекти на МедияУики могат да бъдат конфигурирани чрез специални страници или чрез редактиране на определени страници. Например, филтрите за злоупотреби могат да бъдат конфигурирани чрез специална страница[42] и определени приспособления могат да бъдат добавени чрез създаване наJavaScript страници в пространството на имената на МедияУики.[43] Общността на МедияУики публикува изчерпателно ръководство за инсталиране.[44]
Една от най-ранните разлики между МедияУики (и неговия предшественик,UseModWiki) и други уики машини е използването на „безплатни връзки“ вместоCamelCase. Към времето на създаване на МедияУики е типично за уикитата да изискват текст като „WorldWideWeb“, за да създадат връзка към страница заWorld Wide Web. Връзките в МедияУики, от друга страна, се създават от ограждащи думи с двойни квадратни скоби и всички интервали между тях остават непокътнати, напр.World Wide Web. Тази промяна е логична за целите на създаването на енциклопедия, където точността на заглавията е важна.
МедияУики използва разширяема[45] лека уики маркировка, предназначена да бъде по-лесна за използване и изучаване отHTML. Съществуват инструменти за конвертиране на съдържание като таблици между маркиране на МедияУики и HTML.[46] Положени са усилия за създаване на спецификация за маркиране на МедияУики, но изглежда е постигнато съгласие, че Wikicode изисква чувствителни към контекста граматични правила.[47][48] Следното паралелно сравнение илюстрира разликите между уики маркиране и HTML (с пример на английски език):
Синтаксис на МедияУики (кодът „зад сцената“, използва се за добавяне на форматиране към текст)
HTML еквивалент (друг вид код „зад сцената“, използва се за добавяне на форматиране към текст)
Рендиран изход (видян на екрана от зрител на сайта)
==== 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<ahref="/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>
A dialogue
"Take some moretea," 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 takeless," said the Hatter: "it'svery easy to takemore than nothing."
Интерфейс за редактиране на MediaWiki 1.44 с подчертаване на синтаксиса, показващ лентата с инструменти за редактиране и някои примери за уики синтаксис.
Инструментите за редактиране на страница по подразбиране на МедияУики са описани като доста трудни за научаване.[49] Проучване сред студенти, на които е възложено да използват уики, базирано на МедияУики, установява, че когато им бъде зададен отворен въпрос за основните проблеми с уикито, 24% цитират технически проблеми с форматирането, напр. „Не можах да разбера как да вкарам изображение. Не мога да разбера как да покажа връзка с думи или да вмъкна число.“[50]
За да улесни редактирането на дълги страници, МедияУики позволява редактирането на подраздел на страница (както е идентифицирано от заглавката му). Регистриран потребител може също така да посочи дали дадена редакция е незначителна или не. Коригирането на правописа, граматиката или пунктуацията са примери за незначителни редакции, докато добавянето на параграфи от нов текст е пример за незначителна редакция.
Понякога, докато един потребител редактира, втори потребител записва редакция в същата част на страницата. След това, когато първият потребител се опитва да запази страницата, възниква конфликт на редактиране. След това на втория потребител се дава възможност да обедини съдържанието си в страницата, както съществува сега, след запазването на страницата на първия потребител.
Потребителският интерфейс на МедияУики е локализиран на много различни езици. Може също да бъде зададен език за самото уики съдържание, което да бъде изпратено в HTTP заглавката „Content-Language“ и HTML атрибута „lang“.
МедияУики има разширяемweb API (приложно-програмен интерфейс), който осигурява директен достъп на високо ниво до данните, съдържащи се в базите данни на MediaWiki. Клиентските програми могат да използват API за влизане, получаване на данни и публикуване на промени. API поддържа тънки уеб базирани JavaScript клиенти и приложения за крайни потребители (като инструменти за борба с вандали). API може да бъде достъпен отбекенда на друг уеб сайт.[51] Обширна библиотека с ботове наPython, Pywikibot[52] и популярен полуавтоматизиран инструмент, нареченAutoWikiBrowser, също взаимодействат с API.[53] API се осъществява чрез URL адреси катоhttps://bg.wikipedia.org/w/api.php?action=query&list=recentchanges. В този случай заявката ще поиска от Уикипедия информация, свързана с последните 10 редакции на сайта. Едно от възприеманите предимства на API е неговата езикова независимост, той използва заHTTP връзки от клиенти и може да изпрати отговор в различни формати, катоXML, сериализиран PHP илиJSON.[54]Клиентският код е разработен, за да предостави слоеве наабстракция на API.[55]
МедияУики поддържабогато съдържание, генерирано чрез специализиран синтаксис. Например, софтуерът идва с незадължителна поддръжка за изобразяване на математически формули с помощта наLaTeX и специален анализатор, написан наOCaml. Подобна функционалност за друго съдържание, вариращо от графични графики през математически чертежи имузикални партитури доегипетски йероглифи, е достъпна чрез разширения.
Софтуерът стана по-мощен при работа с голямо разнообразие от качени медийни файлове. Най-богатата му функционалност е в областта на изображенията, където сравнително лесно могат да се генерират галерии с изображения и миниатюри. Има и поддръжка заexifметаданни. Използването на МедияУики за управление наОбщомедия (един от най-големите медийни архиви съссвободно съдържание) води до необходимостта от допълнителна функционалност в тази област.
За WYSIWYG редактиране,VisualEditor е достъпен за използване в МедияУики, което опростява процеса на редактиране за редактори и е включен в пакет от MediaWiki 1.35.[56] Съществуват други разширения за обработка на WYSIWYG редактиране в различна степен.[57]
Сред функциите на МедияУики за подпомагане на проследяването на редакциите е функцията за скорошни промени, която предоставя списък с последните редакции на уикито. Този списък съдържа основна информация за тези редакции, като редактиращия потребител, резюмето на редакцията, редактираната страница, както и всички тагове (напр. „възможна връзка къмзлонамерен софтуер“),[58] добавени от персонализирани филтри за злоупотреба и други разширения за подпомагане на борбата с безполезни редакции.[59] В по-активнитеуикита се случват толкова много редакции, че е трудно да се проследят последните промени ръчно. Софтуер против вандализъм, включително инструменти, подпомагани от потребителя,[60] понякога се използва в такива уикита за обработка на елементи от последните промени. Натоварването на сървъра може да бъде намалено чрез изпращане на непрекъсната емисия на последните промени към IRC канал, който тези инструменти могат да наблюдават, елиминирайки необходимостта да изпращат заявки за обновена емисия на последните промени към API.[61][62]
Друг важен инструмент е списъкът за наблюдение. Всеки влязъл потребител има списък за наблюдение, към който потребителят може да добави каквито страници желае. Когато се направи редакция на една от тези страници, обобщение на тази редакция се появява в списъка за наблюдение при следващото обновяване.[63] Както при страницата с последните промени, последните редакции, които се появяват в списъка за наблюдение, съдържат връзки, върху които може да се кликне, за лесен преглед на хронологията на статията и конкретни направени промени.
Има и възможност за преглед на всички редакции, направени от конкретен потребител. По този начин, ако една редакция бъде идентифицирана като проблемна, е възможно да се проверят другите редакции на потребителя за проблеми.
МедияУики позволява да се прави връзка към конкретни версии на статии. Това е полезно за научната общност, тъй като експертните критици могат да анализират статии, да ги подобряват и да предоставят връзки към надеждната версия на тази статия.[64]
Навигацията в уикито до голяма степен е чрез вътрешни препратки. Вътрешните препратки на МедияУики прилагат откриване на съществуваща страница, при което връзката е оцветена в синьо, ако целевата страница съществува в локалното уики, и червено когато страницата не съществува. Ако потребител кликне върху червена връзка, той получава подкана да създаде статия с това заглавие. Откриването на съществуваща страница прави практично за потребителите да създават „уикифицирани“ статии – т.е. статии, съдържащи връзки към други уместни теми, без тези други статии все още да съществуват.
Препратките между проектите функционират почти по същия начин като именното пространство. Набор от препратки между проектите може да бъде конфигуриран да накара, например, заглавието на страница отУикицитат:Джими Уейлс да насочи потребителя към статията за Джими Уейлс вУикицитат.[65] За разлика от вътрешните препратки, препратките между проектите нямат функционалност за откриване на съществуване на страница и съответно няма начин да се разбере дали дадена синя препратка между проектите е наред или не.
Пример за междуезикови препратки, поставяни в Уикипедия преди създаването на Уикиданни.
Междуезиковите връзки са малки връзки за навигация, които се показват в страничната лента на МедияУики, те свързват статия със сродни статии на други езици в рамките на едно и същоуики семейство. Това може да осигури специфични за езика общности, свързани с по-голям контекст, с всички уикита на един и същи сървър или всяко на свой собствен сървър.[66]
Преди създаването наУикиданни в Уикипедия, във всяка статия се е поставяла връзка към друга езикова версия. Това е променено благодарение на Уикиданни.[67]
Разделите на страниците се показват в горната част на страниците. Тези раздели позволяват на потребителите да извършват действия или да разглеждат страници, които са свързани с текущата страница. Наличните действия по подразбиране включват преглед, редактиране и обсъждане на текущата страница. Конкретните показани раздели зависят от това дали потребителят е влязъл в уики и дали потребителят има привилегии от системния оператор в уики. Например възможността да преместите страница или да я добавите към списъка за наблюдение обикновено е ограничена до влезли потребители. Администраторът на сайта може да добавя или премахва раздели, като използваJavaScript или инсталира разширения.[68]
Всяка страница има свързана страница с история, от която потребителят може да получи достъп до всяка версия на страницата, която някога е съществувала, и да генерира разлики между две версии по свой избор. Приносът на потребителите се показва не само тук, но и чрез опцията „принос на потребителя“ в страничната лента.[69]
МедияУики предоставя много функции извънхипервръзките за структуриране на съдържание. Една от най-ранните такива функции саименните пространства. Един от най-ранните проблеми на Уикипедия е представлявало отделянето на енциклопедичното съдържание от страниците, отнасящи се до поддръжката и общите дискусии, както и личните страници за редакторите на енциклопедии. Именните пространства са префикси преди заглавие на страница (като „Потребител:“ или „Беседа:“), които служат като дескриптори за предназначението на страницата и позволяват множество страници с различни функции да съществуват под едно и също заглавие. Например страница, озаглавена „Терминатор“, в именното пространство по подразбиране, може да опишефилма от 1984 г. с участието наАрнолд Шварценегер, докато страница, озаглавена „Потребител:Терминатор“ може да бъде профил, описващ потребител който избира това име за псевдоним. По-често всяко именно пространство има свързано именно пространство „Беседа:“, което може да се използва за обсъждане на неговото съдържание, като например „Потребител беседа:“ или „Шаблон беседа:“. Целта на дискусионните страници е да позволи разделяне на съдържанието от дискусията около съдържанието.[70][71]
Именните пространства могат да се разглеждат като папки, които разделят различни основни типове информация или функционалност. Персонализирани именни пространства могат да се добавят от администраторите на сайта. Има 16 именни пространства по подразбиране за съдържание, с 2 „псевдо-именни пространства“, използвани за динамично генерирани „Специални:“ страници и връзки към медийни файлове. Всяко пространство от имена в МедияУики е номерирано: именни пространства на страници със съдържание имат четни номера, а свързаните с тях именни пространства на страници за разговори имат нечетни номера.[72]
Потребителите могат да създават нови категории и да добавят страници и файлове към тези категории, като добавят един или повече тагове за категория към текста на съдържанието. Добавянето на тези етикети създава връзки в долната част на страницата, които отвеждат читателя до списъка с всички страници в тази категория, което улеснява разглеждането на свързани статии.[73] Използването на категоризация за организиране на съдържание е описано като комбинация от:
В допълнение към именните пространства, съдържанието може да бъде подредено с помощта на подстраници. Тази проста функция осигурява автоматичен навигационен път на шаблонаЗаглавие на страница/Заглавие на подстраница от страницата след наклонената черта (в този случай „Заглавие на подстраница“) към страницата преди наклонената черта (в този случай „Заглавие на страница“).
Потребителите могат да конфигурират персонализиран JavaScript, който се изпълнява при всяко показване на страница. Това води до инструменти на JavaScript, които потребителите могат да „инсталират“, инструментът „навигационни изскачащи прозорци“, показан тук, показва малък преглед на статия, когато задържите курсора на мишката върху заглавието на връзката.
Ако функцията е активирана, потребителите могат да персонализират своите таблици със стилове и да конфигуриратJavaScript от страна на клиента, който да се изпълнява при всяко показване на страница. В Уикипедия това води до голям брой допълнителни инструменти и помощници, разработени чрезуики и споделени между потребителите. Например, навигационните изскачащи прозорци са персонализиран инструмент на JavaScript, който показва визуализации на статии, когато потребителят задържи курсора на мишката върху връзки и също така предоставя преки пътища за често срещани задачи по поддръжката.[75]
Целият потребителски интерфейс на МедияУики може да се редактира чрез самото уики от потребители с необходимите разрешения (обикновено наричани „администратори“). Това става чрез специално именно пространство с префикс „MediaWiki:“, където всяко заглавие на страница идентифицира конкретно съобщение на потребителския интерфейс. С помощта на разширение[76] също така е възможно потребителят да създава лични скриптове и да избира дали определени скриптове за целия сайт да се прилагат към тях, като превключва съответните опции в страницата с потребителски предпочитания.
Именното пространство „MediaWiki:“ първоначално също се използва за създаване на персонализирани текстови блокове, които след това могат да бъдат динамично заредени в други страници, използвайки специален синтаксис. Това съдържание по-късно е преместено в собственото именно пространство „Шаблон:“.
Шаблоните саструктурирани документи, съдържащи двойки атрибут-стойност. Те се дефинират с параметри, на които се присвояват стойности, когато се включват на страница със статия. Името на параметъра е разделено от стойността със знак за равенство. Клас шаблони, известни като информационни кутии, се използват в Уикипедия за събиране и представяне на подмножество от информация за своя предмет, обикновено в горния (мобилен изглед) или горния десен ъгъл (настолен изглед) на документа.
Свързан метод, наречен заместване на шаблон (чрез добавяне наsubst: в началото на връзка към шаблон), вмъква съдържанието на шаблона в целевата страница (като операция за копиране и поставяне), вместо да зарежда съдържанието на шаблона динамично, когато страницата е заредена. Това може да доведе до непоследователност при използване на шаблони, но може да бъде полезно в определени случаи и в повечето случаи изисква по-малкосървърни ресурси (действителната сума на спестяванията може да варира в зависимост от конфигурацията на уики и сложността на шаблона).
Шаблоните са намерили много различни приложения. Те позволяват на потребителите да създават сложни оформления на таблици, които се използват последователно в множество страници и където само съдържанието на таблиците се вмъква с помощта на параметри на шаблона. Шаблоните често се използват за идентифициране на проблеми със статия в Уикипедия чрез поставяне на шаблон в статията. След това този шаблон извежда графично поле, в което се посочва, че съдържанието на статията е оспорвано или се нуждае от друго внимание, и също така го категоризира, така че статиите от този характер да могат да бъдат намерени. Шаблоните се използват и на потребителските страници, за да изпращат на потребителите стандартни съобщения, приветстващи ги в сайта,[77] давайки им награди за изключителен принос,[78][79] предупреждавайки ги, когато поведението им се счита за неподходящо,[80] уведомявайки ги, когато са блокирани за редактиране[81] и др.
Съществуват начини как МедияУики да бъде направена по-усъвършенствана и полезна за различни цели чрез своите разширения. Тези разширения се различават значително по сложност. Фондация „Уикимедия“ управляваGit сървър, където много разширения хостват тяхното хранилище. Повечето от тях също имат страница с документация на уебсайта на МедияУики. Чрез разширение на МедияУики е улесненпрегледът на кода на софтуера.[82] От март 2012 г. това е направено чрезGerrit. Версия1.16 MediaWiki е ползвана от библиотекатаjQuery.[83]
МедияУики се предлага предварително инсталирано със стандартно текстово търсене. Съществуват разширения, които позволяват на МедияУики да използва по-усъвършенствани търсачки на трети страни, включителноElasticsearch (което от 2014 г. се използва в Уикипедия),Lucene иSphinx.
МедияУики може да използваMySQL /MariaDB,PostgreSQL илиSQLite система за управление на релационни бази данни. Поддръжката заOracle Database иMicrosoft SQL Server е отпаднала след MediaWiki 1.34.[84] Базата данни на МедияУики съдържа няколко дузини таблици, включително таблица на страници, която съдържа заглавия на страници, идентификатори на страници и други метаданни,[85] и таблица с редакции, към която се добавя нов ред всеки път, когато се прави редакция, съдържащ идентификатора на страницата, кратко текстово резюме на извършената промяна, потребителското име на редактора на статията (или неговия IP адрес в случай на нерегистриран потребител) и клеймо за време.[86][87]
В период от 4 години и половина преди 2008 г. базата данни на МедияУики разполага със 170 версии на схема база данни.[88] Вероятно най-голямата промяна в схемата е извършена през 2005 г. с MediaWiki 1.5, когато съхранението на метаданни е отделено от това на съдържанието, за да се подобри гъвкавостта на производителността. Когато това надграждане е приложено към Уикипедия, сайтът е заключен за редактиране и схемата е преобразувана в новата версия за около 22 часа. Някои предложения за подобрение на софтуера, като например предложение за разрешаване на секции от статии да бъдат наблюдавани чрез списък за наблюдение са отхвърлени, тъй като необходимите промени в схемата биха изисквали прекомерно прекъсване на Уикипедия.[89]
Разработчиците на МедияУики са въвели стандарти за сигурност, както за основния код, така и за разширенията.[90]SQL заявките иHTML изходът обикновено се извършват чрез функции за обвивка, които обработват валидиране, екраниране, филтриране за предотвратяване на междусайтови скриптове и SQL инжектиране.[91] Много проблеми със сигурността е трябвало да бъдат коригирани след пускането на версията на МедияУики[92] и съответно MediaWiki.org заявява: „Най-важната стъпка за сигурност, която можете да предприемете, е да поддържате софтуера си актуален“, като се абонирате запощенския списък за съобщения и инсталиране на актуализации за сигурност, които са обявени.[93]
Разработчиците на МедияУики са разпръснати по целия свят, но с мнозинство от тях се намират вСъединените щати иЕвропа. Срещи лице в лице и сесии за програмиране за разработчици на МедияУики се провеждат веднъж или няколко пъти годишно от 2004 г. насам.[94]
↑Development policy // MediaWiki, July 19, 2013. Архивиран оторигинала на May 10, 2017. Посетен на August 4, 2013.
↑Summer of Code // MediaWiki, March 26, 2013. Архивиран оторигинала на May 10, 2017. Посетен на August 4, 2013.
↑Wikimedia // Open Hub. Архивиран оторигинала на September 14, 2017. Посетен на November 15, 2012. Approximate counts (not deduplicated) as of November 4, 2012: 139 for core, 155 for extensions supported by WMF, 190 and 42 for extensions only hosted on WMF's Git and SVN repositories respectively.
↑абVersion lifecycle // MediaWiki, September 5, 2018. Архивиран оторигинала на June 17, 2020. Посетен на October 21, 2018.
↑Magnus's new script... // Wikimedia Foundation, November 14, 2001. Архивиран оторигинала на October 2, 2019. Посетен на October 2, 2019.
↑Magnus's new script... // Wikimedia Foundation, November 14, 2001. Архивиран оторигинала на October 2, 2019. Посетен на October 2, 2019.
↑MediaWiki history // MediaWiki website. Архивиран оторигинала на October 27, 2020. Посетен на August 4, 2013.
↑Wikipedia and MediaWiki // Presentation MediaWiki development (video). April 28, 2006. Архивиран оторигинала на April 14, 2011. Посетен на September 23, 2009.
↑Aktuelle Versionsinformationen sind auf mediawiki.org einsehbar
↑Eine Version mit Langzeitunterstützung (LTS) wird für drei Jahre unterstützt. Sie eignet sich besonders für produktive Umgebungen, in denen größere Softwareänderungen vermieden werden sollen.
↑Message group statistics: MediaWiki core // 20 август 2023. Архивиран оторигинала на20 август 2023. Посетен на20 август 2023. 488 languages (not including languages that are supported but have no translations)