No hackear núcleo MediaWiki

From mediawiki.org
This page is a translated version of the page Do not hack MediaWiki core and the translation is 79% complete.

Mientras que "piratería MediaWiki core" es a menudo una solución propuesta en otros foros de soporte de MediaWiki, que es "no" una solución ideal. En general, causará más problemas de los que resuelve y sólo hará que las futuras actualizaciones más difíciles de instalar.

For the purposes of this essay, "core" is meant to include all files that belong to the original MediaWiki installation. That is to say all files except LocalSettings.php, docker-compose.override.yml, the ones in your "extensions" or "skins" folder, or other folders which you have added since your installation.

Por qué usted no debe modificar los archivos centrales

No importa lo fácil que es modificar los archivos principales para hacer MediaWiki haga lo que usted quiere que haga, resistir la tentación.

  • Si lo hace, hará que sea más complicado, difícil o casi imposible de aplicar actualizaciones de la web tales como correcciones de errores y de seguridad.
  • Va a hacer que sea difícil para los que vengan después de mantener el sitio.
  • Usted podría dejar su sitio vulnerable a exploits.
  • Otros desarrolladores están menos inclinados a ayudar a usted si ha hackeado su núcleo - si no por otra razón que es difícil para ellos saber qué se ha hecho.

The MediaWiki core has been designed to be modular, so there should be no reason to hack it. If there is a feature you want and it cannot be accomplished outside of modifying core, consider developing an extension or submitting your hack as a patch. Submit a bug report and tell the community the feature you want to accomplish. It will then be tested and your feature may become a part of the MediaWiki core.

Los problemas que enfrentan los wikis que piratear su núcleo

MediaWiki actualicen veces van de 30 minutos a 6 horas o incluso 6 semanas si su diff muestra 13650 líneas han cambiado.

  • Aumento de spam y otros ataques no deseados debido a los agujeros de seguridad
  • Perderse de nuevas características, debido a cortes en conflicto a los archivos centrales
  • Incapacidad para utilizar documentación MediaWiki.org - todos los cuales se ha escrito bajo el supuesto de que usted tiene "no" hackeado sus archivos principales (a menos que por supuesto usted escribe documentación específica para la forma de operar MediaWiki cuando ese truco en particular es que se utiliza)
  • La repetición del problema original - como un informe de error es una de manera más fiable para resolver un problema de un hack núcleo - si no por otra razón que un grupo de desarrolladores se estudia el problema y puede descubrir código necesario cambia te perdiste
  • Quejarse a los desarrolladores acerca de su núcleo archivos no funciona - y no encontrar mucha simpatía - si hackear archivos principales - un apoyo técnico eficaz es casi imposible

Excepciones

¿Hay excepciones a esta regla?

No.

Okay, very very rarely. But this is generally for specific wikis or implementations by people who are extremely familiar with the MediaWiki code base, development practices and security model. Those who properly document their changes and practice proper revision control with their code. If you have to ask, chances are you shouldn't.

Extensiones

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.

Qué hacer en su lugar

En lugar de la piratería núcleo MediaWiki, hay varias soluciones alternativas a considerar, más o menos en este orden:

  1. MediaWiki is a powerful beast out of the box, you can do a lot with MediaWiki's interface messages such as MediaWiki:Sidebar and many many others, see also other pages on this wiki for e.g. JavaScript and CSS additions and changes.
  1. Desarrollar una extensión para lograr lo que su corte tenía la intención de hacer
  2. Reporta un fallo
  3. Contribuir a la mejora de su núcleo al repositorio de código para que otros puedan beneficiarse de su revisión

Véase también