Do not hack MediaWiki core/nl

Het hacken van de MediaWiki (het wijzigen van de broncode buiten de repository om) is meer een oplossing die voorgesteld wordt op andere MediaWiki ondersteuningsforums, het is geen mooie oplossing. In het algemeen zorgt het voor meer problemen dat er vooraf waren,het upgraden in de toekomst wordt een stuk moeilijker.

In dit document gebruiken we "kern (core)" voor alle bestanden die deel uitmaken van de originele MediaWiki installatie. De uitzonderingen zijn dan: LocalSettings.php, docker-compose.override.yml, alles in uw mappen  "extensions" en "skins" en alle mappen die uzelf heeft toegevoegd.



Waarom je geen broncode moet aanpassen
Ook al is het mogelijk en gemakkelijk om de broncode aan te passen zodat de MediaWiki werkt zoals u dat wil, weersta de verleiding.


 * U maakt het gecompliceerd, moeilijk of misschien wel onmogelijk om updates van de site te gebruiken voor bijvoorbeeld het verbeteren van de veiligheid en de code.
 * Het onderhoud van de site wordt dus lastiger.
 * u zou de site onbedoeld kunnen openzetten voor aanvallen.
 * Ook willen andere mensen uit de gemeenschap vermoedelijk minder snel helpen als u een eigen versie heeft gemaakt, zij weten dan niet welke aanpassingen u gedaan heeft.

MediaWiki is ontwerper om modulair te zijn, dat zou moeten betekenen dat er geen reden is om de core van het te wijzigen. Als er een functie is die u wilt hebben en het kan niet worden bereikt anders dan door de core te wijzigen, overweeg dan om een extensie te maken of door uw hack als een patch te zien. Maak een bug rapport aan en vertel de gemeenschap van de functie en wat u ermee wil bereiken. Mogelijk wordt het dan getest en wordt het zelfs wel een onderdeel van de MediaWiki core.



Opgetreden problemen bij wiki's die de broncode hebben aangepast

 * MediaWiki upgrade tijd gaat van 30 minuten naar 6 uur of zelfs 6 weken als uw  aangeeft dat er 13.650 regels zijn gewijzigd.
 * Toename van spam en andere aanvallen door de veiligheidslekken.
 * Ontbrekende nieuwe functies door problemen met de hacks in de broncode.
 * Het niet kunnen raadplegen van de documentatie op MediaWiki.org, die zijn allemaal gemaakt met de aanname dat iedereen een officiële versie gebruikt zonder eigen aanpassingen (tenzij u zelf documentatie maakt over hoe u eigen hack binnen MediaWiki moet worden gebruikt).
 * Repetition of the original problem — as a bug report is a far more reliable way to solve a problem than a core hack — if for no other reason than a group of developers will be looking into the problem and may discover necessary code changes you missed.
 * Complaining to developers about your core files not working — and not finding much sympathy — if you hack core files — effective technical support is all but impossible.

Uitzonderingen
Zijn er uitzonderingen op deze regel?

Nee.

Oke, maar die zijn zeldzaam. Dat is in het algemeen voor specifieke wiki's of implementaties door mensen die erg thuis zijn in de code van MediaWiki, ontwikkeling praktijken en beveiligingsmodel. Deze documenteren hun wijzigingen erg goed en hebben een prima revisie controle. Als u iets moet vragen voor een dergelijke wijziging, dan moet u het maar niet doen.

Extensies
Note that most of this page also applies to important extensions. It's a bad idea to directly start hacking the Semantic MediaWiki extensions, or any of the extensions used on Wikipedia and other Wikimedia sites.

An exception could be if an extension is mainly installed by copying its code from this wiki (instead of getting it from a software repository). It means it's not very seriously maintained.



Wat dan te doen
Rather than hacking MediaWiki core, there are several alternative solutions to consider, more or less in this order:


 * 1) MediaWiki is a powerful beast out of the box, you can do a lot with MediaWiki's interface messages such as   and many many others, see also other pages on this wiki for e.g. JavaScript and CSS additions and changes.
 * 1) Develop an extension to accomplish what your hack was intended to do, or simply use one of the existing hooks
 * 1) Submit a bug report
 * 1) Contribute your improvement to core to the code repository so others can benefit from your fix



Zie ook

 * Extension by patch warning — template to add to the pages of extensions that require modifications to MediaWiki core.