Rozcestník pro vývojáře
![]() |
Uživatelé | ![]() |
Správci wikiserverů | ![]() |
Vývojáři |
Toto je vysokoúrovňový přehled vývoje MediaWiki, obsahující odkazy na klíčové dokumenty, zdroje a nástroje dostupné vývojářům MediaWiki. Je vytvořena pro zkušené LAMP vývojáře, kteří mají zkušenosti s používáním MediaWiki.
Úvodního průvodce vývojem MediaWiki najdete na stránce How to become a MediaWiki hacker.
Pokud potřebujete pomoc s instalací či nastavením MediaWiki, vizte rozcestník pro správce.
Přehled[edit | edit source]
MediaWiki is developed in an open source style[1] using the PHP programming language [2] primarily for the LAMP platform[3][4]. Core development is largely coordinated online.
- Development discussion happens on various mailing lists and IRC channels. The main developer list is wikitech-l. The main developer IRC channels are #mediawiki and #wikimedia-dev. Read the Developers article to get a sense for who the people on the mailing lists and IRC channels are.
- Source code is managed using the Git revision control system. Read the Git article for an overview of how the MediaWiki developers use Git. Read the wikitech:Help:Access#Access FAQ article if you'd like access.[5]
- Code review is performed on Gerrit, see this tutorial to get set up with git and gerrit in order to submit patches.
- Developers extending or interfacing with MediaWiki (instead working on the core code) have several convenient extension points, including the API, the Hooks system and Skins – see the #Extending MediaWiki section of this page for an overview.
Klíčové dokumenty[edit | edit source]
Code, development and style[edit | edit source]
- Development policy – an overview of key development policies.
- Coding conventions – learn how to write PHP code in the MediaWiki style.
- Security for developers – learn how to help keep MediaWiki secure.
- Pre-commit checklist – read this checklist before committing code.
- Code review guide – a guide for reviewers of commits to the MediaWiki source code.
- Requests for Comment (RfC) – read about or suggest new features for the MediaWiki ecosystem
Debugging and testing[edit | edit source]
- How to debug – a guide to debugging MediaWiki.
- Manual:Errors and Symptoms – an overview of common MediaWiki errors and their correlating symptoms.
- Selenium Framework – learn to write UI tests for MediaWiki using Selenium.
- Unit testing – learn to write unit tests for MediaWiki using PHPUnit.
- Security – security issues are reported to [email protected].
Architecture[edit | edit source]
- Manual:Code – an overview of the key parts of MediaWiki's source code.
- Database layout – an overview of MediaWiki's database schemas.
- Global object variables – a partial list of key global variables.
- Localisation – Technický popis internacionalizačních vlastností MediaWiki
- Manual namespace on this wiki – documentation for developers.
- MediaWiki Class Reference – technical documentation generated from the MediaWiki source code. (Note: The class reference is a large, slow-to-load page.)
- MediaWiki Virtual Library – manuals, guides, collections of selected articles.
Sub-systems[edit | edit source]
- API – externí API pro přímý přístup k datové vrstvě
- ContentHandler – MediaWiki's framework for supporting custom types of page content.
- Database access – an overview of using databases in MediaWiki, including a brief guide to the database abstraction layer.
- Job queue – MediaWiki's framework for processing long-running tasks asynchronously.
- Messages API – MediaWiki's framework for providing localized application messages with PHP or JavaScript.
Doplňky do MediaWiki[edit | edit source]
MediaWiki bylo navrženo tak, aby je bylo možno přizpůsobit bez změn „kódu jádra“. To zajišťuje, že lze upgradovat na novější verzi bez potřeby slučovat uživatelské úpravy do nové verze. V MediaWiki existuje pět hlavních bodů, kde mohou vývojáři přidávat nové funkce nebo měnit stávající vlastnosti. Těmito body jsou:
- API – Přístup k datům a metadatům v instanci MediaWiki prostřednictvím silného webového API.
- Hooks – Zajistí, že se něco provede pokaždé, když…
- Parser Functions – Vytvoří nový příkaz, např.
{{#if|...|...|...}}
- Skins – Změní vzhled a chování uživatelského rozhraní MediaWiki.
- Special Pages – Přidá novou speciální stránku
- Tag Extensions – create a new tag like:
<newtag>...</newtag>
Nápověda pro tvůrce doplňků[edit | edit source]
- Manual:Developing extensions – a guide to developing extensions.
- Project:WikiProject Extensions
- Extensions FAQ
- See Category:Extensions, for a list of extensions.
- Manual:$wgExtensionFunctions – use to defer setup (or run other callbacks) for extensions until after the MediaWiki core is setup.
- Extension:BoilerPlate - a blank extension template
Help for skin developers[edit | edit source]
- Manual:Skinning – instructions on how to create a skin for MediaWiki.
- Manual:Skin configuration – a guide to configuring skins for a wiki.
Third-party wiki uses[edit | edit source]
- Enterprise hub - For Enterprise wikis
- Academic hub - For Academic wikis
Poznámky[edit | edit source]
- ↑ Developers are a mix of volunteers and paid Wikimedia Foundation staff (or contractors). For a full list of who works on the MediaWiki code, read the Developers article.
- ↑ Not all of MediaWiki is written in PHP. Some supporting tools are written in other languages, including batch files, shell scripts, makefiles and Python.
- ↑ MediaWiki runs on most platforms that can support PHP, however, the lack of certain utilities or operating system features may limit the functionality or performance of MediaWiki on non-LAMP platforms.
- ↑ MediaWiki has support for DBMS other than MySQL, including Oracle, PostgreSQL and SQLite.
- ↑ Browse the source code and revisions at https://gerrit.wikimedia.org/r/gitweb?p=mediawiki/core.git or clone the development version of the code using this Git command:
git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git MediaWiki
- ↑ Visit http://news.gmane.org/gmane.org.wikimedia.mediawiki.bugs to see recent changes to bugs and issues in the MediaWiki Bugzilla instance.