La guida definitiva per dare il via al tuo viaggio di contributo Drupal

Pubblicato: 2022-08-23

introduzione

Essendo un sistema di gestione dei contenuti open source, Drupal incoraggia i contributi della comunità di sviluppatori e utenti in tutto il mondo in varie forme. Potrebbe essere sotto forma di codice che include patch per progetti di base e contributi, in modi non codificati tra cui marketing, documentazione, organizzazione di eventi o supportando finanziariamente il progetto. Questo articolo ti guiderà attraverso tutto ciò che devi sapere per iniziare il tuo viaggio con il contributo del codice Drupal da zero.

Perché contribuire a Drupal

Naturalmente, restituire un progetto che sostiene il modo in cui lavori e probabilmente vivi ogni giorno potrebbe essere un motivo abbastanza forte per te per contribuire volontariamente e migliorare il progetto open source. Ma se stai cercando un po' più di incentivo per contribuire, ecco alcuni dei vantaggi che abbiamo visto:

  • I tuoi contributi aiutano Drupal a rimanere rilevante e aggiornato con i progressi che si verificano in tutte le sue dipendenze nel tempo
  • Puoi acquisire maggiori conoscenze su Drupal che a sua volta ti consentirà di creare applicazioni migliori per i tuoi clienti
  • Dà un vantaggio competitivo alle organizzazioni che sponsorizzano il tempo per il contributo poiché i loro sviluppatori stanno acquisendo più abilità e conoscenze e presentandosi come esperti
  • Collabora e incontra persone che condividono i tuoi stessi interessi

Come contribuire

Per cominciare, crea un account su drupal.org per te stesso e aggiorna il tuo profilo con i dettagli richiesti.

Creazione account

Creazione account su Drupal.org

Cerca un problema

Una volta creato l'account, il passaggio successivo sarebbe trovare il problema giusto. Potrebbe variare in base al tuo interesse:

1. Potresti trovare un problema dalla coda dei problemi - https://www.drupal.org/project/issues. Per ricerche più specifiche, puoi fare clic su "Ricerca avanzata" e utilizzare i filtri.

  • Tag dei problemi: i problemi sono allegati a tag diversi. Il tag "novizio" indica che il problema necessita di una soluzione semplice e qualsiasi principiante può sceglierlo, il tag "Richiede documentazione" indica che questo problema richiede alcune modifiche alla documentazione e così via.
  • Stato del problema: una volta creato, il problema passa attraverso diversi stati. In base allo stato attuale del problema, puoi decidere i passaggi successivi necessari per andare avanti.
  • Priorità del problema: definisce la priorità del problema, indipendentemente dal fatto che si tratti di un bug critico o di una correzione minore.
  • Categoria problema: indica la categoria del problema, se si tratta di un bug, di un'attività o di una nuova richiesta di funzionalità per il progetto.
  • Progetto specifico - Qui puoi specificare direttamente il progetto che ti interessa.
Filtro problema

Filtri dei problemi

2. Oppure parti dal progetto su cui sei sempre stato interessato a lavorare, visitando la pagina module/theme/profile - https://www.drupal.org/project/<project_name> . Nella barra laterale destra, cerca il link "Tutti i problemi" - https://www.drupal.org/project/issues/<project_name>?categories=All

3. Oppure lavora su un bug che ti sei imbattuto nel core o su qualsiasi modulo/tema/profilo contribuito mentre lavori su un progetto. È anche il modo giusto per contribuire. Si dovrebbe sempre esercitarsi a mantenere attiva la propria "modalità collaboratore" anche mentre si lavora su progetti, questo dà l'opportunità di esplorare e contribuire a risolvere problemi nascosti!

Ciclo di vita di un problema di Drupal

Una volta che un problema viene creato, passa attraverso diversi stati. Di seguito sono riportati i diversi stati dei problemi che incontrerai:

  1. Attivo : quando viene creato un nuovo problema, è in uno stato Attivo.
  2. Necessità di revisione : quando è necessario lavorare sul problema, si trova in uno stato Necessità di lavoro.
  3. Necessita di lavoro : una volta selezionato il problema, le patch vengono inviate correttamente e tutti i test case hanno superato, lo stato del problema deve essere modificato in Necessità di revisione.
  4. Rivisto e testato dalla community - Una volta che il problema è stato esaminato da qualsiasi collaboratore, il problema viene spostato nello stato "Rivisto e testato dalla comunità" (RTBC) in cui uno dei membri del team principale della community esamina il problema.
  5. Risolto - Quando un problema passa dallo stato RTBC, viene spostato allo stato Risolto.
  6. Chiuso (fisso) - Dopo lo stato Fisso, il problema passa automaticamente a Chiuso (fisso) entro due settimane. Questo è l'ultimo stato di un problema.
  7. Chiuso (duplicato) : quando viene creato un problema che è un duplicato di uno precedente, viene chiuso direttamente come chiuso (duplicato).
  8. Chiuso (non risolverà) : questo stato indica che un problema non ha soluzione.
  9. Chiuso (funziona come progettato) - Questo stato indica che un problema sollevato sta fornendo la funzionalità che avrebbe dovuto e quindi è stato spostato su "funziona come progettato". In altre parole, il problema sollevato non è un bug ma una funzionalità.
  10. Chiuso (impossibile riprodurre) - Quando un problema non è riproducibile viene spostato in questo stato.
  11. Chiuso (obsoleto) - Quando un problema è troppo vecchio per essere risolto o viene risolto all'interno del problema di qualche altro modulo, lo stato può essere Chiuso (obsoleto) per quel problema.
  12. Patch (da trasferire) - Quando una Patch deve essere trasferita per altre versioni del modulo Drupal/Contributed.
  13. Rinviato : quando il problema/la funzionalità/il bug viene posticipato dall'autore/dalla comunità e non necessita di una correzione.
  14. Rinviato (il manutentore ha bisogno di maggiori informazioni) - Quando viene sollevato un problema ma secondo il manutentore del modulo Contributo, sono necessarie maggiori informazioni sul problema per risolverlo.

Crea un problema

Per creare un problema per il modulo. Vai alla coda dei problemi del modulo https://www.drupal.org/project/issues/<nome_progetto>?categories=All e fai clic su Crea un nuovo numero .

Presentazione del problema

Il passaggio successivo consiste nel fornire i dettagli del problema che deve essere creato.

Sincronizza

1. Titolo: aggiungi il titolo del problema.
2. Progetto: il nome del progetto verrà selezionato automaticamente.
3. Categoria: seleziona la categoria del progetto. Ci sono 5 categorie

  1. Bug: un bug è un errore funzionale nel sistema. Ad esempio, errore php, perdita di dati, perdita di memoria, documentazione errata o fuorviante, testo dell'interfaccia utente errato o fuorviante, ecc.
  2. Compito: questi non sono un bug funzionale ma "deve essere fatto" prima del rilascio. Ad esempio, refactoring del codice per renderlo più leggibile e manutenibile, aggiunta di test automatici, aggiornamento del codice a nuove API, miglioramento degli standard di codifica ecc.
  3. Richiesta di funzionalità: questa è una richiesta per l'aggiunta di funzionalità completamente nuove al modulo.
  4. Richiesta di supporto: se abbiamo bisogno di aiuto su qualsiasi parte del modulo o desideriamo conoscere le funzionalità di drupal core. Possiamo taggare le richieste di supporto e aggiungere la domanda.
  5. Piano: questo tag viene utilizzato quando si verifica un problema che non può essere risolto utilizzando un problema. I problemi del piano avranno spesso più passaggi secondari relativi ai problemi "figli".

4. Priorità: selezionare la priorità del problema. Qui abbiamo Critico, Maggiore, Normale e Minore. Scegli normale a meno che non sia davvero grave. Oppure puoi selezionarlo come di consueto e lasciare che il responsabile della manutenzione o il revisore lo modifichino come richiesto.

5. Stato: selezionare Attivo per i nuovi problemi.
6. Versione: selezionare la versione del progetto in cui il problema deve essere risolto.
7. Componente: seleziona la corrispondenza più vicina al problema. Questi possono essere modificati in seguito. I componenti qui sono basati sul modulo. Le opzioni differiscono da modulo a modulo.
8. Assegnato: il problema può essere assegnato a chiunque. Non è obbligatorio e può essere assegnato in seguito.
9. Tag: contrassegna il problema con i tag appropriati. Questo può essere lasciato vuoto se non siamo a conoscenza dei tag di problema. Questo non è obbligatorio e può essere taggato in seguito.
10. Riepilogo problema e relazioni: espandere il campo e fare in modo che l'editor aggiunga i dettagli del problema. Ci sono alcuni titoli predefiniti nell'editor e possiamo sostituirli se non li vogliamo nei dettagli del problema.

  1. Problema principale: per contrassegnare il problema principale.
  2. Problema correlato: per contrassegnare il problema correlato.

11. File: possiamo aggiungere i file relativi ai problemi o caricare la patch sul problema durante la creazione di file sotto. E salva il problema.

Dopo aver salvato il problema. Il numero creato verrà aggiunto alla coda dei problemi del rispettivo modulo.

Per creare un problema per il core drupal https://www.drupal.org/node/add/project-issue/drupal è il link. E i passaggi saranno gli stessi della creazione del problema nel modulo. Ma ci sono alcune linee guida per creare un problema centrale che verrà visualizzato sul collegamento sopra.

Image removed.

Queste sono le linee guida da seguire durante la creazione del problema centrale.

Crea una toppa

Ci sono 2 casi qui

  1. Crea una nuova patch
  2. Aggiorna la patch esistente.

Per creare una nuova patch

  • Vai alla scheda di controllo della versione del modulo. https://www.drupal.org/project/ <nome_progetto>/git-instructions è il link alla pagina.
  • Seleziona la filiale su cui lavorare e clicca sul pulsante Mostra.
Sincronizzazione immagini

Facendo clic sul pulsante mostra otterrai il comando git, copierà ed eseguirà il comando nel tuo terminale e cambierà la directory nel modulo clonato.

  • Esegui le modifiche per risolvere il problema.
  • Il comando per creare la patch è:
git diff > <issue-description (optional)>-<issue-number>-<comment-number>.patch
Rimuovi il nucleo

  1. La descrizione del problema sarà il titolo del problema, dove tutte le lettere devono essere minuscole e lo spazio deve essere riempito con trattini bassi. Questo è facoltativo.
  2. Il numero del problema sarà nell'URL del problema. Questo sarà unico per i problemi che sarà obbligatorio nella denominazione del file di patch.
  3. Il numero del commento è l'ultimo ID commento in cui verrà caricata la patch.
Commenti

Considera che devi aggiungere un nuovo file alla patch. Il nuovo file non verrà tracciato e il comando git diff non traccerà il file.

Per aggiungere un nuovo file alla patch

  1. Aggiungi il nuovo file usando il comando git add
  2. Correre
 git diff HEAD > <issue-description (optional)>-<issue-number>-<comment-number>.patch

Per aggiornare una patch esistente

1. Clona il progetto a cui devi aggiungere la patch.
2. Vai alla pagina del problema, fai clic con il pulsante destro del mouse sul collegamento della patch e fai clic sul collegamento Copia indirizzo.
3. Scarica la patch sul tuo locale usando il comando curl o wget.

Per scaricare la patch usando il comando curl:

 curl -O <paste the address link of the patch>


4. Per applicare la patch, eseguire il comando:

 git apply <patch name>


5. Dopo aver applicato la patch, riceverai le modifiche della patch nel tuo locale. Aggiungi le ulteriori modifiche richieste alla patch e crea una nuova patch.

Quando stiamo aggiornando la patch esistente, dobbiamo creare un file interdiff. Il file Interdiff non è altro che una differenza tra la vecchia patch e la nuova patch. Ciò aiuterà il revisore a conoscere le modifiche apportate nella nuova patch.

Quello che segue è il comando per creare un interdiff:

 interdiff <old-patch> <new patch> > interdiff_<old-patch-comment-number>-<new-patch-comment-number>.txt

Considera di avere una vecchia patch di download 3302030-2.patch e una nuova patch aggiornata che hai creato 3302030-3.patch. Per creare l'interdiff tra questi due file, il comando sarebbe:

 interdiff 3302030-2.patch 3302030-3.patch > interdiff_2-3.txt

Invia una patch

Dopo aver creato una patch, dobbiamo inviare la patch.

Per inviare la patch vai alla pagina del problema.

1. Emettere metadati

Metadati

Nei metadati del problema, modifica lo stato in verifica delle esigenze. Annulla l'assegnazione del problema se il problema è stato assegnato a te e aggiungi o rimuovi i tag secondo necessità.

2. Attribuire questo contributo

Attributo

Controlla le opzioni pertinenti e aggiungi l'organizzazione se lavori per qualsiasi organizzazione. Aggiungendo questo, i crediti verranno assegnati all'organizzazione insieme a te quando il problema verrà risolto.

3. Aggiungi una descrizione delle modifiche apportate nella patch nella sezione commenti.
4. Scegli il file della patch, il file interdiff e caricalo in file.

File

Qui abbiamo aggiunto i file uno per uno e abbiamo premuto il caricamento dopo aver scelto il file. Facendo clic su Carica il file verrà caricato e aggiunto all'elenco sottostante.

NOTA: Interdiff non è richiesto durante l'aggiunta di una nuova patch.

5. Dopo aver caricato il file, fare clic sul pulsante Salva. Questo aggiornerà la pagina del problema e potremo vedere la patch caricata con un nuovo numero di commento.

Le patch per i problemi principali devono essere inviate utilizzando la stessa procedura.

Esamina una patch

Ora sai come cercare un problema, creare una patch e caricarla. Qual è il prossimo? Come possiamo assicurarci che la patch giusta venga impegnata il prima possibile? La revisione di una patch è un passaggio altrettanto importante per portare avanti il ​​problema. Se ritieni che scrivere righe di codice non faccia per te, perché non provare a rivedere le patch esistenti?

Prima di iniziare, consigliamo vivamente di aggiungere l'estensione Dreditor al tuo browser.

Dreditore

Estensione Dreditor

Fornisce un pulsante 'Revisiona' per i file patch/interdiff. Al clic, visualizza le modifiche in un formato di facile lettura.

Revisione

Pulsante 'Revisiona' da Dreditor

Toppa

Modifiche ai file di patch senza Dreditor

Modifiche al file di patch

Ora siamo tutti pronti per trovare un problema da rivedere!

  • Filtra i problemi con lo stato "Richiede revisione".
  • Fai la tua scelta dalla lista.
  • Leggi i commenti e scegli l'ultima patch caricata nel numero.
  • Assicurati che la patch abbia superato i test case e sia diventata verde.
Superato il patch test

Patch che ha superato i test

  • Scarica il file della patch e applica la patch sul tuo locale nel tuo core/module/theme/profile eseguendo:
 git apply <patch-file-downloaded> -v
  • Verifica se funziona secondo le aspettative/ha bisogno di un po' di lavoro.
  • Modifica lo stato del problema e aggiungi commenti con immagini/video a supporto dei tuoi punti. Il tuo commento dovrebbe contenere dettagli come, se la patch è stata applicata all'ultima versione, quali passaggi sono stati seguiti per riprodurre il problema, comportamento del problema prima e dopo l'applicazione della patch, ecc.
  • Se tutto sembra a posto, cambia lo stato in "RTBC".
  • Se c'è spazio per alcuni lavori/modifiche extra, aggiorna lo stato su "Richiede lavoro".

Altri modi per contribuire

Oltre ai contributi del codice, il progetto Drupal ha molte aree a cui puoi contribuire, incluso il miglioramento della sua qualità e portata. Puoi scegliere il tuo metodo di contributo a questa comunità in base ai tuoi interessi. Alcune delle aree di contributo:

  • Con il tutoraggio - Se hai una certa esperienza nel contribuire, puoi aiutare gli altri a iniziare diventando un mentore, online o di persona.
  • Alla documentazione - Tutta la documentazione per il progetto Drupal è fornita gratuitamente da persone in tutto il mondo, proprio come te.
  • Condivisione della conoscenza - Un modo importante per contribuire al progetto Drupal è condividere le tue conoscenze su Drupal scrivendo post sul blog, facendo una presentazione al meetup del tuo gruppo Drupal locale, un DrupalCamp o un DrupalCon, diventando un formatore, ecc.
  • Pianificazione di eventi - Organizzando o facendo volontariato in eventi Drupal virtuali o di persona come meetup, sprint ecc.
  • In base al marketing: puoi collaborare con altri team di marketing in tutto il mondo per creare materiali di marketing e vendita a marchio Drupal che possono essere condivisi e utilizzati da tutti coloro che vendono servizi Drupal.
  • Contribuendo Moduli/Temi - La collaborazione su progetti Drupal inclusi moduli, distribuzioni e temi è un modo integrale per contribuire alla comunità Drupal.

Rimani connesso e aggiornato!

• Lasco

  • La comunità Drupal ha uno spazio di lavoro principale di Slack noto semplicemente come "Drupal" - - http://drupal.slack.com/
  • Troverai una varietà di canali per argomenti diversi, come #support, #bugsmash, #contribute, #drupal10rediness, ecc.

• Blog

  • I membri della comunità Drupal scrivono post sul blog su Drupal.
  • Anche TU puoi essere uno di loro!

• Social media: Twitter, LinkedIn, ecc

  • Seguire qualsiasi profilo relativo a Drupal può tenerti aggiornato con tutte le modifiche/eventi in corso che accadono intorno a Drupal.

Codice di condotta Drupal

Poiché Drupal è un open source e la nostra comunità sta crescendo, è imperativo preservare le cose che ci hanno portato qui. Ecco alcuni punti relativi alla condotta.

  • Sii collaborativo

Poiché Drupal ha una comunità più ampia, la collaborazione è la chiave. Lavorando come una squadra, possiamo portare il meglio nella piattaforma drupal.

  • Sii rispettoso

Poiché tutti danno un prezioso contributo a Drupal, la comunità ei suoi membri si trattano reciprocamente con rispetto.

  • Quando non siamo sicuri, chiedi aiuto

Nessuno è perfetto in Drupal e nessuno dovrebbe sapere tutto nella comunità di Drupal. Fare domande può risolvere molti problemi, quindi le domande sono incoraggiate.

  • Contatta i tuoi colleghi/amministratore di Slack se sei vittima o testimone di molestie o se hai bisogno di aiuto con l'amministrazione di Slack.

https://www.drupal.org/dcoc è il link al doc dove puoi trovare il codice di condotta in modo approfondito.

Pensieri finali

Come organizzazione che vive e respira Drupal, ci impegniamo sempre a restituire al progetto in ogni modo possibile. Se stai cercando un'agenzia Drupal di fiducia per il tuo prossimo progetto, i nostri esperti saranno felici di aiutarti. Parla con noi oggi!