Ontwikkelaars hub

This page is a translated version of the page Developer hub and the translation is 100% complete.
  • Gebruikers
  • Systeembeheerders
  • Ontwikkelaars
  • Vertalers


Dit is een overzicht in grote lijnen van de MediaWiki ontwikkeling, inclusief links naar de belangrijkste beschikbare documenten, bronnen en hulpmiddelen voor de MediaWiki ontwikkelaars. Het is geschreven voor getrainde LAMP ontwikkelaars die ervaring hebben met het gebruik van MediaWiki.

Overzicht

MediaWiki is de software achter Wikipedia, de zusterprojecten en duizenden wiki's overal op de wereld.

MediaWiki is geschreven in de programmeertaal PHP.[1] Het gebruikt jQuery als de client JavaScript bibliotheek.

MediaWiki is voornamelijk geschreven voor het LAMP platform[2] en kan op de meeste besturingssystemen worden uitgevoerd. MediaWiki gebruikt voornamelijk de MySQL en MariaDB database servers.[3]

De ontwikkeling is in een open source stijl[4], het wordt grotendeels online gecoördineerd met ondersteuning van de Wikimedia Foundation, waarbij ook de vrijwilliger ontwikkelaars van de gemeenschap een grote rol spelen.

  • Discussies over de ontwikkeling gebeurt op verschillende mailinglijsten en IRC kanalen. De belangrijkste zijn wikitech-l (lijst) en #mediawiki verbinden (IRC).
  • De broncode wordt beheerd in het Git versie controle systeem.[5]
  • De Code review wordt voor de meeste projecten gedaan met Gerrit . Het instellen van Git en Gerrit is in deze Tutorial beschreven, dit om patches te kunnen verzenden.
  • Bug rapoorten en taken worden voor de meeste projecten beheerd in Phabricator .
  • Ontwikkelaars die de code van MediaWikicode uitbreiden of via een interface gebruiken en dus niet de core code aanpassen hebben meerder gemakkelijke aanknooppunten, zoals de API, het Hooks systeem en de Skins, een overzicht hiervan staat in deze sectie.

Belangrijke documenten

Code, ontwikkeling en stijl

Debuggen en testen

Architectuur

Subsystemen

  • API - externe API voor de directe toegang tot gegevens.
  • ContentHandler – Het framework van MediaWiki voor het ondersteunen van aangepaste types van pagina-inhoud.
  • Database toegang – een overzicht van het gebruiken van databases in MediaWiki, inclusief een korte handleiding over de database abstractie laag.
  • Job queue – MediaWiki's framework voor het asynchroon verwerken van langlopende taken.
  • Messages API – MediaWiki's framework voor het leveren van vertaalde applicatie berichten met PHP of JavaScript.

MediaWiki uitbreiden

MediaWiki is zo gemaakt dat het wijzigingen toelaat zonder de "kerncode" te wijzigen. Dit maakt het makkelijk om bij te werken naar een nieuwe versie van MediaWiki zonder handmatig te moeten samenvoegen met oude codewijzigingen. Er zijn een aantal belangrijke uitbreidingspunten die ontwikkelaars toelaten om functies toe te voegen aan MediaWiki of om bestaande functies te wijzigen. De uitbreidingspunten zijn:

  • API – toegang tot de gegevens en metadata van MediaWiki met de web API.
  • Hooks – Iets doen elke keer dat "X" gebeurt...
  • Parserfuncties – Een nieuw commando maken als: {{#if:...|...|...}}.
  • Skins/nl – De vormgeving en het uiterlijk van MediaWiki wijzigen.
  • Speciale pagina's – Een nieuwe speciale pagina toevoegen.
  • Tag extensions – Een nieuwe tag maken als: ‎<newtag>...‎</newtag>.
  • Extending wiki markup – Voegt een parser hook toe voor het wijzigen van de inhoud van wikitext.

Hulp voor schrijvers van uitbreidingen

Hulp voor skin ontwikkelaars

Hulp het het hergebruiken van code in de blibliotheek

Voetnoten

  1. Niet alles is geschreven in PHP. Enkele hulpmiddelen zijn geschreven in andere talen, inclusief batchbestanden, shell scripts, makefiles en Python.
  2. MediaWiki kan op de meeste platformen die PHP ondersteunen werken, het gebrek aan bepaalde utilities of functies in het besturingssysteem kan de functionaliteit of performance van MediaWiki op niet-LAMP platforms beperken.
  3. MediaWiki heeft ondersteuning voor andere DBMS dan MySQL en MariaDB, inclusief PostgreSQL en SQLite.
  4. De ontwikkelaars zijn vrijwilligers en betaalde staf (of ingehuurde krachten) van verschillende organisaties. In Developers/nl staat een lijst van mensen die aan de code werken.
  5. Bekijk de broncode en revisies van code repositories in Gerrit of download de broncode met gebruik van Gerrit .