Посібник розробника
Це спільний огляд матеріалів про розробцу MediaWiki, #котрий #включає посилання на основні документи, та ресурси для розробників MediaWiki. Вони орієнтовані на кваліфікованих розробників LAMP, #котрі #мають досвід використання MediaWiki.
- Якщо ви прагните використовувати Wikimedia web APIs, відвідайте the Developer Portal.
- If you want to contribute to developing Wikimedia software, see New Developers .
- For an introductory guide to developing MediaWiki and MediaWiki extensions, read Як стати MediaWiki-хакером .
- Якщо ви хочете співпрацювати з іншими сторонніми користувачами MediaWiki, MediaWiki Stakeholders' Group (MWStake) — це група користувачів MediaWiki, що складається з розробників MediaWiki, системних адміністраторів, користувачів, консультантів та постачальників послуг хостингу.
Огляд
MediaWiki — це програмне забезпечення, на основі якого створена Вікіпедия, її #родинні проекти, а також тисячі вікі по всьому світу.
MediaWiki написана на мові PHP Не все у MediaWiki написане на PHP. Деякі допоміжні утилити написані на інших мовах програмування, включаючи пакетні файли, сценарії командной строки, makefiles #і Python.. Вона використовує jQuery, як клієнтську бібліотеку JavaScript
MediaWiki початково написана для платформи LAMP MediaWiki працює на більшості платформ, котрі підтримують PHP, однак відсутність визначених утилит або функцій операційної системи можучи обмежити функціональность, або продуктивність MediaWiki на платформах, відмінних від LAMP. і працює у більшості #операційний систем. MediaWiki з початку використовувала сервера баз даних MySQL і MariaDB. У MediaWiki окрім підтримки MySQL #і MariaDB є підтримка DBMS включаючи PostgreSQL і SQLite.
Development happens in an open source style[1], is largely coordinated online, and supported by the Wikimedia Foundation, though volunteer community developers play a huge part as well.
- Обговорення розвитку буває на різних списках розсилки а також IRC каналах. Основний список розробників це - wikitech-l. Основним розробником IRC-каналу є #mediawiki connect.
- Управління вихідним кодом здійснюється за допомогою системи контролю версій Git.[2]
- Перевірка коду для більшості проектів виконується на Gerrit . Дотримуючись цього посібника щоб налаштувати Git і Gerrit для надсилання оновлень.
- Bug reports and tasks for most projects are managed on Фабрикатор .
- Розробники, які розширюють або інтегруються з MediaWiki (замість того, щоб працювати над основним кодом), мають кілька зручних точок розширення, включаючи API, в Hooks системи та Skins – дивличись на #Extending MediaWiki розділ цієї сторінки для огляду.
Документи
Код, розробка та стиль
- Development policy – огляд ключових політик розвитку.
- В Конвенції кодування – можна навчитися писати код у MediaWiki стилі.
- Security for developers – дізнайтеся, як забезпечити безпеку MediaWiki.
- Manual:Pre-commit checklist – прочитайте цей контрольний список перед закріпленням коду.
- Code review guide – посібник для рецензентів комітів вихідного коду MediaWiki.
- Technical Decision Making Process – прочитайте про процес, щоб прийняти рішення про внесення більших технічних змін.
Налагодження та тестування
- Як тестувати – посібник із налагодження MediaWiki.
- Manual:Errors and symptoms – огляд поширених помилок MediaWiki та їхніх відповідних симптомів.
- Тестування користувачами – навчитися писати тести інтерфейсу користувача для MediaWiki за допомогою Selenium.
- Модульне тестування – навчитися писати модульні тести для MediaWiki за допомогою PHPUnit.
- Тести інтеграції з API – навчитися писати тести інтеграції API для MediaWiki за допомогою Mocha.
- Security for developers – навчитися писати безпечний код.
Архітектура
- MediaWiki architecture – вступ до архітектури MediaWiki.
- Посібник:Код – огляд ключових частин вихідного коду MediaWiki.
- Посібник:Структура бази даних – огляд схем бази даних MediaWiki.
- Manual:Global object variables – неповний список ключових глобальних змінних.
- Локалізація – дізнатися про систему інтернаціоналізації MediaWiki.
- Інструкція простір імен у цій вікі – документація для розробників.
- MediaWiki Посилання на клас – технічна документація, створена з вихідного коду MediaWiki. (Примітка: Посилання на клас є великою сторінкою, яка повільно завантажується.)
Підсистеми
- API – API MediaWiki забезпечує прямий високорівневий доступ до даних, що містяться в базах даних MediaWiki.
- ContentHandler – Інфраструктура MediaWiki для підтримки власних типів вмісту сторінок.
- Database access – огляд використання баз даних у MediaWiki, включаючи короткий посібник щодо рівня абстракції бази даних.
- Job queue – Інфраструктура MediaWiki для асинхронної обробки тривалих завдань.
- API повідомлень – Інфраструктура MediaWiki для надання локалізованих повідомлень програм за допомогою PHP або JavaScript.
Встановлення MediaWiki
MediaWiki була спроектирована так, щоб дозволити вносити виправлення без зміни основного коду. Це полегшує оновлення при переході на нову версію MediaWiki, так, як зникає необхідність прі оновленні вручну править код #котрий #існує для модулів розширення, заново приводячи їх у відповідність з основным кодом. Передбачене шість основных способів, #котрі #дозволяють розробникам MediaWiki додавати #нові можливості, а також вномити правки у #вже #існуючі. Способи розширення #які #наслідуються:
- API – отримати доступ до даних і метаданих екземплярів MediaWiki через веб-API.
- Hooks – кожного разу, коли відбувається певна подія, робіть щось.
- Parser functions – створити нову команду, як то:
{{#if:...|...|...}}
. - Skins – змінити зовнішній вигляд MediaWiki.
- Special pages – додати нову спеціальну сторінку.
- Посібник:Теги розширень – створіть новий тег, наприклад:
<newtag>...</newtag>
. - Extending wiki markup – додайте хук аналізатора для зміни вмісту вікітексту.
Довідка для розробників розширень
- Manual:Developing extensions – посібник із розробки розширень.
- Extensions FAQ
- Перегляньте Категорія:Розширення , щоб знайти наявні розширення.
- Extension:BoilerPlate - порожній шаблон розширення.
Допомога розробникам текстури
- Manual:How to make a MediaWiki skin – інструкції щодо створення текстури для MediaWiki.
- Manual:Skin configuration – посібник із налаштування текстур для вікі.
Довідка щодо повторного використання коду бібліотеки
- Manual:Developing libraries – посібник зі створення пакетів сторонніх бібліотек для використання з MediaWiki
Примітки
- ↑ Developers are a mix of volunteers and paid staff (or contractors) for various organizations. For a full list of who works on the MediaWiki code, read the Developers article.
- ↑ Browse the source code and revisions of code repositories in Gerrit or download the source code to your system by using Gerrit .