МедияУики

уики софтуер

МедияУики (на английски: MediaWiki) е безплатен уики софтуер с отворен код. Първоначалният вариант е създаден специално за Уикипедия от Магнус Манске на 25 януари 2002 г. и допълнително подобрен от Лий Даниел Крокър,[1][2] след което е координиран от Фондация „Уикимедия“. Той управлява няколко уебсайта за хостване на уики в Интернет, както и повечето уебсайтове, хоствани от Фондация „Уикимедия“, като Уикипедия, Уикиречник, Общомедия, Уикицитат, МетаУики и Уикиданни, които определят голяма част от зададените изисквания за софтуера.[3] Езика за програмиране на който е написан МедияУики е PHP, той съхранява цялото текстово съдържание в бази от данни. Софтуерът е оптимизиран за ефективно управление на големи проекти, които могат да имат терабайти съдържание и стотици хиляди гледания в секунда.[3][4] Тъй като Уикипедия е сред най-големите и най-посещавани уебсайтове в света, постигането на мащабируемост чрез множество слоеве на кеширане и репликация на база данни е основна грижа за разработчиците. Друг важен аспект на МедияУики е нейната интернационализация. Неговият интерфейс е достъпен на над 450 езика. Софтуерът има над 1000 настройки за конфигурация[5] и над 1800 разширения, които позволяват добавянето или промяната на различни функции.[6] Освен използването му от сайтове на Фондация „Уикимедия“, МедияУики се използва като система за управление на знания и съдържание на сайтове като Fandom, wikiHow, както и за големи вътрешни въведения, като при Интелипедия и Диплопедия.

МедияУики
MediaWiki
Началната страница към април 2021 г.
Информация
АвторМагнус Манске;
Лий Даниел Крокър
РазработчикФондация „Уикимедия“
Начална версия25 януари 2002 г.;
преди 22 години
 (2002-01-25)
Последна версия1.39.6 и
1.41.0 (21 декември 2023)
Програмен езикPHP и JavaScript
Операционна системаMicrosoft Windows, macOS, Linux, FreeBSD, OpenBSD, Solaris
Платформамеждуплатформен софтуер
Език на интерфейсанад 450 езика
Размер110,2 MiB (компресиран)
Статусактивен
Вид софтуеруики
ЛицензGPLv2+
Уебсайтmediawiki.org
МедияУики в Общомедия

Лиценз редактиране

МедияУики е безплатен софтуер и с отворен код и се разпространява съгласно условията на GNU General Public License, втора или всяка следваща версия. Документацията на софтуера е качена в официалния уебсайт – www.mediawiki.org, издадена под лиценза Криейтив Комънс (BY-SA 4.0), и отчасти е публично достояние.[7] По-конкретно, ръководствата и останалото съдържание в MediaWiki.org са лицензирани от Криейтив Комънс, докато наборът от помощни страници, предназначени за свободно копиране и инсталиране в нови уикита и/или разпространявани със софтуера на МедияУики са обществено достояние. Това е осъществено, за да се премахнат правни проблеми, произтичащи от импортирането на помощни страници в уикита с лицензи, които са несъвместими с лиценза Криейтив Комънс.[8] Развитието на МедияУики като цяло благоприятства използването на медийни формати с отворен код.[9]

Развитие редактиране

МедияУики разполага с активна общност от доброволци за разработка и поддръжка. Потребителите, които са направили значителен принос към проекта чрез изпращането на корекции, при искане, обикновено получават достъп за извършване на проверка в Git / Gerrit хранилището на проекта.[10] Има и платени програмисти, които основно разработват проекти за Фондация „Уикимедия“. Разработчиците на МедияУики участват в инициативата на Google „Лято на кода“, като улесняват назначаването на ментори на студенти, които желаят да работят по основни и разширени проекти на МедияУики.[11] През годината, преди ноември 2012 г. има около двеста разработчици, които извършват промени в ядрото или разширенията на МедияУики.[12] Основните издания на МедияУики се генерират приблизително на всеки шест месеца, като се правят моментни снимки на клона за разработка, който се поддържа непрекъснато в работоспособно състояние.[13] Незначително издаване или издаване на корекция се извършват при необходимост за коригиране на грешки (особено проблеми със сигурността). МедияУики е разработена на базата на модел за непрекъснато приобщаване на развитие, при които промените в софтуера се предават редовно на живо в сайтовете на Фондация „Уикимедия“.[13] МедияУики разполага с публичен инструмент за проследяване на грешки – phabricator.wikimedia.org, от системата за проследяване на проблеми „Фабрикатор“. Сайтът се използва и за заявки за функции и подобрения.

История редактиране

 
Магнус Манске през 2012 г.

Когато стартира Уикипедия през януари 2001 г., тя работи на съществуващата уики софтуерна система UseModWiki. UseModWiki е написан на езика за програмиране Perl и съхранява всички уики страници в текстови (.txt) файлове. Този софтуер скоро се оказва ограничаващ както във функционалността, така и в производителността. В средата на 2001 г. Магнус Манске (разработчик и студент в Кьолнският университет, редактор на Уикипедия) започва работа върху нов софтуер, който ще замени UseModWiki, специално предназначен за използване от Уикипедия. Този софтуер е написан на скриптовия език PHP и съхранява цялата информация в база данни на MySQL. Новият софтуер е разработен основно до 24 август 2001 г. и малко след това е създадено тестово уики за него.

На 9 ноември 2001 г. е първото пълно внедряване на този софтуер е новата мета Уикипедия, като се проявява желание той да бъде внедрен незабавно в английската версия на Уикипедия.[14] Въпреки това, Магнус Манске се опасява от евентуални грешки, които да навредят на зараждащия се уебсайт по време на последните изпити, които е трябвало да завършат непосредствено преди Коледа.[15] Това води до отлагане на стартирането на английската версия на Уикипедия до 25 януари 2002 г. След това софтуерът постепенно е внедрен на всички езикови версии на Уикипедия по онова време. Този софтуер е посочен като „PHP скрипт“ и като „фаза II“, а с името „фаза I“ е посочено със задна дата на използването на UseModWiki.

Увеличаването на употребата му скоро води до повторно възникване на проблеми със зареждането, и скоро след това започва ново пренаписване на софтуера. Този път това е сторено от Лий Даниел Крокър, и става известно като „фаза III“. Този нов софтуер е написан също на PHP, с MySQL бекенд и запазва основния интерфейс на софтуера „фаза II“, но с добавената функционалност за по-широка мащабируемост. Софтуерът „фаза III“ е пуснат онлайн в Уикипедия през юли 2002 г.

На 20 юни 2003 г. е обявено създаването на Фондация „Уикимедия“. През юли сътрудникът на Уикипедия – Даниел Майер предлага наименованието за софтуера да е „МедияУики“.[21] То е въведено постепенно, започвайки през август 2003 г. Името често предизвиква объркване поради (умишлената) си прилика с наименованието „Уикимедия“ (което само по себе си е подобно на „Уикипедия“).[16]

 
Лого на МедияУики до 1 април 2021 г.

Първото лого на МедияУики е създадено от Ерик Мьолер, като е използвана снимка на цвете, направена от Флоранс Нибар-Девуар. Първоначално то е било изпратено в конкурса за ново лого на Уикипедия, проведен от 20 юли до 27 август 2003 г.[17][18] Логото е класирано на трето място и е избрано да представлява МедияУики, а не Уикипедия, като логото на второ място е използвано за Фондация „Уикимедия“.[19] Двойните квадратни скоби ([[ ]]) символизират синтаксиса, който МедияУики използва за създаване на хипервръзки към други уики страници. В същото време слънчогледът представлява разнообразието от съдържание в Уикипедия, неговия постоянен растеж и пустинята.[20]

По-късно Брук Вайбър, главен технически директор на Фондация „Уикимедия“,[21] поема ролята на мениджър по издаването.[22][23]

Основните етапи в развитието на МедияУики включват – система за категоризация (2004), функции на синтактически анализ (2006), разширение към софтуера (2008),[24] „ResourceLoader“ система за използване на CSS и JavaScript (2011),[25] и платформата за редактиране VisualEditor „каквото виждаш, това получаваш“ (WYSIWYG) (2013).[26]

На 22 юни 2020 г. е обявен конкурс за проектиране на ново лого, посочено е че старото лого е с изображение на растение и има „големи детайли“, водейки до проблеми при изобразяване на висока и ниска резолюция. След два кръга на гласуване се изработва новото и текущо лого на МедияУики. То е проектирано и избрано на 24 октомври 2020 г., а на на 1 април 2021 г. е официално прието.[27]

Текущи версии редактиране

Наименование Версия[28] Влизане в употреба Край на поддръжката
MediaWiki 1.35 (LTS)[29] Стара версия, която вече не се поддържа: 1.35.x 25 септември 2020 септември 2023
MediaWiki 1.38 Стара версия, която вече не се поддържа: 1.38.x 2 юни 2022 юни 2023
MediaWiki 1.39 (LTS) Стара версия, която все още се поддържа: 1.39.x 30 ноември 2022 ноември 2025
MediaWiki 1.40 Стара версия, която все още се поддържа: 1.40.x 30 юни 2023 юни 2024
MediaWiki 1.41 Текуща стабилна версия: 1.41.x 21 декември 2023 декември 2024
MediaWiki 1.42 Бъдещо издание: 1.42.x юни 2024 юни 2025
Легенда:
Стара версия
Стара версия, все още се поддържа
Текуща версия
Последната преглед версия
Бъдещо издание

Сайтове, използващи „МедияУики“ редактиране

Има много сайтове които използват безплатният софтуер МедияУики, най-известният сред които е Уикипедия, в по-малка степен са известни и другите проекти на Фондация „Уикимедия“. Fandom е услуга за уики хостинг (известна преди като Wikia), която използва МедияУики. Сред публичните уикита, които използват МедияУики са wikiHow и SNPedia, както и много други. УикиЛийкс стартира като базиран на МедияУики сайт, но по-късно не функционира като уики.

Има редица алтернативни уики енциклопедии, които се публикуват в МедияУики, като Citizendium, Scholarpedia, Метапедия, Консервапедия, и др. МедияУики се използва и от сайтовете на редица компании, като „Новел“ и „Интел“.[30][31]

МедияУики се използва и от правителствени сайтове, като Интелипедия (използван от Разузнавателните ведомства на Съединените щати), Диплопедия (използван от Държавния департамент на Съединетите щати), и milWiki (част от milSuite, използван от Департамента на отбраната на Съединените щати). Агенции на Обединените нации като Програмата за развитие на Обединените нации и INSTRAW избират да използват услугите на МедияУики за своите уикита, тъй като софтуерът работи с успешно с Уикипедия.[32]

Фондацията за свободен софтуер използва МедияУики при създаването на сайта LibrePlanet.[33]

Основни функции редактиране

Разширения редактиране

База данни редактиране

МедияУики може да използва MySQL / MariaDB, PostgreSQL или SQLite система за управление на релационни бази данни. Поддръжката за Oracle Database и Microsoft SQL Server е отпаднала след MediaWiki 1.34.[34] Базата данни на МедияУики съдържа няколко дузини таблици, включително таблица на страници, която съдържа заглавия на страници, идентификатори на страници и други метаданни,[35] и таблица с редакции, към която се добавя нов ред всеки път, когато се прави редакция, съдържащ идентификатора на страницата, кратко текстово резюме на извършената промяна, потребителското име на редактора на статията (или неговия IP адрес в случай на нерегистриран потребител) и клеймо за време.[36][37]

В период от 4 години и половина преди 2008 г. базата данни на МедияУики разполага със 170 версии на схема база данни.[38] Вероятно най-голямата промяна в схемата е извършена през 2005 г. с MediaWiki 1.5, когато съхранението на метаданни е отделено от това на съдържанието, за да се подобри гъвкавостта на производителността. Когато това надграждане е приложено към Уикипедия, сайтът е заключен за редактиране и схемата е преобразувана в новата версия за около 22 часа. Някои предложения за подобрение на софтуера, като например предложение за разрешаване на секции от статии да бъдат наблюдавани чрез списък за наблюдение са отхвърлени, тъй като необходимите промени в схемата биха изисквали прекомерно прекъсване на Уикипедия.[39]

Производителност и съхранение редактиране

Ограничения редактиране

Сигурност редактиране

Разработчиците на МедияУики са въвели стандарти за сигурност, както за основния код, така и за разширенията.[40] SQL заявките и HTML изходът обикновено се извършват чрез функции за обвивка, които обработват валидиране, екраниране, филтриране за предотвратяване на междусайтови скриптове и SQL инжектиране.[41] Много проблеми със сигурността е трябвало да бъдат коригирани след пускането на версията на МедияУики[42] и съответно MediaWiki.org заявява: „Най-важната стъпка за сигурност, която можете да предприемете, е да поддържате софтуера си актуален“, като се абонирате за пощенския списък за съобщения и инсталиране на актуализации за сигурност, които са обявени.[43]

Общност на разработчиците редактиране

Разработчиците на МедияУики са разпръснати по целия свят, но с мнозинство от тях се намират в Съединените щати и Европа. Срещи лице в лице и сесии за програмиране за разработчици на МедияУики се провеждат веднъж или няколко пъти годишно от 2004 г. насам.[44]

Поддръжка редактиране

Поддръжката за потребителите на МедияУики се състои от:

  • MediaWiki.org, включително бюрото за поддръжка.
  • Официален пощенски списък, Mediawiki-l.
  • Няколко книги са написани за администрирането на МедияУики,[45] включително някои безплатни онлайн книги.[46][47]

Вижте също редактиране

Източници редактиране

  1. Magnus Manske's announcement of "PHP Wikipedia", wikipedia-l, August 24, 2001
  2. Barrett, Daniel J. MediaWiki. O'Reilly Media, October 2008. ISBN 978-0-596-51979-7. Посетен на April 23, 2010.
  3. а б What is MediaWiki? // January 9, 2021. Архивиран от оригинала на July 22, 2018. Посетен на March 27, 2021.
  4. Česky. Wikipedia:Statistics – Wikipedia, the free encyclopedia // Wikipedia. Архивиран от оригинала на August 28, 2021. Посетен на May 30, 2010.
  5. Category:MediaWiki configuration settings // MediaWiki, September 11, 2016. Архивиран от оригинала на November 10, 2014. Посетен на September 11, 2016.
  6. Extension Matrix // MediaWiki. Архивиран от оригинала на September 11, 2016. Посетен на September 6, 2017.
  7. MediaWiki.org Project:Copyrights // Архивиран от оригинала на August 23, 2023. Посетен на August 23, 2023.
  8. Project:PD help // MediaWiki. Архивиран от оригинала на October 29, 2020. Посетен на May 30, 2010.
  9. Rafe Needleman (November 19, 2008). Wikipedia gears up for flood of video and photo files. C-Net, архив на оригинала от 6 август 2009, https://news.cnet.com/8301-17939_109-10103177-2.html, посетен на April 23, 2010 
  10. Development policy // MediaWiki, July 19, 2013. Архивиран от оригинала на May 10, 2017. Посетен на August 4, 2013.
  11. Summer of Code // MediaWiki, March 26, 2013. Архивиран от оригинала на May 10, 2017. Посетен на August 4, 2013.
  12. 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.
  13. а б Version lifecycle // MediaWiki, September 5, 2018. Архивиран от оригинала на June 17, 2020. Посетен на October 21, 2018.
  14. Magnus's new script... // Wikimedia Foundation, November 14, 2001. Архивиран от оригинала на October 2, 2019. Посетен на October 2, 2019.
  15. Magnus's new script... // Wikimedia Foundation, November 14, 2001. Архивиран от оригинала на October 2, 2019. Посетен на October 2, 2019.
  16. Differences between Wikipedia, Wikimedia, MediaWiki, and wiki // MediaWiki. Архивиран от оригинала на July 1, 2009. Посетен на May 30, 2010.
  17. International logo contest // Архивиран от оригинала на May 9, 2020. Посетен на April 9, 2020.
  18. International logo contest/results // Meta-wiki. Wikimedia Foundation, January 10, 2007. Архивиран от оригинала на November 4, 2015. Посетен на March 14, 2007.
  19. Historical/Logo history // Meta-wiki. Wikimedia Foundation, January 17, 2007. Архивиран от оригинала на November 4, 2015. Посетен на March 14, 2007.
  20. Erik Möller. File talk:EloquenceSunflowerNew-Small.png – Meta // Meta-wiki. Wikimedia Foundation, July 26, 2003. Архивиран от оригинала на January 30, 2016. Посетен на February 3, 2013.
  21. David Weinberger. Everything Is Miscellaneous: The Power of the New Digital Disorder. Times Books, 2007. ISBN 978-0-8050-8043-8. с. 99.
  22. MediaWiki history // MediaWiki website. Архивиран от оригинала на October 27, 2020. Посетен на August 4, 2013.
  23. Wikipedia and MediaWiki // Presentation MediaWiki development (video). April 28, 2006. Архивиран от оригинала на April 14, 2011. Посетен на September 23, 2009.
  24. M Schindler; D Vrandecic (2009). Introducing new features to Wikipedia. Proceedings of WebSci, архив на оригинала от 24 юни 2018, https://www.researchgate.net/publication/224219255, посетен на June 24, 2018 
  25. MediaWiki ResourceLoader // Mediawiki.org. Архивиран от оригинала на March 8, 2013. Посетен на July 6, 2013.
  26. VisualEditor – MediaWiki // MediaWiki. Архивиран от оригинала на September 27, 2013. Посетен на September 15, 2013.
  27. Logo of MediaWiki has changed // Wikimedia Foundation, March 31, 2021. Архивиран от оригинала на April 2, 2021. Посетен на April 2, 2021.
  28. Aktuelle Versionsinformationen sind auf mediawiki.org einsehbar
  29. 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.
  30. MediaWiki testimonials Архив на оригинала от януари 11, 2012 в Wayback Machine., mediawiki.org
  31. The story of Intelpedia: A model corporate wiki // Socialmedia.biz. Архивиран от оригинала на September 16, 2013. Посетен на August 16, 2013.
  32. A stealth transformation: introducing wikis to the UN // Knowledge Management for Development Journal, 2007. Архивиран от оригинала на May 4, 2011. Посетен на October 9, 2010.
  33. LibrePlanet Homepage // Архивиран от оригинала на March 18, 2011. Посетен на December 10, 2018.
  34. Manual:Installation requirements // Архивиран от оригинала на March 8, 2021. Посетен на March 14, 2021.
  35. Manual:Page table // MediaWiki, May 15, 2010. Архивиран от оригинала на November 25, 2014. Посетен на May 30, 2010.
  36. Manual:Revision table // MediaWiki. Архивиран от оригинала на November 24, 2014. Посетен на May 30, 2010.
  37. Ortega, Felipe; González-Barahona, Jesus M.; Robles, Gregorio (2007). The Top-Ten Wikipedias: A Quantitative Analysis Using WikiXRay 
  38. Curino, Carlo A.; Tanca, Letizia; Zaniolo, Carlo (2008). Information Systems Integration and Evolution: Ontologies at Rescue. Workshop on Semantic, архив на оригинала от 22 декември 2009, https://yellowstone.cs.ucla.edu/schema-evolution/documents/curino-STSM08-CR.pdf, посетен на April 23, 2010 
  39. T Dumitras; P Narasimhan (2009). No downtime for data conversions: Rethinking hot upgrades, архив на оригинала от 16 юни 2010, https://www.pdl.cmu.edu/PDL-FTP/stray/CMU-PDL-09-106.pdf, посетен на April 29, 2010 
  40. Security for developers // MediaWiki. Архивиран от оригинала на November 25, 2014. Посетен на May 30, 2010.
  41. Perrin, Chad (April 30, 2008). Five security tips from MediaWiki's lead developer. Tech Republic, https://blogs.techrepublic.com/security/?p=451 [неработеща препратка]
  42. News // MediaWiki. Архивиран от оригинала на October 6, 2014. Посетен на May 30, 2010.
  43. Manual:Security // MediaWiki, March 22, 2010. Архивиран от оригинала на November 10, 2014. Посетен на May 30, 2010.
  44. Events // Mediawiki.org. Архивиран от оригинала на December 27, 2018. Посетен на December 27, 2018.
  45. Books about MediaWiki Архив на оригинала от декември 27, 2018 в Wayback Machine., mediawiki.org
  46. MediaWiki Administrator's Handbook. Wikibooks. Архивиран от оригинала на October 20, 2014. Посетен на October 20, 2014.
  47. MediaWiki User Guide. Wikibooks, архив на оригинала от 20 октомври 2014, https://en.wikibooks.org/wiki/MediaWiki_User_Guide, посетен на October 20, 2014 

Външни препратки редактиране