How to become a MediaWiki hacker/it

From MediaWiki.org
Jump to: navigation, search
Per altri modi per partecipare alla comunità di MediaWiki, vedi come contribuire.

Questa pagina intende aiutare gli sviluppatori nuovi ad apprendere quanto necessario per contribuire allo sviluppo di MediaWiki.

Se sei uno sviluppatore esperto, visita invece il developer hub.

Panoramica[edit | edit source]

MediaWiki è il software che fa girare Wikipedia, i suoi progetti fratelli e migliaia di wiki in tutto il mondo. Gira sulla maggior parte dei sistemi operativi, è scritto in PHP, usa primariamente il server di database MySQL e usa jQuery come libreria client di Javascript. Lo sviluppo di MediaWiki è sostenuto principalmente dalla Wikimedia Foundation, anche se la comunità degli sviluppatori volontari gioca un ruolo importantissimo.

Questa pagina dovrebbe aiutarti a muovere i tuoi primi passi nella partecipazione allo sviluppo del MediaWiki. Non è un tutorial; si limita ad indirizzarti a diversi luoghi in cui puoi apprendere ciò che ti occorre sapere.

Prerequisiti[edit | edit source]

Sviluppatori MediaWiki al lavoro a Bangalore, India.

PHP[edit | edit source]

MediaWiki è scritto in PHP, perciò devi avere un po' di familiarità con il PHP per entrare nel vivo di MediaWiki.

Studia il PHP
  • tutorial PHP — Disponibile in molte lingue. Se non conosci affatto il PHP, ma sai programmare in altri linguaggi object-oriented, apprendere il PHP non ti sarà difficile.
  • Programmazione in PHP su Wikibooks.
  • Argomento PHP su Wikiversity.
Risorse PHP
Cose da sapere
  • Lo script maintenance/eval.php in MediaWiki fornisce un interprete PHP di base con gli oggetti e le classi MediaWiki caricate.

Database[edit | edit source]

Molte funzioni richiedono un po' di manipolazione del database, spesso ti verrà comoda una certa familiarità con il MySQL.

Impara il MySQL
Risorse MySQL
Cose da sapere
  • Prova il tuo codice con MySQL.
    MediaWiki attualmente usa MySQL (e compatibili) come back-end primario del database. Supporta altri DBMS, come PostgreSQL e SQLite. Ad ogni modo, quasi tutti gli sviluppatori (developers, o dev) usano MySQL e non testano con altri DB, che conseguentemente ogni tanto si scassano con regolarità. Ti consigliamo dunque di usare MySQL quando testi delle patch, a meno che tu non stia specificamente lavorando a migliorare il supporto per un altro DB. In quest'ultimo caso, fai bene attenzione a non arrecare danni a MySQL (e a non scrivere query che sono terribilmente inefficienti su di esso), perché MySQL è ciò che tutti gli altri usano.

JavaScript e CSS[edit | edit source]

JavaScript e CSS sono diventati onnipresenti nel codice front-end. Non devi avere familiarità con JavaScript, jQuery e CSS per lavorare su MediaWiki, ma potresti averne bisogno, a seconda di ciò su cui tu scegli di lavorare.

Impara JavaScript e CSS
Risorse per JavaScript e CSS

MediaWiki[edit | edit source]

Il codice di MediaWiki è molto molto vasto e alcune sue porzioni sono proprio brutte; non farti scoraggiare. All'inizio, concentrati a scrivere funzioni o correggere bug che riguardano solo una piccola regione del sorgente.

I fondamentali di MediaWiki e le cose che vanno lette
Risorse per MediaWiki
  • Manual:Code — Una lista di file importanti e link verso informazioni più dettagliate.
  • Convenzioni di coding — Panoramica sulle convenzioni generali di coding nella comunità MediaWiki.
  • Intro-to-MediaWiki workshop syllabus — Come hackerare MediaWiki, dalle preferenze utente alle estensioni e al core.
  • Code documentation — Documentazione automaticamente generata dal codice e commenti sul codice.
  • Come fare debug — Una guida per il debugging di MediaWiki.
  • eval.php — Uno strumento per interagire con gli oggetti MediaWiki in diretta.

Imposta il tuo ambiente di sviluppo[edit | edit source]

Ci sono due modi per impostare il tuo ambiente di sviluppo: usando il setup per una macchina virtuale pre-configurata (vagrant), o manuale. La scelta della vagrant è molto più veloce e facile, ed è il metodo preferito.

Macchina virtuale con Vagrant[edit | edit source]

  • Installazione di Vagrant — Verrà installato un server MediaWikicon tutti i requisiti in una macchina virtuale Linux (fattibile su host Linux, Windows o Mac)

Installazione manuale[edit | edit source]

Non serve scaricarsi i dump dei database di Wikipedia per lavorare su MediaWiki. Spesso, anzi, è meglio usare un database quasi vuoto con un po' di pagine appositamente scritte per la sperimentazione. Se poi una copia di Wikipedia la vuoi lo stesso perché è sempre il miglior prodotto editoriale del mondo, puoi prelevarne un dump qui.

Iniziamo[edit | edit source]

Guarda come un dev risolve un bug, con l'investigazione, l'invio in git, l'ottenimento della revisione e l'inserimento, e la chiusura del ticket Bugzilla

Le due strade principali per iniziare a sviluppare MediaWiki sono correggere un piccolo bug noioso nel codice esistente, o aggiungere una nuova funzione, di solito con una estensione MediaWiki. Il più delle volte, quando lavori con MediaWiki, tu non vuoi andare a toccare il core di MediaWiki a meno che tu non sappia esattamente cosa stai facendo.

Fondamenti sulle estensioni MediaWiki
Risorse sulle estensioni di MediaWiki

Invia le tue modifiche[edit | edit source]

MediaWiki projects are hosted in Git repositories and code contributions are done through the Gerrit review tool. Check the short Getting started guide or the more explanatory Tutorial to learn how to work with Git for MediaWiki development.

We used to accept patches attached to Bugzilla reports but such practice is currently discouraged.[1]

Segui questi passaggi:

  1. Get developer access if you do not already have it.
  2. Make your change in a branch in Git.
  3. Check your code against the pre-commit checklist. Don't skip this step; you'll be happy you didn't.
  4. Commit your change and upload it to Gerrit.
    • Include the number of any bug report your change addresses in the commit message footer.
    • A link to your change will be automatically added to the bug report, which will be set to PATCH_TO_REVIEW status.
  5. Ask for your code to be reviewed, watch for email updates, and make requested changes.


Discuti e ottieni aiuto[edit | edit source]

MediaWiki ha una davvero amichevole, vasta e variegata comunità. Ci sono molti posto in cui chiedere aiuto. Se hai già un'idea sulle funzionalità che vuoi implementare, potrebbe essere una buona idea fare due chiacchiere con un dev anziano prima di cominciare, specialmente se non sei sicuro di come la tua funzione possa interagire con altre parti del codice.

  • IRC — Specificamente, il canale #mediawikiconnect. The MediaWiki developer community is distributed around the world, and there most likely is someone awake, no matter what your timezone is. Hop in and start talking.
  • Mailing Lists — Since you are looking to be a developer, wikitech-l is where you should be at. You can also browse through the archives to get a feel of how the community operates.

Vedi anche[edit | edit source]

Note[edit | edit source]

  1. Attaching patches to Bugzilla reports was necessary before MediaWiki switched from Subversion to Git. Such reports are generally marked with the patch and patch-need-review keywords.


Lingua: English  • dansk • Deutsch • Zazaki • français • Հայերեն • Bahasa Indonesia • italiano • 日本語 • 한국어 • occitan • polski • português do Brasil • српски / srpski • Türkçe • 中文