MediaWiki to nazwa oprogramowania, które obsługuje wszystkie projekty Wikimedia. MediaWiki została wydana w 2003 roku jako skalowalna platforma wiki stworzona dla potrzeb Wikipedii i od tego czasu jest rozwijana przez społeczność wolnego oprogramowania. Jest to wolne oprogramowanie oparte na serwerach, które jest objęte licencją GNU General Public License (GPL). Oprogramowanie jest licencjonowane na zasadach licencji GPL. Oznacza to, że jest to wolna zawartość, czyli otwarte oprogramowanie, które każdy może używać, modyfikować i rozpowszechniać zgodnie z warunkami licencji.
Przeznaczenie i zastosowania
MediaWiki jest przeznaczona do pracy na dużej farmie serwerów internetowych dla stron internetowych, które osiągają miliony odsłon dziennie. Jest wykorzystywana nie tylko przez projekty Wikimedia, ale także przez organizacje rządowe, uczelnie, firmy i społeczności, które potrzebują rozbudowanego systemu współtworzenia i udostępniania wiedzy. Dzięki otwartości kodu i bogatemu ekosystemowi rozszerzeń MediaWiki można dostosować do bardzo różnych zastosowań — od prostych wewnętrznych wiki po złożone portale dokumentacyjne.
Główne cechy
- Wydajność i skalowalność: MediaWiki jest bardzo wydajnym, skalowalnym oprogramowaniem, zaprojektowanym tak, aby obsługiwać duży ruch i setki tysięcy (lub więcej) stron i użytkowników.
- Edytowanie i format: Implementacja używa PHP do przetwarzania treści i wyświetlania ich z bazy danych. Strony używają formatu MediaWiki Wikitext, dzięki czemu użytkownicy bez znajomości XHTML lub CSS mogą je łatwo edytować. Dla osób preferujących edytor wizualny dostępny jest projekt VisualEditor, który pozwala edytować stronę w trybie WYSIWYG.
- Historia wersji i cofanie zmian: Kiedy użytkownik przesyła edycję do strony, MediaWiki zapisuje ją do bazy danych, ale bez usuwania poprzednich wersji strony, co pozwala na łatwy powrót w przypadku wandalizmu lub spamu oraz pełne śledzenie zmian.
- Pliki multimedialne: MediaWiki może zarządzać obrazami i innymi plikami multimedialnymi, które zwykle są przechowywane w systemie plików serwera lub na zewnętrznych systemach przechowywania.
- Buforowanie i integracja z proxy: Dla dużych serwisów wiki z dużą liczbą użytkowników MediaWiki obsługuje buforowanie i może być łatwo połączona z oprogramowaniem serwera proxy Squid (jak również z innymi rozwiązaniami cache — np. Varnish, memcached, Redis), co znacząco poprawia wydajność.
- API i integracje: MediaWiki dostarcza rozbudowane API (m.in. Action API, REST API), które umożliwia automatyzację, integrację z zewnętrznymi aplikacjami oraz tworzenie botów i narzędzi pomocniczych.
Architektura i wymagania techniczne
Silnik MediaWiki oparty jest na PHP i korzysta z relacyjnej bazy danych do przechowywania treści, metadanych i historii rewizji. Chociaż historycznie najczęściej używana baza to MySQL (i jego kompatybilne warianty), MediaWiki obsługuje także inne systemy bazodanowe (np. MariaDB, PostgreSQL, SQLite w zależności od wersji i konfiguracji). Do poprawnego działania w środowiskach produkcyjnych zaleca się stosowanie serwerów WWW typu Apache lub nginx oraz warstw buforowania i kolejkowania zadań (job queue), które rozdzielają obciążenie i przyspieszają działanie.
Rozszerzenia, skórki i edytory
Jednym z kluczowych atutów MediaWiki jest system rozszerzeń (extensions) i skórek (skins). Rozszerzenia dodają funkcje takie jak obsługa kartografii, zaawansowane szablony, narzędzia do tłumaczeń, integracje z zewnętrznymi usługami, rejestry praw użytkowników i wiele innych. Skórki pozwalają zmienić wygląd i układ strony bez ingerencji w treść. Rozwój rozszerzeń prowadzony jest zarówno przez społeczność, jak i przez organizacje, co daje szeroką bazę gotowych rozwiązań.
Bezpieczeństwo i rozwój
MediaWiki ma aktywną społeczność deweloperów i użytkowników, którzy zgłaszają błędy, piszą poprawki i tworzą dokumentację. Regularne aktualizacje zawierają poprawki bezpieczeństwa, usprawnienia wydajności oraz nowe funkcje. W środowiskach produkcyjnych ważne jest monitorowanie nowych wydań i szybkie stosowanie poprawek bezpieczeństwa oraz testowanie rozszerzeń przed wdrożeniem.
Społeczność i wkład
Rozwój MediaWiki odbywa się otwarcie na platformach takich jak Gerrit/Git oraz w repozytoriach udostępnionych przez Fundację Wikimedia i innych projektach. Każdy może uczestniczyć w tłumaczeniu interfejsu, tworzeniu rozszerzeń, zgłaszaniu błędów czy testowaniu nowych funkcji. Istnieje obszerna dokumentacja (w tym wiki techniczne) oraz kanały komunikacji dla administratorów i programistów.
Zastosowania poza Wikimedia
Poza projektami Wikimedia, MediaWiki jest używana przez różne instytucje — uczelnie, organizacje non-profit, firmy i instytucje publiczne — które potrzebują elastycznego systemu do współpracy i publikacji wiedzy. Dzięki możliwości dostosowania i bogatej bazie rozszerzeń MediaWiki sprawdza się zarówno jako wewnętrzne repozytorium dokumentacji, jak i publiczny serwis informacyjny.
Wszystkie projekty Wikimedia działają na MediaWiki w wersji 1.35.0-wmf.31 (c33756d).

