Udvikler hub
Dette er højniveau-overblik over udviklingen af MediaWiki, herunder links til de vigtigste dokumenter, ressourcer og værktøjer til rådighed til MediaWiki-udviklere. Det er skrevet for dygtige LAMP-udviklere, som har erfaring med brug af MediaWiki.
- If you want to use Wikimedia web APIs, visit the Developer Portal.
- If you want to contribute to developing Wikimedia software, see New Developers .
- For en indledende guide til udvikling af MediaWiki, læs How to become a MediaWiki hacker .
- If you want to collaborate with other third-party MediaWiki users, the MediaWiki Stakeholders' Group (MWStake) is a MediaWiki user group consisting of MediaWiki developers, system administrators, users, consultants, and hosting providers.
Oversigt
MediaWiki is the software that powers Wikipedia, its sister projects and thousands of wikis all over the world.
MediaWiki is written in the PHP programming language.[1] It uses jQuery as the client JavaScript library.
MediaWiki is primarily written for the LAMP platform[2] and runs on most operating systems. MediaWiki primarily uses the MySQL and MariaDB database servers.[3]
MediaWiki er udviklet i open source stil [4] ved brug af PHP programmeringssprog [5] primært til LAMP-platform. [6][7]
- Udviklingsdiskussion sker på forskellige mailinglister og IRC-kanaler. Den vigtigste mail-liste er wikitech-l og vigtigste IRC-kanal er #mediawiki connect og $3.
- Kildekode styres ved hjælp af Git-version kontrolsystemet.[8]
- Kodevurdering for de fleste projekter udføres på Gerrit . Følg denne vejledning for at konfigurere Git og Gerrit for at indsende patches.
- Bug reports and tasks for most projects are managed on Phabricator .
- Udviklere, der udbygger eller udvider MediaWiki (i stedet for at arbejde med kernekoden) har flere gode udbygnings-muligheder, herunder API, Hooks-systemet og Skins – se afsnittet #Udbygning af MediaWiki for en oversigt.
Nøgle-dokumenter
Kode, udvikling og udseende
- Development policy – oversigt over de vigtigste udviklingspolitikker.
- Coding conventions – lær hvordan kode skrives i MediaWiki-stilen.
- Security for developers – lær at hjælpe med at holde MediaWiki sikker.
- Manual:Pre-commit checklist – læs tjeklisten før kode-skrivning.
- Code review guide – engelsk-sproget guide til korrekturlæsning af kildekode.
- Technical Decision Making Process – read about the process to decide on making larger technical changes.
Fejlsøgning og afprøvning
- How to debug – guide til fejlretning af MediaWiki.
- Manual:Errors and symptoms – oversigt over almindelige fejl og relaterede symptomer.
- Browser testing – lær at skrive UI tests ved brug af Selenium.
- Unit testing – lær at skrive enheds-tests ved brug af PHPUnit.
- API integration tests – learn to write API integration tests for MediaWiki using Mocha.
- Security for developers – learn how to write secure code.
Opbygning
- MediaWiki architecture – an introduction to MediaWiki's architecture.
- Manual:Code – oversigt over de centrale dele af kildekoden.
- Manual:Database layout – oversigt over databaseskemaer.
- Manual:Global object variables – liste over de vigtigste globale variabler.
- Lokalisering (sprog) – lær om systemet af sprog-versioner.
- Manual navnerum på denne wiki - dokumentation for udviklere.
- MediaWiki Class Reference – teknisk dokumentation genereret af kildekoden (siden hentes langsomt).
Under-systemer
- API – API giver direkte højniveau adgang til data indeholdt i MediaWiki databaser.
- ContentHandler – System til understøttelse af brugerdefineret visning af side-indhold.
- Database access – oversigt over brug af database i MediaWiki, herunder en guide til databasens abstraktionslag.
- Job queue – MediaWiki's framework for processing long-running tasks asynchronously.
- Messages API – system til håndtering af meddelelser med PHP eller JavaScript.
Udbygning af MediaWiki
MediaWiki er designet til at muliggøre ændringer uden at skifte 'kerne-kode'. Dette gør det nemt at opdatere til en ny version af MediaWiki uden manuelt at indsætte i gamle kodeændringer. Der er seks hoved udvidelses-punkter, der giver udviklere mulighed for at ændre eller udvide hvad MediaWiki kan gøre. Udvidelsespunkterne er:
- API – adgang til data og metadata fra MediaWiki forekomster via en kraftfuld web API.
- Hooks – hver forekomst af en given hændelse, som gør noget.
- Parser functions/da – opret en ny kommando som:
{{#if:...|...|...}}
. - Skins – ændre udseendet og oplevelsen af MediaWiki.
- Special pages – tilføj en ny special-side.
- Tag extensions – opret en opmærkningskode, såsom:
<newtag>...</newtag>
. - Extending wiki markup – add a parser hook to modify the content of wikitext.
Hjælp til udviklere af udvidelser (extensions)
- Brugervejledning:Udvikling af udvidelser – guide til udvikling af udvidelser (extensions).
- Extensions FAQ
- Se Kategori:Udvidelser for en liste over udvidelser.
- Extension:BoilerPlate - en tom udvidelsesskabelon.
Hjælp til udviklere af udseende (skin)
- Manual:How to make a MediaWiki skin – instructions on how to create a skin for MediaWiki.
- Manual:Skin configuration – a guide to configuring skins for a wiki.
Help for library code reuse
- Manual:Developing libraries – a guide to packaging third-party libraries for use with MediaWiki
Noter
- ↑ 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 and MariaDB, including PostgreSQL and SQLite.
- ↑ Udviklere er en blanding af frivillige og betalte medarbejdere ansat (eller hyret) af Wikimedia-stiftelsen. For en komplet liste over hvem, som arbejder på MediaWiki-koden, kan du læse Developers/da-artiklen.
- ↑ Ikke alt i MediaWiki er skrevet i PHP. Nogle støtteværktøjer er skrevet på andre programmeringssprog, herunder batch filer, shell scripts, make-filer og Python.
- ↑ MediaWiki kører på de fleste platforme som understøtter PHP, men manglen af visse værktøjer eller operationsystems funktioner må begrænse brugervenligeden eller ydelsen af MediaWiki på ikke-LAMP platforme.
- ↑ MediaWiki har understøttelse af database-styresystemer såsom MySQL, foruden Oracle, PostgreSQL og SQLite.
- ↑ Browse the source code and revisions of code repositories in Gerrit or download the source code to your system by using Gerrit .