Ghidul suprem pentru a începe călătoria dvs. de contribuție Drupal

Publicat: 2022-08-23

Introducere

Fiind un sistem de management al conținutului open-source, Drupal încurajează contribuțiile comunității de dezvoltatori și utilizatori din întreaga lume sub diferite forme. Ar putea fi sub formă de cod care include patch-uri pentru proiectele de bază și contribuite, în moduri non-cod, inclusiv marketing, documentare, organizare de evenimente sau prin sprijinirea financiară a proiectului. Acest articol vă va prezenta tot ce trebuie să știți pentru a începe călătoria dvs. de contribuție la codul Drupal de la zero.

De ce să contribui la Drupal

Desigur, să dai înapoi unui proiect care susține modul în care lucrezi și probabil trăiești în fiecare zi ar putea fi un motiv suficient de puternic pentru a contribui voluntar și a îmbunătăți proiectul open source. Dar dacă sunteți în căutarea unui pic mai mult stimulent pentru a contribui, iată câteva dintre beneficiile pe care le-am văzut:

  • Contribuțiile dvs. ajută Drupal să rămână relevant și la zi cu progresele care au loc în toate dependențele sale de-a lungul timpului
  • Puteți obține mai multe cunoștințe despre Drupal, ceea ce, la rândul său, vă va permite să construiți aplicații mai bune pentru clienții dvs
  • Oferă un avantaj competitiv organizațiilor care sponsorizează timp pentru contribuție, deoarece dezvoltatorii lor dobândesc mai multe abilități și cunoștințe și se prezintă ca experți.
  • Colaborați și întâlniți-vă cu oameni care împărtășesc aceleași interese ca și dvs

Cum să contribui

Pentru început, creați-vă un cont pe drupal.org și actualizați-vă profilul cu detaliile necesare.

Crearea contului

Crearea contului pe Drupal.org

Căutați o problemă

Odată creat contul, următorul pas ar fi să găsiți problema potrivită. Poate varia în funcție de interesul dvs.:

1. Puteți găsi o problemă din coada de probleme - https://www.drupal.org/project/issues. Pentru o căutare mai specifică, puteți face clic pe „Căutare avansată” și puteți utiliza filtrele.

  • Etichete de probleme - Problemele sunt atașate cu etichete diferite. Eticheta „novice” indică faptul că problema necesită o remediere simplă și orice începător ar putea să o aleagă, eticheta „Necesită documentație” indică faptul că această problemă necesită o modificare a documentației și așa mai departe.
  • Starea problemei - Odată ce problema este creată, aceasta trece prin diferite stări. Pe baza stării actuale a problemei, puteți decide următorii pași de care trebuie să mergeți mai departe.
  • Prioritatea problemei - Definește prioritatea problemei, indiferent dacă este o eroare critică sau ar putea fi o remediere minoră.
  • Categoria problemei - Indică categoria problemei, fie că este o eroare, fie că este o sarcină sau ar putea fi o nouă solicitare de caracteristică a proiectului.
  • Proiect specific - Aici puteți specifica direct proiectul care vă interesează.
Emite filtrul

Emite filtre

2. Sau începeți de la proiectul la care ați fost mereu interesat să lucrați, vizitând pagina de modul/temă/profil - https://www.drupal.org/project/<nume_proiect> . În bara laterală din dreapta, căutați linkul „Toate problemele” - https://www.drupal.org/project/issues/<project_name>?categories=All

3. Sau lucrați la un bug pe care l-ați întâlnit în nucleu sau la orice module/teme/profiluri contribuite în timp ce lucrați la un proiect. Este și modalitatea corectă de a contribui. Ar trebui să exersați întotdeauna menținerea „modului de colaborator” ACTIVAT chiar și în timp ce lucrați la proiecte, acest lucru oferă posibilitatea de a explora și de a contribui la o remediere la problemele ascunse!

Ciclul de viață al unei probleme Drupal

Odată ce o problemă este creată, aceasta trece prin diferite stări. Următoarele sunt diferitele stări ale problemelor pe care le veți întâlni:

  1. Activ - Când este creată o nouă problemă, aceasta se află într-o stare activă.
  2. Necesită revizuire - Când problema trebuie rezolvată, aceasta se află într-o stare Needs Work.
  3. Necesită funcționare - Odată ce problema este selectată, patch-urile sunt trimise cu succes și toate cazurile de testare trec, starea problemei ar trebui schimbată în Needs Review.
  4. Examinat și testat de comunitate - Odată ce problema este examinată de orice colaborator, problema este mutată în starea „Revizuită și testată de comunitate” (RTBC), unde unul dintre membrii echipei de bază a comunității examinează problema.
  5. Remediat - Când o problemă trece din starea RTBC, este mutată în starea Fix.
  6. Închis (remediat) - După starea Fix, problema trece automat la Închis (remediat) în decurs de două săptămâni. Aceasta este ultima stare a unei probleme.
  7. Închis (duplicat) - Când se creează orice problemă, care este un duplicat al uneia anterioare, se închide direct ca Închis (duplicat).
  8. Închis (nu se remediază) - Această stare înseamnă că o problemă nu are soluție.
  9. Închis (funcționează așa cum a fost proiectat) - Această stare reprezintă faptul că o problemă ridicată este furnizarea funcționalității ceea ce trebuia și astfel mutată la „funcționează așa cum a fost proiectat”. Cu alte cuvinte, problema ridicată nu este o eroare, ci o caracteristică.
  10. Închis (nu se poate reproduce) - Când o problemă nu este reproductibilă este mutată în această stare.
  11. Închis (învechit) - Când o problemă este fie prea veche pentru a fi remediată, fie este remediată în cadrul unui alt modul, starea poate fi Închisă (învechită) pentru acea problemă.
  12. Patch (de portat) - Când un Patch urmează să fie portat pentru alte versiuni ale modulului Drupal/Contributed.
  13. Amânat - Când problema/funcția/bug-ul este amânat de autor/comunitate și nu are nevoie de o remediere.
  14. Amânat (întreținătorul are nevoie de mai multe informații) - Când se ridică o problemă, dar conform întreținătorului modulului Contributed, sunt necesare mai multe informații despre problemă pentru a o remedia.

Creați o problemă

Pentru a crea o problemă pentru modul. Accesați coada de probleme a modulului https://www.drupal.org/project/issues/<project_name>?categories=All și faceți clic pe Create a new issue .

Emite prezentarea de diapozitive

Următorul pas este să oferiți detalii despre problema care trebuie creată.

Sincronizare

1. Titlu: Adăugați titlul problemei.
2. Proiect: Numele proiectului va fi selectat automat.
3. Categorie: Selectați categoria proiectului. Sunt 5 categorii

  1. Bug: Un bug este o eroare funcțională în sistem. De exemplu, eroare php, pierdere de date, scurgere de memorie, documentație incorectă sau înșelătoare, text incorect sau înșelător al interfeței utilizator etc.
  2. Sarcină: acestea nu sunt o eroare funcțională, ci „trebuie făcută” înainte de lansare. De exemplu, refactorizarea codului pentru a-l face mai lizibil și mai ușor de întreținut, adăugarea de teste automate, actualizarea codului la noi API-uri, îmbunătățirea standardelor de codare etc.
  3. Solicitare caracteristică: Aceasta este o solicitare pentru o funcționalitate complet nouă care să fie adăugată la modul.
  4. Solicitare de asistență: dacă avem nevoie de ajutor pentru orice parte a modulului sau dorim să știm despre funcționalitatea de bază a drupal. Putem eticheta solicitările de asistență și putem adăuga întrebarea.
  5. Plan: această etichetă este utilizată atunci când aveți o problemă care nu poate fi rezolvată folosind o singură problemă. Problemele de planificare vor avea adesea mai mulți sub-etași legate de problemele „copilului”.

4. Prioritate: Selectați prioritatea problemei. Aici avem Critic, Major, Normal și Minor. Alegeți normal, dacă nu este cu adevărat grav. Sau îl puteți selecta ca de obicei și lăsați întreținătorul sau examinatorul să îl modifice după cum este necesar.

5. Stare: Selectați Activ pentru probleme noi.
6. Versiune: Selectați versiunea proiectului în care trebuie remediată problema.
7. Componentă: Selectați cea mai apropiată potrivire cu problema. Acestea pot fi modificate ulterior. Componentele de aici se bazează pe modul. Opțiunile diferă de la modul la modul.
8. Atribuit: problema poate fi atribuită oricui. Nu este obligatoriu și poate fi atribuit ulterior.
9. Etichete: etichetați problema cu etichetele corespunzătoare. Acest lucru poate fi lăsat necompletat dacă nu avem cunoștințe despre etichetele problemelor. Acest lucru nu este obligatoriu și poate fi etichetat ulterior.
10. Rezumatul problemei și relațiile: extindeți câmpul și îl punem pe editor să adauge detaliile problemei. Există câteva titluri predefinite în editor și le putem înlocui dacă nu le dorim în detaliile problemei.

  1. Problemă părinte: pentru a eticheta problema părinte.
  2. Problemă asociată: pentru a eticheta problema asociată.

11. Fișiere: Putem adăuga fișierele legate de probleme sau putem încărca patch-ul la problemă în timp ce creăm sub fișiere. Și salvați problema.

După salvarea problemei. Problema creată va fi adăugată la coada de probleme a modulului respectiv.

Pentru a crea o problemă pentru nucleul drupal https://www.drupal.org/node/add/project-issue/drupal este linkul. Și pașii vor fi la fel ca și crearea problemei în modul. Dar există câteva instrucțiuni pentru a crea o problemă de bază, care va fi afișată pe linkul de mai sus.

Image removed.

Acestea sunt liniile directoare care trebuie urmate la crearea problemei de bază.

Creați un patch

Sunt 2 cazuri aici

  1. Creați un nou patch
  2. Actualizați patch-ul existent.

Pentru a crea un nou patch

  • Accesați fila de control al versiunii a modulului. https://www.drupal.org/project/ <nume_proiect>/git-instructions este linkul către pagină.
  • Selectați ramura pentru a lucra și faceți clic pe butonul Afișare.
Sincronizare imagine

Făcând clic pe butonul de afișare, veți obține comanda git, copiați și rulați comanda în terminalul dvs. și schimbați directorul în modulul clonat.

  • Faceți modificările pentru a remedia problema.
  • Comanda de creare a patch-ului este:
git diff > <issue-description (optional)>-<issue-number>-<comment-number>.patch
Eliminați Core

  1. Descrierea problemei va fi titlul problemei, unde toate literele trebuie să fie minuscule, iar spațiul trebuie completat cu liniuțe de subliniere. Acest lucru este opțional.
  2. Numărul problemei va fi în adresa URL a problemei. Acest lucru va fi unic pentru problemele care vor fi obligatorii în denumirea fișierului de corecție.
  3. Numărul comentariului este cel mai recent ID de comentariu în care va fi încărcat patch-ul.
Comentarii

Luați în considerare că trebuie să adăugați un fișier nou la patch. Noul fișier nu va fi urmărit și comanda git diff nu va urmări fișierul.

Pentru a adăuga un fișier nou la patch

  1. Adăugați noul fișier folosind comanda git add
  2. Alerga
 git diff HEAD > <issue-description (optional)>-<issue-number>-<comment-number>.patch

Pentru a actualiza un patch existent

1. Clonați proiectul la care trebuie să adăugați patch-ul.
2. Accesați pagina cu probleme, faceți clic dreapta pe linkul de corecție și faceți clic pe linkul Copiați adresa.
3. Descărcați patch-ul în local folosind comanda curl sau wget.

Pentru a descărca patch-ul utilizând comanda curl:

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


4. Pentru a aplica patch-ul, executați comanda:

 git apply <patch name>


5. După aplicarea plasturelui, veți primi modificările plasturelui în localul dumneavoastră. Adăugați modificările suplimentare necesare patch-ului și creați un nou patch.

Când actualizăm patch-ul existent, trebuie să creăm un fișier interdiff. Fișierul Interdiff nu este altceva decât o diferență între patch-ul vechi și patch-ul nou. Acest lucru va ajuta recenzentul să cunoască modificările efectuate în noul patch.

Următoarea este comanda pentru a crea un interdiff:

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

Luați în considerare că aveți un patch de descărcare vechi 3302030-2.patch și un nou patch actualizat pe care l-ați creat 3302030-3.patch. Pentru a crea interdiff-ul între aceste două fișiere, comanda ar fi:

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

Trimiteți un patch

După crearea unui patch, trebuie să trimitem patch-ul.

Pentru a trimite patch-ul, accesați pagina cu probleme.

1. Emite metadate

Metadate

În metadatele problemei, modificați starea în examinarea nevoilor. Anulați atribuirea problemei dacă problema vă este atribuită și adăugați sau eliminați etichetele după cum este necesar.

2. Atribuiți această contribuție

Atribut

Verificați opțiunile relevante și adăugați organizația dacă lucrați pentru orice organizație. Adăugând aceasta, creditele vor fi acordate organizației împreună cu dvs. atunci când problema este remediată.

3. Adăugați o descriere a modificărilor efectuate în patch sub secțiunea de comentarii.
4. Alegeți fișierul patch, fișierul interdiff și încărcați-l sub fișiere.

Fișiere

Aici am adăugat fișierele unul câte unul și am apăsat pe încărcare după ce am ales fișierul. Făcând clic pe încărcare, fișierul va fi încărcat și va fi adăugat la lista de mai jos.

NOTĂ: Interdiff nu este necesar la adăugarea unui nou patch.

5. După încărcarea fișierului, faceți clic pe butonul de salvare. Aceasta va actualiza pagina cu probleme și vom vedea patch-ul încărcat cu un nou număr de comentariu.

Patch-urile pentru problemele principale ar trebui trimise folosind aceeași procedură.

Examinați un patch

Acum știți cum să căutați o problemă, să creați un patch și să îl încărcați. Ce urmeaza? Cum ne putem asigura că patch-ul potrivit este comis cât mai curând posibil? Examinarea unui patch este un pas la fel de important în avansarea problemei. Dacă simți că scrierea liniilor de cod nu este treaba ta, atunci de ce să nu încerci să revizuiești patch-urile existente?

Înainte de a începe, vă recomandăm să adăugați extensia Dreditor la browser.

Dreditor

Extensia Dreditor

Vă oferă un buton „Revizuire” pentru fișierele patch/interdiff. La clic, acesta afișează modificările într-un format ușor de citit.

Revizuire

Butonul „Review” de la Dreditor

Plasture

Fișierul de corecție se modifică fără Dreditor

Modificări ale fișierului de corecție

Acum suntem pregătiți să găsim o problemă pentru revizuire!

  • Filtrați problemele cu starea „Necesită revizuire”.
  • Alegeți-vă din listă.
  • Citiți comentariile și alegeți cel mai recent patch încărcat în problemă.
  • Asigurați-vă că patch-ul a trecut de cazurile de testare și a devenit verde.
Testul de patch-uri trece

Patch care a trecut testele

  • Descărcați fișierul de corecție și aplicați patch-ul pe local în nucleul/modulul/tema/profilul dvs. rulând:
 git apply <patch-file-downloaded> -v
  • Testați dacă funcționează conform așteptărilor/are nevoie de ceva lucru.
  • Schimbați starea problemei și adăugați comentarii cu imagini/videoclipuri care vă susțin punctele. Comentariul dvs. ar trebui să conțină detalii cum ar fi dacă patch-ul a fost aplicat la cea mai recentă versiune, ce pași au fost urmați pentru a reproduce problema, comportamentul problemei înainte și după aplicarea patch-ului etc.
  • Dacă totul arată bine, schimbați starea în „RTBC”.
  • Dacă există vreo posibilitate de lucru/modificări suplimentare, actualizați starea la „Necesită muncă”.

Alte modalități de a contribui

În afară de contribuțiile la cod, proiectul Drupal are multe domenii la care puteți contribui, inclusiv îmbunătățirea calității și a acoperirii sale. Puteți alege metoda dvs. de contribuție la această comunitate în funcție de interesele dvs. Unele dintre domeniile de contribuție:

  • Prin mentorat - Dacă aveți ceva experiență în contribuție, îi puteți ajuta pe alții să înceapă devenind mentor, fie online, fie în persoană.
  • Către documentare - Toată documentația pentru Proiectul Drupal este contribuită în mod liber de oameni din întreaga lume, la fel ca tine.
  • Partajarea cunoștințelor - O modalitate importantă de a contribui la proiectul Drupal este prin a vă împărtăși cunoștințele despre Drupal prin scrierea postărilor pe blog, oferind o prezentare la întâlnirea locală a Grupului Drupal, un DrupalCamp sau un DrupalCon, devenind formator etc.
  • Planificarea evenimentelor - Prin organizarea sau voluntariatul în evenimente Drupal virtuale sau în persoană, cum ar fi întâlniri, sprinturi etc.
  • Prin marketing - Puteți colabora cu alte echipe de marketing din întreaga lume pentru a crea materiale de marketing și vânzări marca Drupal, care pot fi partajate și utilizate de toți cei care vând servicii Drupal.
  • Contribuind cu module/teme - Colaborarea pe proiecte Drupal, inclusiv module, distribuții și teme este o modalitate integrală de a contribui la comunitatea Drupal.

Rămâneți conectat și actualizat!

• slăbiciune

  • Comunitatea Drupal are un spațiu de lucru Slack principal cunoscut sub numele de „Drupal” - - http://drupal.slack.com/
  • Veți găsi o varietate de canale pentru diferite subiecte, cum ar fi #support, #bugsmash, #contribute, #drupal10rediness etc.

• Bloguri

  • Membrii comunității Drupal scriu articole pe blog despre Drupal.
  • Chiar și TU poți fi unul dintre ei!

• Social Media - Twitter, LinkedIn etc

  • Urmărirea oricăror profiluri legate de Drupal vă poate ține la curent cu toate schimbările/evenimentele în curs de desfășurare în jurul Drupal.

Codul de conduită Drupal

Întrucât Drupal este o sursă deschisă și comunitatea noastră este în creștere, este imperativ să păstrăm lucrurile care ne-au adus aici. Iată câteva dintre punctele legate de conduită.

  • Fii colaborativ

Întrucât Drupal are o comunitate mai mare, colaborarea este cheia. Lucrând în echipă, putem aduce ce este mai bun în platforma drupal.

  • Fii respectuos

Deoarece toată lumea aduce o contribuție valoroasă la Drupal, comunitatea și membrii săi se tratează reciproc cu respect.

  • Când nu suntem siguri, cereți ajutor

Nimeni nu este perfect în Drupal și nimeni nu este de așteptat să știe totul în comunitatea Drupal. A pune întrebări poate rezolva multe probleme, așa că întrebările sunt încurajate.

  • Vă rugăm să contactați colegii dumneavoastră/administratorul Slack dacă sunteți victimă sau martor la hărțuire sau aveți nevoie de ajutor pentru administrarea Slack.

https://www.drupal.org/dcoc este linkul către documentul unde puteți găsi codul de conduită în profunzime.

Gânduri finale

Ca o organizație care trăiește și respiră Drupal, ne angajăm întotdeauna să dăm înapoi proiectului în orice mod putem. Dacă sunteți în căutarea unei agenții Drupal de încredere pentru următorul dvs. proiect, experții noștri vă vor ajuta cu plăcere. Vorbește cu noi astăzi!