Sari la conținut

Contribuie la OCA

Odoo Community Association (OCA) găzduiește peste o mie de module open-source întreținute de comunitate. Localizarea românească trăiește în repository-ul OCA/l10n-romania, iar ACO e principalul ei contributor.

OCA/l10n-romania pe GitHub

De ce prin OCA

  • codul e public, sub licență AGPL-3 sau LGPL-3, și îl poate folosi orice firmă;
  • fiecare PR trece prin verificări automate (pre-commit, teste) și prin review uman;
  • modulele se migrează împreună la fiecare versiune, nu fiecare integrator separat;
  • contribuțiile sunt vizibile pe profilul tău de GitHub și al companiei tale.

Înainte de primul PR

  1. Fă-ți cont de GitHub și activează autentificarea în doi pași.
  2. Semnează CLA-ul OCA (detalii mai jos).
  3. Fă un fork la OCA/l10n-romania și instalează pre-commit local (pre-commit install).
  4. Spune-i liderului GL-DEV la ce lucrezi, ca să nu lucrăm doi pe același lucru.
  5. Începe cu ceva mic: un bug sau o îmbunătățire la un modul pe care îl folosești deja, nu o funcționalitate complexă sau un refactor mare.

OCA România: asociația locală

OCA are o asociație locală pentru România, care adună comunitatea OCA de aici: membri, delegați și integratori OCA din România. Prin ea afli ce se întâmplă în l10n-romania și găsești oamenii cu care lucrezi pe localizare.

  • intră pe canalul #romania de pe Discord-ul OCA, pentru discuții și ajutor rapid;
  • vezi lista membrilor și a integratorilor OCA din România;
  • poți deveni și membru OCA, separat de calitatea de membru ACO.

Cum semnezi CLA-ul OCA

Fără CLA semnat nu se poate integra niciun cod al tău în OCA. Sunt două formulare:

ICLA: persoană fizică

Îl semnează fiecare contributor. Se leagă de tine, nu de angajator, așa că pune adresa ta personală de email, nu pe cea de serviciu.

Descarcă ICLA (PDF)

ECLA: firmă

Îl semnează firma care pune angajați să contribuie la OCA. Nu înlocuiește ICLA: fiecare dezvoltator semnează și ICLA-ul lui.

Descarcă ECLA (PDF)
  1. Descarcă formularul potrivit și semnează-l (scanat sau cu semnătură digitală).
  2. Trece pe el user-ul tău de GitHub. Fără el, CLA-ul nu poate fi asociat contului tău.
  3. Trimite-l pe email la cla@odoo-community.org.

Numele tău complet apare public în lista semnatarilor; emailul și celelalte date de contact nu se publică.

Pașii unei contribuții

  1. Pornește de la un task din proiectul Localizare sau de la un issue OCA. Dacă nu există, creează-l.
  2. Branch din branch-ul versiunii țintă (ex. 19.0, niciodată master), cu un nume clar: 19.0-fix-stock-report-archived-locations, 19.0-mig-l10n_ro_xyz.
  3. Commit-uri cu prefixul de tip și modulul: [FIX] l10n_ro_stock_report: count moves of archived internal locations. Tipuri uzuale: [ADD], [IMP], [FIX], [REF], [MIG]. Un PR are de regulă un singur commit, în afară de migrări sau de PR-urile care rezolvă mai multe lucruri distincte.
  4. Teste: orice FIX vine cu un test care pica înainte; orice modul nou vine cu teste. Rulează pre-commit înainte de push.
  5. PR cu titlul [19.0][FIX] l10n_ro_modul: ..., cu link spre task și cu pașii de testare în descriere. Pune linkul PR-ului înapoi pe task.
  6. Testare: fiecare PR primește automat o instanță de test (runboat), pe care GL-QA verifică scenariile din specificație.
  7. Review și integrare: oricine poate face review. Un PR se integrează cu 3 aprobări în primele 5 zile, sau 2 după 5 zile, dintre care cel puțin una de la un membru PSC (comitetul care întreține repository-ul). Integrarea o face un maintainer cu comanda /ocabot merge.

Migrări la o versiune nouă

  • urmărește issue-ul Migration to version X din repository și trece-ți numele în dreptul modulului;
  • păstrează istoria commit-urilor din versiunea anterioară (oca-port sau git format-patch);
  • PR cu titlul [19.0][MIG] l10n_ro_modul: Migration to 19.0.

Review fără să scrii cod

  • testează PR-ul pe instanța runboat, fără nimic instalat local, și scrie ce ai verificat;
  • aprobă din GitHub doar ce ai testat sau citit efectiv;
  • fără review-uri nimic nu se integrează, iar cine face review la alții primește mai repede review la PR-urile proprii.

Contribuție funcțională

Nu trebuie să scrii cod: analiza nevoilor de business, configurarea și strângerea cerințelor sunt tot contribuții (în ACO, asta face GL-BR). OCA are un ghid dedicat: OCA pentru consultanți funcționali.

Cum ajungi în PSC

PSC-ul se câștigă prin contribuție: PR-uri și review-uri constante pe repository. Intrarea se face printr-un PR pe OCA/repo-maintainer-conf. Detalii în ghidul PSC.

Ghidurile oficiale OCA

Pentru detalii, OCA are ghiduri pentru fiecare tip de contribuție: cod, review, testare cu runboat, raportare bug, cerere de funcționalitate, traduceri, documentarea modulelor. Lista completă: How-to guides și Contribute. Ghidul de contribuție pentru cod: CONTRIBUTING.rst.

Checklist înainte de a cere review

  • pre-commit run -a trece local;
  • testele trec, iar FIX-ul are un test care îl acoperă;
  • titlul PR-ului și commit-urile respectă formatul;
  • descrierea are contextul, linkul spre task și pașii de testare;
  • dacă schimbi comportamentul, ai actualizat fragmentele din readme/.

Traduceri OCA

Modulele OCA se traduc tot pe Weblate, ca și Odoo, dar pe altă instanță și alt proiect, cu altă înscriere. Contul de pe translate.odoo.com nu e valabil aici, și invers.

Înscrierea

  1. Înregistrează-te pe translation.odoo-community.org cu contul de GitHub.
  2. Scrie la transbot@odoo-community.org în ce limbă vrei să traduci (română), ca să primești acces la limbă.
  3. Alege proiectul (repository-ul, ex. l10n-romania sau alt repository OCA), versiunea și modulul.

Detalii: ghidul OCA de traduceri.

Cum lucrăm

  • nu trimite traduceri prin PR-uri pe GitHub: se fac doar pe Weblate-ul OCA;
  • modul de lucru e același ca la Odoo: loturi mici anunțate în grup, auto-verificare, variabile și tag-uri păstrate exact, revizie de la un coleg;
  • folosește aceiași termeni ca în interfața Odoo, ca modulele OCA să nu sune diferit de restul aplicației.

Pașii detaliați, exemplele și revizia sunt în ghidul de traduceri Odoo.

Autori:
NextERP Romania, Fekete Mihai-Adrian
SC BISSTECH SRL, Ioan Lucian Muntean

Publicat la:
17.10.2026

Ultima Actualizare:
19.10.2026