Salt la conținut

Publicarea pe DoliNews

De la deschiderea contului până la primul articol publicat.

Aici informația este întotdeauna datată: anunțul dumneavoastră indică compatibilitatea și maturitatea modulului în ziua în care îl publicați. DoliNews nu pretinde că descrie starea actuală a unui modul, ci doar ce ați anunțat și când. Fișa proiectului dumneavoastră, în schimb, este permanentă: nu poartă nici compatibilitate, nici maturitate.

Două lucruri de știut înainte de a începe. Scrisul cere un cont de contribuitor, adică dovada că ați contribuit cu adevărat la ecosistem: cititul și abonarea nu cer. Și orice anunț trece prin analiză: un token de API dă dreptul de a depune, niciodată pe cel de a publica. Doar traducerile sale îi scapă, textul pe care îl traduc fiind deja verificat.

1. Deschiderea contului

Înregistrarea este liberă și dă un cont de cititor. Un e-mail de verificare pleacă imediat: linkul pe care îl conține este de unică folosință și activează contul.

Folosiți de preferință adresa cu care vă semnați commiturile. Dacă indexul autorilor o cunoaște deja, contul dumneavoastră devine cont de contribuitor chiar în clipa în care verificați e-mailul, iar pasul următor nu vă privește.

Creați un cont - Am deja un cont

2. Dovedirea contribuției

Calificarea este distinctă de autentificare: mai întâi există contul, apoi vine dovada. Serviciul vă caută adresa de autor al commiturilor într-un index cules din clone git ale depozitelor de referință - niciodată prin API-ul unei forje, pentru ca verificarea să supraviețuiască dispariției unui găzduitor.

Adresa dumneavoastră nu este păstrată niciodată în clar, nici în index, nici pe dovadă: se stochează doar amprenta ei cu piper.

Odată adresa recunoscută, rămâne de dovedit că este a dumneavoastră. Două niveluri:

  • Simplu: un cod de unică folosință este trimis la adresa de commit, valabil o oră, cinci încercări.
  • Puternic: serviciul vă dă o frază de semnat cu cheia GPG care vă semnează commiturile; lipiți cheia publică și semnătura.

Trei cazuri în care calea simplă nu se aplică:

  • Adresa dumneavoastră de commit este o redirectare anonimizată, de felul celor date de forje: nu primește e-mail, rămân semnătura GPG sau validarea manuală.
  • Adresa dumneavoastră nu apare în niciun depozit de referință: cereți echipei validarea manuală din aceeași pagină, explicând situația. Este calea prevăzută pentru editorii fără depozit public.
  • Această adresă este deja legată de alt cont: o amprentă califică un singur cont, iar o dovadă revocată de moderare nu este niciodată redată de un automatism.

3. Declararea editorului

Editorul este organizația sau persoana care publică; fișele dumneavoastră de proiect și anunțurile îi aparțin. Nu se publică niciodată în nume propriu: fără editor, nimic nu poate fi trimis. Formularul de creare vă este propus de îndată ce dovada de contribuție este acceptată și rămâne accesibil în josul paginii articolelor dumneavoastră. O integrare care pornește de la zero își creează mai degrabă editorul prin POST /editors. Sunteți proprietarul editorului pe care îl creați și îi puteți atașa alte conturi de contribuitor, care vor publica sub același nume.

Un editor deținut pe cont: creditul de publicare și plafonul cozii se socotesc pe editor. La ceilalți te alături la invitația proprietarului lor.

4. Crearea unui token API

Tokenul servește la publicarea din lanțul dumneavoastră de integrare și este necesar la pasul următor. Numiți-l după utilizarea lui: secretul apare o singură dată, la creare, și se revocă oricând.

Se folosește ca antet la fiecare apel. Începeți prin a verifica dacă răspunde:

TOKEN="12|..."

curl -H "Authorization: Bearer $TOKEN" -H "Accept: application/json" \
     https://dolinews.com/api/v1/profile

Răspunsul poartă cele două valori de care depinde orice scriere: is_contributor și lista editorilor dumneavoastră cu identificatorul lor. Notați acel identificator, apelurile următoare îl cer.

Ritm: 120 citiri și 10 scrieri pe minut. Un script care încarcă mai multe imagini la rând trebuie să țină cont de a doua limită.

5. Crearea fișei proiectului

Fișa descrie proiectul în mod permanent: nume, rezumat, descriere, licență, linkuri tipizate către depozit, documentație, magazin sau asistență. Nu poartă nicio compatibilitate Dolibarr, iar asta e intenționat: o fișă rămâne ani la rând, deci orice informație datată pe care ar conține-o ar deveni falsă fără ca nimeni să o corecteze.

Fișa se creează din contul dumneavoastră sau prin API dacă porniți de la un lanț de integrare. Un articol se poate lipsi de fișă - va fi atunci un anunț de editor - dar o lansare de versiune o merită pe a sa.

# Créer la fiche
curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
     -d '{"editor_id":3,"name":"Mon module",
          "summary":"Ce que fait le module, en une phrase.",
          "license":"GPL-3.0-or-later"}' \
     https://dolinews.com/api/v1/projects

# Ajouter un lien typé : dolistore, shop, demo, doc, repo, support, other
curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
     -d '{"type":"repo","url":"https://example.org/mon-module","label":"Dépôt git"}' \
     https://dolinews.com/api/v1/projects/mon-module/links

Scurtătorii de adrese sunt refuzați, iar o fișă Dolistore deja revendicată de alt editor declanșează un conflict pe care îl tranșează moderarea.

6. Trimiterea anunțului

Prin site, din pagina articolelor dumneavoastră, sau prin API. În ambele cazuri conținutul este același, iar rezumatul este obligatoriu: el este ceea ce parcurge cititorul în flux, iar absența lui face ilizibile majoritatea jurnalelor de lansare.

  • Tipul deosebește lansarea de versiune de anunțul de editor; natura publicării - securitate, corecție, funcționalitate, compatibilitate, sfârșit de viață - este valabilă doar pentru o versiune.
  • Maturitatea merge de la alfa la învechit. Implicit, în flux apar doar versiunile stabile: restul îl cere cititorul explicit.
  • Compatibilitatea cu Dolibarr este un interval de versiuni majore și se declară simplu sau ca fiind cu adevărat testată. Nu declarați testat ce nu ați încercat: filtrul după versiune depinde de asta.
  • Corpul este în Markdown. Toate linkurile care ies poartă nofollow, iar un articol poate fi ilustrat doar cu imagini încărcate pe serviciu.

Un anunț ilustrat se publică în doi timpi: se încarcă imaginile, apoi se creează articolul citând adresele lor în corp și identificatorii în media_ids. Fără acei identificatori, imaginile rămân orfane și sunt șterse după douăzeci și patru de ore.

# 1. Déposer une capture. Elle est ré-encodée, ses métadonnées disparaissent.
curl -H "Authorization: Bearer $TOKEN" \
     -F file=@capture.png -F editor_id=3 -F alt="Écran de configuration" \
     https://dolinews.com/api/v1/media

# 2. Créer l'article et le soumettre dans le même appel
curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
     -d '{"editor_id":3,"project_id":7,"type":"release",
          "title":"Mon module 2.1","version":"2.1.0","locale":"fr_FR",
          "focus":"bugfix_major","maturity":"stable","dolibarr_min":20,
          "summary":"Ce que cette version change, en quelques lignes.",
          "body":"## Corrections\n\n![Écran](URL_RENVOYEE_A_L_ETAPE_1)",
          "media_ids":[42],"submit":true}' \
     https://dolinews.com/api/v1/articles

O captură dintr-un Dolibarr în funcțiune conține aproape întotdeauna date reale - terți, sume, adrese. Curățați-o înainte de a o trimite.

Imaginea reprezentativă este cea pe care fluxul, cardul de partajare și fluxurile o afișează pentru anunțul dumneavoastră: desemnați-o cu featured_media_id dintre imaginile editorului dumneavoastră, sau cu linia image: din antet dacă folosiți instrumentul de publicare. Este revizuită împreună cu anunțul, iar schimbarea ei după publicare trece printr-o revizie. Fără ea, se afișează prima imagine din corp; o traducere o afișează pe cea a originalului.

Două limite protejează coada: un ritm de publicare pe proiect și un plafon de anunțuri ale aceluiași editor aflate simultan în analiză. Un anunț și traducerile sale contează ca unul.

Documentația completă a API

7. Analiza și ce urmează

Articolul dumneavoastră intră în coadă și trei moderatori trebuie să îl accepte pentru a apărea. Schimburile au loc într-un fir privat între dumneavoastră și echipă: acolo răspundeți, corectați, retrimiteți. Modificarea unui articol în așteptare deschide o nouă rundă de analiză, fiindcă un acord privește un text precis.

Nu se anunță niciun termen, și nu este o scăpare: a te angaja pe timpul liber al unor voluntari ar transforma fiecare întârziere într-o abatere. Pagina analizei afișează termenul observat cu adevărat și cea mai veche așteptare. Un anunț de securitate trece înainte.

Odată publicat, un articol nu se mai modifică pe loc: propuneți o revizuire, care trece din nou prin analiză, articolul poartă mențiunea corecturii sale, iar versiunea de origine rămâne accesibilă. O traducere este un articol de sine stătător, legat de originalul său: cea pe care o depuneți dumneavoastră apare fără analiză, cea a unui traducător pe care l-ați mandatat trece pe la un verificator; un anunț netradus nu este niciodată dezavantajat în difuzare.

Cum funcționează analiza - Reguli de utilizare