Developer hub
To jest przegląd treści dotyczących rozwijania oprogramowania MediaWiki, zawiera linki do dokumentacji, zasobów i narzędzi dostępnych dla programistów MediaWiki. Ta część została napisana dla doświadczonych programistów LAMP posiadających doświadczenie w użytkowaniu MediaWiki.
- Jeżeli chcesz wykorzystywać API Wikimedia, odwiedź Portal dla programistów.
- Jeżeli chcesz rozwijać oprogramowanie wykorzystywane przez Wikimedia, zobacz Nowi Deweloperzy .
- Jako wprowadzający przewodnik rozwijania MediaWiki i rozszerzeń przeczytaj Jak zostać hakerem MediaWiki .
- Jeśli chcesz współpracować z innymi użytkownikami MediaWiki, MediaWiki: Grupa zainteresowanych stron (MWStake) to grupa użytkowników MediaWiki składająca się z programistów MediaWiki, administratorów systemu, użytkowników, konsultantów i dostawców usług hostingowych.
Przegląd
MediaWiki to oprogramowanie wykorzystywane przez Wikipedię, jej projekty siostrzane i tysiące wiki na całym świecie.
MediaWiki jest napisane w języku programowania PHP.[1] Wykorzystuje jQuery jako bibliotekę JavaScript działająca po stronie klienta.
MediaWiki jest napisane głównie na platformy LAMP[2] i działa na większości systemów operacyjnych. MediaWiki wykorzystuje głównie serwery baz danych MySQL i MariaDB.[3]
Oprogramowanie MediaWiki jest rozwijane na licencji open source[4], w większości rozwój koordynowany jest online i wspierany przez Wikimedia Foundation, ale dużą rolę pełnią też wolontariusze.
- Dyskusja na temat rozwoju odbywa się na listach mailingowych oraz na kanale IRC. Główna listą dyskusyjną programistów jest wikitech-l, a kanałem IRC jest #mediawiki connect.
- Kod źródłowy jest zarządzany przez system kontroli wersji Git.[5]
- Przegląd kodu odbywa się w Gerrit , zobacz ten przewodnik, aby dowiedzieć się jak ustawić git i gerrit, by móc przesyłać poprawki.
- Zgłoszenia błędów i zadania dla większości projektów zarządzane są w Phabricator .
- Programiści rozszerzający lub tworzący interfejs poprzez MediaWiki (zamiast pracy nad rdzeniem MediaWiki) mogą zapoznać się z API, Systemem haków oraz Skórkami – zobacz sekcję #Rozszerzanie MediaWiki.
Dokumentacja
Kod, rozwój i styl
- Development policy – przegląd kluczowych zasad rozwoju.
- Konwencja programowania – dowiedz się jak pisać kod w stylu MediaWiki.
- Security for developers – dowiedz się jak zachować bezpieczeństwo MediaWiki.
- Manual:Pre-commit checklist – przeczytaj tę listę przed wysłaniem zmian.
- Przewodnik przeglądania kodu – przewodnik dla sprawdzających wpływy do kodu MediaWiki.
- Technical Decision Making Process – przeczytaj na temat procedury decydowania o większych zmianach technicznych.
Debugowanie i testowanie
- Jak debugować? – przewodnik debugowania MediaWiki.
- Manual:Errors and symptoms – przegląd głównych błędów MediaWiki oraz ich powiązane symptomy.
- Testowanie przeglądarek – naucz się pisać testy UI dla MediaWiki przy użyciu Selenium.
- Testowanie modułów – dowiedź się jak napisać testy modułów dla MediaWiki korzystając z PHPUnit.
- Testy integracyjne API – naucz się pisać testy integracyjne API dla MediaWiki przy użyciu Mocha.
- Security for developers – dowiedz się jak pisać bezpieczny kod.
Architektura
- MediaWiki architecture – wprowadzenie do architektury MediaWiki.
- Podręcznik:Kod – przegląd kluczowych części kodu źródłowego MediaWiki.
- Manual:Database layout – przegląd schematów baz danych MediaWiki.
- Manual:Global object variables – częściowa lista kluczowych zmiennych globalnych.
- Lokalizacja – dowiedz się na temat internacjonalizacji MediaWiki.
- Podręcznik - przestrzeń nazw na tej wiki - dokumentacja dla programistów i administratorów.
- Dokumentacja klas MediaWiki – techniczna dokumentacja wygenerowana z kodu źródłowego MediaWiki. (Uwaga: Dokumentacja jest obszerna i strona może się długo ładować.)
Podsystemy
- API – API MediaWiki umożliwia bezpośredni dostęp do danych zawartych w bazach danych MediaWiki.
- ContentHandler – Framework MediaWiki do obsługi własnych typów zawartości stron.
- Dostęp do bazy danych – przegląd dotyczący używania baz danych w MediaWiki.
- Kolejka zadań – framework MediaWiki do wykonywania długotrwałych zadań w sposób asynchroniczny.
- Messages API – framework do przechwytywania komunikatów w MediaWiki, za pomocą PHP lub JavaScript.
Rozszerzanie MediaWiki
System MediaWiki został tak stworzony, aby pozwolić na modyfikację bez edycji głównego kodu. Czyni to łatwym w aktualizacji oprogramowania bez konieczności porównywania plików z wprowadzonymi zmianami. Jest sześć punktów rozszerzania funkcji:
- API – dostęp do danych i informacji dodatkowych z instancji MediaWiki poprzez web API.
- Haki – za każdym razem gdy podane zdarzenie wystąpi, zrób cośtam.
- Funkcje parsera – tworzenie nowej komendy, np.:
{{#if:...|...|...}}
. - Skórki – zmiana wyglądu MediaWiki.
- Strony specjalne – dodawanie nowych stron specjalnych.
- Tag extensions – tworzenie nowych znaczników:
<newtag>...</newtag>
. - Extending wiki markup – dodaj hak parsera do zmieniania zawartości wynikowej wikikodu.
Pomoc dla twórców rozszerzeń
- Podręcznik:Tworzenie rozszerzeń – przewodnik tworzenia rozszerzeń.
- FAQ dotyczące rozszerzeń
- Zobacz listę rozszerzeń: Kategoria:Rozszerzenia .
- Extension:BoilerPlate - wzorcowy szablon rozszerzenia.
Pomoc dla twórców skórek
- Manual:How to make a MediaWiki skin – instrukcje tworzenia skórek dla MediaWiki.
- Podręcznik:Konfiguracja skórki – przewodnik konfigurowania skórek.
Pomoc w wykorzystywaniu kodu bibliotek
- Manual:Developing libraries – instrukcja dołączania do MediaWiki zewnętrznych bibliotek
Uwagi
- ↑ Nie całe MediaWiki jest napisane w PHP. Niektóre narzędzia pomocnicze są napisane w innych językach, takich jak pliki wsadowe, skrypty powłoki, makefile i Python.
- ↑ MediaWiki działa na wielu platformach, które mogą obsługiwać PHP, jednak brak niektórych narzędzi lub funkcji systemu operacyjnego może ograniczać funkcjonalność lub wydajność MediaWiki na platformach innych niż LAMP.
- ↑ MediaWiki posiada obsługę DBMS innych niż MySQL i MariaDB, takich jak PostgreSQL i SQLite.
- ↑ Twórcami są zarówno wolontariusze jak i płatni pracownicy (lub wykonawcy) z różnych organizacji. Aby zobaczyć pełną listę osób pracujących nad kodem MediaWiki, przeczytaj artykuł Deweloperzy .
- ↑ Przeglądaj kod źródłowy i zmiany repozytorium kodu w Gerrit lub pobierz kod źródła do systemu za pomocą Gerrit .