Cómo convertirse en un hacker MediaWiki

From MediaWiki.org
Jump to: navigation, search
This page is a translated version of the page How to become a MediaWiki hacker and the translation is 36% complete.

Outdated translations are marked like this.
Other languages:
العربية • ‎български • ‎dansk • ‎Deutsch • ‎Ελληνικά • ‎English • ‎español • ‎فارسی • ‎français • ‎magyar • ‎Bahasa Indonesia • ‎italiano • ‎日本語 • ‎한국어 • ‎Nederlands • ‎occitan • ‎ਪੰਜਾਬੀ • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎русский • ‎српски / srpski • ‎svenska • ‎ไทย • ‎Türkçe • ‎Tiếng Việt • ‎中文
Este artículo está escrito para ayudar a desarrolladores novatos para que aprendan las habilidades necesarias para contribuir a MediaWiki desarrollo.

Si eres un desarrollador experimentado, visita el $hub en cambio.

Resumen[edit]

MediaWiki is the software that powers Wikipedia, its sister projects and thousands of wikis all over the world. Ejecuta encima más sistemas operativos, está escrito en PHP, principalmente utiliza el MySQL y MariaDB servidores de base de datos y usos jQuery como la biblioteca de Javascript del cliente. Development of MediaWiki is primarily supported by the Wikimedia Foundation, though volunteer community developers play a huge part as well.

Esta página tendría que ayudarte para que empieces en el camino a convertirte en un colaborador en MediaWiki. No es un tutorial; justo te señalas a varios sitios donde te puede ir aprender cualquier cosa es necesaria.

Introducción[edit]

Ante todo, consigue Acceso para desarrolladoresDeveloper access y Gerrit preceptoral hecho para descargar nuestro código, lo prueba y el inicio que entrega remiendos.

Then you can move on to downloading our code, making changes, testing them, and submitting patches. Hay dos maneras para instalar vuestro entorno de desarrollo: utilizando un pre-máquina virtual configurada setup (vagrant), o manual.

Máquina virtual con Vagrant[edit]

  • Instalación de Vagrant - Esto da un paso que instalará el servidor de MediaWiki con todos los requisitos dentro de una máquina virtual con Linux (puede ser utilizado en Linux, Windows, o Hosts de Mac)

Instalación manual[edit]

No es necesario descargar vertederos de base de datos de Wikipedia para desarrollar las características de MediaWiki. De hecho, en muchos casos es más fácil de utilizar una cercana-base de datos vacía con unos cuantas páginas de pruebas especiales. Aun así, si para alguna razón quieres tener una copia de Wikipedia, puedes conseguir un vertedero.

Lectura sugerida[edit]

Recomendaciones generales[edit]

If you choose to work on a bug report that requires writing or changing code:

Watch as a developer fixes a bug, including investigation, git commit, getting it reviewed and merged, and closing the Bugzilla ticket (now replaced by PhabricatorPhabricator).


Comentarios, preguntas y asistencia[edit]

  • You are expected to do some basic research yourself first: Look at the code, try to get some understanding what it is supposed to do, read related documentation, try to find the probable place(s) where you need to make changes in order to fix the bug.
  • If you have general questions about infrastructure, the software architecture or workflows which are not tied to the specific bug that you want to work on, use generic channels like IRCIRC, mailing lists, or wiki discussion pages. For example, if you have a problem with Gerrit, the Gerrit discussion page could be a good place to ask.
  • If you have a specific question about the bug itself, comment in the corresponding bug report (normally a task in PhabricatorPhabricator). "What do I have to do to fix this bug?" is not a good question to start with: The more specific your questions are, the more likely somebody can answer them quickly. If you have no idea at all how to fix the bug, maybe that bug is not (yet) for you - please consider finding an easier one first.
  • When asking, elaborate what you have tried and found out already, so others can help at the right level. Try to be specific - for example, copy and paste your commands and their output (if not too long) instead of paraphrasing in your own words. Esto evita malentendidos.
  • Avoid private email or support requests in our social media channels.
  • Please be patient when seeking input and comments. On IRC, don't ask to ask, just ask: most questions can be answered by other community members too if you ask on an IRC channel. If nobody answers, please ask on the bug report or wiki page related to the problem; don't just drop the question.
  • Más información en ComunicaciónCommunication.
  • You can ask at the weekly Technical Advice IRC Meeting on #wikimedia-tech


Comunicar que trabajas en un bug[edit]

You do not need to ask if you can work on a bug. You do not need to be set as the assignee in a bug report or announce your plans before you start working on a bug, but it would be welcome. At the latest when you are close to creating a patch for the bug, it is good to announce in a comment that you are working on it. Your announcement also helps others to not work on the bug at the same time and duplicate work.

Also note that if a bug report already has a recent link to a patch in Gerrit and has the project "Patch-For-Review" associated, you should choose a different bug to work on instead - avoid duplicating work. If the patch in Gerrit has not been merged and has not seen any changes for a long time, you could also pick up that existing patch and try to improve it.

If you stop working on a task you should remove yourself as the assignee of a bug report and reset the assignee to the default assignee, so others know that they can work on the bug report and don't expect you to still work on it.

By communicating early you will get more attention, feedback and help from community members.


Extensiones de MediaWiki[edit]

If you choose to work on MediaWiki extensions code, the following links provide more information.

MediaWiki extensions primers
MediaWiki extensions resources


Sugerencias abiertas[edit]

Las siguientes secciones describen algunas áreas de ejemplo en las que contribuir, ¡pero no estás limitado a estas áreas!

En la esquina superior derecha de una tarea (informar un error) en Phabricator puedes ver el producto y componente en el que el problema está localizado. Esto te proporciona una pista sobre el repositorio Git en que el código está localizado, y sobre el equipo de desarrollo que puedes contactar si quieres discutir el tema de una manera más "amplia"(los comentarios en informes de error preferentemente tendrían que referir concretamente al problema descrito en el informe únicamente).

Documentación[edit]

Pywikibot[edit]

PyWikibot es una framework basado en Python para escribir bots para MediaWiki. Haga sus preguntas generales sobre desarrollo en wikitech mailing list|lista de correos wikitech y el canal de IRC #mediawiki-parsoid.

Multimedia[edit]

Haga sus preguntas sobre el desarrollo de VisualEditor en la wikitech mailing list|lista de correos wikitech y el canal de IRC #mediawiki-visualeditor.

Aplicaciones móviles[edit]

Hay numerosas aplicaciones para dispositivos móviles (Android, iOS, Teléfono de Windows, …) para acceder a las wikis de Wikimedia. Lea la información general de desarrollo y pregúntenos por la lista de correo Móvil y el #wikimedia-mobile canal de IRC (en inglés).

Lectura[edit]

El equipo de lectura construye el software que sirve nuestros lectores. También dirigmos la experiencia móvil de la web. Lea la información general de desarrollo and pregúntenos por la lista de correo Móvil y el #wikimedia-mobile canal de IRC (en inglés).

Wikidata[edit]

Wikidata es una base de conocimiento centralizada para datos estructurados, como referencias de interwiki e información estadística. Haga sus preguntas sobre el desarrollo en géneral en la lista de correo de Wikidata (inglés), el canal de el canal de IRC #wikidata (inglés) y aquí en el wiki.

Huggle[edit]

Huggle es una aplicación de escritorio para manejar y borrar vandalismo en los proyectos de Wikimedia, y está escrita en C++.

Pruebas del navegador y garantía de calidad[edit]

Pruebas de navegador automatizadas ayudan a los ingenieros de Wikimedia para que produzcan más rápido software de calidad y orientado al usario. Veáse la página de Pruebas del navegador para que sepan más sobre los tecnológias los que usamos y participen con nosotros. Para más información en géneral, veáse Garantía de calidad.

Ingeniería de Idioma (Adaptación local/Traducción/Internacionalización)[edit]

Haga sus preguntas sobre el desarrollo de Ingeniería de idiomas en la lista de correos mediawiki-i18n y el canal de IRC #mediawiki-i18n.

VisualEditor y Parsoid[edit]

VisualEditor is el editor de WYSIWYG para MediaWiki. Haga sus preguntas sobre el desarrollo de VisualEditor en la wikitech mailing list|lista de correos wikitech y el canal de IRC #mediawiki-visualeditor.

VisualEditor usa Parsoid, un parser de wikitext y un runtime. Haga sus preguntas sobre el desarrollo de Parsoid en la wikitech mailing list|lista de correos wikitech y el canal de IRC #mediawiki-parsoid.

Discovery / Search[edit]

El equipo de Discovery construye el camino de descubrimiento anónimo para que se pueda obtener un fuente de conocimiento que sea confiable y relevante. Haga sus preguntas sobre el desarrollo de Discovery en la lista de correos Discovery y el canal de IRC #wikimedia-discovery.

Analíticas[edit]

El equipo de Analytics anima y apoya el proceso de toma de decisiónes que es informado por datos. Haga sus preguntas sobre el desarrollo en géneral en la lista de correos de Analytics.

Diseño[edit]

Arreglando diseño de errores o las peticiones requiere habilidades de gráfico existentes que trabajen con una aplicación de gráfico de Vector, por ejemplo (p. ej. Inkscape). Un conocimiento básico Hoja de estilos en cascada (CSS) también puede ser útil para participar en el equipo. Haga sus preguntas sobre el desarrollo de Discovery en la lista de correos Discovery y el canal de IRC #wikimedia-discovery.

Apariencias[edit]

  • Apariencias: para cambiar la apariencia y la sensación de MediaWiki.

Un conocimiento básico Hoja de estilos en cascada (CSS) también puede ser útil para participar en el equipo. Chequee la página de proyecto en Phabricator para más información en cada skin y la información de contacto.

Mensajes de sistema y localización/problemas de traducción[edit]

Mensajes de sistema en MediaWiki o sus extensiones a menudo necesitan pequeñas correcciones en el texto inglés, pero el texto fuente sólo puede ser cambiado en el código por desarrolladores, contrariamente a traducciones. Esto ha crecido a un grande backlog de normalmente muy fácil arreglo (el cual podría ser tan fácil como arreglar un error de tipografía).

También, muchos mensajes son poco claros y requieren mejor documentación (ve Localisation#documentación de Mensaje). La documentación desaparecida también puede ser añadida por solo editando el /qqq subpage del mensaje encima translatewiki.net, como todas las traducciones, pero puede requerir algún estudio del código para entender para qué es un mensaje: por lo tanto, es óptimo empezar entendiendo el código, y muy útil para los traductores (quiénes no tienen tales habilidades).

Colaboración[edit]

El equipo de Colaboración principalmente trabaja en Eco y Flow.

Pregunta cuestiones relacionadas con de Colaboración proyectos de equipo en el #wikimedia-colaboración IRC canal.

MediaWiki[edit]

MediaWiki es el núcleo del software que proporciona a la wiki funcionalidad básica. Es complejo, escrito en PHP, y algunas áreas no podrían tener mantenimiento claro. Haga sus preguntas sobre el desarrollo de VisualEditor en la wikitech mailing list|lista de correos wikitech y el canal de IRC #mediawiki-visualeditor.

Phlogiston[edit]

Phabricator es utilizado por Wikimedia para administración de proyectos, informar errores de software y peticiones de características. Phlogiston es un conjunto de SQL, Pitón, y R scripts para informar en Phabricator, particularmente burnup informes y pronósticos.

Semantic MediaWiki[edit]

Semantic MediaWiki is one of the biggest and most popular MediaWiki extensions.

Maps[edit]

Maps is a popular MediaWiki extension that allows for, amongst other things, embedding of dynamic maps into wiki pages

Y muchos más…[edit]

¿Todavía no tienes suficientes ideas? Hay más campos que puedes explorar - MediaWiki tiene cientos de extensiones y herramientas! Comprobar la lista completa de los bichos recomendados para colaboradores nuevos:

Si tienes cualquier problema o preguntas, pedí ayuda vía IRC o sentite libre de contactar Andre Klapper o Quim Gil.

Apéndice[edit]

Colaboradores de MediaWiki trabajando en Bangalore, India.

PHP[edit]

MediaWiki is written in PHP, so you'll need to get familiar with PHP to hack MediaWiki's core.

Aprende PHP
  • Tutorial de PHP — Disponible en muchos idiomas diferentes. If you have no knowledge of PHP but know how to program in other object-oriented programming languages, PHP will be easy for you to learn.
  • PHP Programming at Wikibooks.
  • PHP topic at Wikiversity.
Recursos de PHP
Stuff to know
  • The script maintenance/eval.php in MediaWiki provides a basic PHP interpreter with MediaWiki objects and classes loaded.

Base de datos[edit]

Many features require some amount of database manipulation, so you'll often need to be familiar with MySQL/MariaDB.

Aprende MySQL/MariaDB
Recursos de MySQL/MariaDB
Stuff to know
  • Test your code with MySQL/MariaDB.
    • MediaWiki currently uses MySQL and MariaDB as the primary database back-end. It also supports other DBMSes, such as PostgreSQL and SQLite. However, almost all developers use MySQL/MariaDB and don't test other DBs, which consequently break on a regular basis. You're therefore advised to use MySQL/MariaDB when testing patches, unless you're specifically trying to improve support for another DB. In the latter case, make sure you're careful not to break MySQL/MariaDB (or write queries that are horribly inefficient in it), since MySQL/MariaDB is what everybody else uses.

JavaScript y CSS[edit]

JavaScript and CSS have become omnipresent in front-end code. You don't have to be familiar with JavaScript, jQuery and CSS to work on MediaWiki, but you might need to, depending on what you choose to work on.

Aprende JavaScript y CSS
JavaScript and CSS resources

MediaWiki[edit]

The MediaWiki code base is large and some parts are ugly; don't be overwhelmed by it. When you're first starting off, aim to write features or fix bugs which are constrained to a small region of code.

MediaWiki primers and must-reads
MediaWiki resources

Véase también[edit]