Δημοσίευση στο DoliNews
Από το άνοιγμα του λογαριασμού ως το πρώτο δημοσιευμένο άρθρο.
Εδώ η πληροφορία φέρει πάντα ημερομηνία: η ανακοίνωσή σας δηλώνει τη συμβατότητα και την ωριμότητα του αρθρώματος την ημέρα που τη δημοσιεύετε. Το DoliNews δεν ισχυρίζεται ότι περιγράφει την τρέχουσα κατάσταση ενός αρθρώματος, αλλά μόνο ό,τι έχετε ανακοινώσει, και πότε. Η καρτέλα του έργου σας, αντίθετα, είναι μόνιμη: δεν φέρει ούτε συμβατότητα ούτε ωριμότητα.
Δύο πράγματα πριν ξεκινήσετε. Η συγγραφή απαιτεί λογαριασμό συνεισφέροντα, δηλαδή απόδειξη ότι συνεισφέρατε πραγματικά στο οικοσύστημα: η ανάγνωση και η εγγραφή δεν απαιτούν. Και κάθε ανακοίνωση περνά από αξιολόγηση: ένα διακριτικό API δίνει το δικαίωμα υποβολής, ποτέ το δικαίωμα δημοσίευσης. Μόνο οι μεταφράσεις της εξαιρούνται, καθώς το κείμενο που μεταφράζουν έχει ήδη ελεγχθεί.
1. Άνοιγμα του λογαριασμού
Η εγγραφή είναι ελεύθερη και δίνει λογαριασμό αναγνώστη. Ένα email επαλήθευσης φεύγει αμέσως: ο σύνδεσμος που περιέχει είναι μίας χρήσης και ενεργοποιεί τον λογαριασμό.
Χρησιμοποιήστε κατά προτίμηση τη διεύθυνση με την οποία υπογράφετε τα commit σας. Αν αυτή η διεύθυνση είναι ήδη γνωστή στο ευρετήριο συντακτών, ο λογαριασμός σας γίνεται λογαριασμός συνεισφέροντα τη στιγμή ακριβώς που επαληθεύετε το email, και το επόμενο βήμα δεν σας αφορά.
2. Απόδειξη της συνεισφοράς σας
Η πιστοποίηση συνεισφοράς είναι διαφορετική από την ταυτοποίηση: πρώτα υπάρχει ο λογαριασμός, μετά έρχεται η απόδειξη. Η υπηρεσία αναζητά τη διεύθυνση συντάκτη των commit σας σε ευρετήριο που συγκεντρώθηκε από κλώνους git των αποθετηρίων αναφοράς - ποτέ μέσω του API κάποιας πλατφόρμας, ώστε η επαλήθευση να επιβιώσει της εξαφάνισης ενός παρόχου.
Η διεύθυνσή σας δεν φυλάσσεται ποτέ σε καθαρή μορφή, ούτε στο ευρετήριο ούτε στην απόδειξη: αποθηκεύεται μόνο το αποτύπωμά της με πιπέρι.
Αφού αναγνωριστεί η διεύθυνση, μένει να αποδείξετε ότι είναι δική σας. Δύο επίπεδα:
- Απλό: ένας κωδικός μίας χρήσης αποστέλλεται στη διεύθυνση των commit, ισχύει μία ώρα, πέντε προσπάθειες.
- Ισχυρό: η υπηρεσία σας δίνει μια φράση να υπογράψετε με το κλειδί GPG που υπογράφει τα commit σας· επικολλάτε το δημόσιο κλειδί σας και την υπογραφή.
Τρεις περιπτώσεις όπου ο απλός δρόμος δεν ισχύει:
- Η διεύθυνση commit σας είναι ανωνυμοποιημένη ανακατεύθυνση, από αυτές που δίνουν οι πλατφόρμες: δεν λαμβάνει email, απομένουν η υπογραφή GPG ή η χειροκίνητη έγκριση.
- Η διεύθυνσή σας δεν εμφανίζεται σε κανένα αποθετήριο αναφοράς: ζητήστε χειροκίνητη έγκριση από την ομάδα στην ίδια σελίδα, εξηγώντας την κατάστασή σας. Είναι ο δρόμος που προβλέπεται για εκδότες χωρίς δημόσιο αποθετήριο.
- Αυτή η διεύθυνση συνδέεται ήδη με άλλον λογαριασμό: ένα αποτύπωμα πιστοποιεί μόνο έναν λογαριασμό, και μια απόδειξη που ανακλήθηκε από τη συντονιστική ομάδα δεν επιστρέφεται ποτέ αυτόματα.
3. Δήλωση του εκδότη σας
Ο εκδότης είναι ο οργανισμός ή το πρόσωπο που δημοσιεύει· οι καρτέλες έργων και οι ανακοινώσεις σας ανήκουν σε αυτόν. Ποτέ δεν δημοσιεύει κανείς στο δικό του όνομα: χωρίς εκδότη, τίποτε δεν μπορεί να υποβληθεί. Η φόρμα δημιουργίας σας προτείνεται μόλις γίνει δεκτή η απόδειξη συνεισφοράς σας και παραμένει προσβάσιμη στο τέλος της σελίδας των άρθρων σας. Μια ενσωμάτωση που ξεκινά από το μηδέν δημιουργεί μάλλον τον εκδότη της με POST /editors. Είστε ιδιοκτήτης του εκδότη που δημιουργείτε και μπορείτε να συνδέσετε άλλους λογαριασμούς συνεισφερόντων, που θα δημοσιεύουν με το ίδιο όνομα.
Ένας εκδότης στην κατοχή κάθε λογαριασμού: η πίστωση δημοσίευσης και το ανώτατο όριο της ουράς μετρώνται ανά εκδότη. Στους υπόλοιπους προσχωρεί κανείς με πρόσκληση του ιδιοκτήτη τους.
4. Δημιουργία διακριτικού API
Το διακριτικό χρησιμεύει για δημοσίευση από την αλυσίδα ενσωμάτωσής σας και χρειάζεται στο επόμενο βήμα. Ονομάστε το κατά τη χρήση του: το μυστικό εμφανίζεται μία μόνο φορά, κατά τη δημιουργία, και ανακαλείται οποτεδήποτε.
Χρησιμοποιείται ως κεφαλίδα σε κάθε κλήση. Ξεκινήστε ελέγχοντας ότι απαντά:
TOKEN="12|..."
curl -H "Authorization: Bearer $TOKEN" -H "Accept: application/json" \
https://dolinews.com/api/v1/profile
Η απάντηση φέρει τις δύο τιμές από τις οποίες εξαρτάται κάθε εγγραφή: is_contributor και τον κατάλογο των εκδοτών σας με το αναγνωριστικό τους. Σημειώστε αυτό το αναγνωριστικό, οι επόμενες κλήσεις το ζητούν.
Ρυθμός: 120 αναγνώσεις και 10 εγγραφές ανά λεπτό. Ένα σενάριο που ανεβάζει πολλές εικόνες στη σειρά πρέπει να λάβει υπόψη το δεύτερο όριο.
5. Δημιουργία της καρτέλας του έργου σας
Η καρτέλα περιγράφει το έργο μόνιμα: όνομα, σύνοψη, περιγραφή, άδεια, τυποποιημένοι σύνδεσμοι προς το αποθετήριο, την τεκμηρίωση, το κατάστημα ή την υποστήριξη. Δεν φέρει καμία συμβατότητα με το Dolibarr, και αυτό είναι σκόπιμο: μια καρτέλα μένει στη θέση της για χρόνια, άρα κάθε χρονολογημένη πληροφορία που θα περιείχε θα γινόταν ψευδής χωρίς κανείς να τη διορθώσει.
Η καρτέλα δημιουργείται από τον λογαριασμό σας ή μέσω του API αν ξεκινάτε από αλυσίδα ενσωμάτωσης. Ένα άρθρο μπορεί να μην έχει καρτέλα - τότε είναι ανακοίνωση εκδότη - αλλά μια κυκλοφορία έκδοσης αξίζει τη δική της.
# 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
Οι υπηρεσίες σύντμησης διευθύνσεων απορρίπτονται, και μια καρτέλα Dolistore που έχει ήδη διεκδικηθεί από άλλον εκδότη προκαλεί σύγκρουση την οποία κρίνει η συντονιστική ομάδα.
6. Υποβολή της ανακοίνωσής σας
Από τον ιστότοπο, στη σελίδα των άρθρων σας, ή μέσω του API. Και στις δύο περιπτώσεις το περιεχόμενο είναι το ίδιο, και η σύνοψη είναι υποχρεωτική: αυτήν διατρέχει ο αναγνώστης στη ροή, και η απουσία της είναι που κάνει δυσανάγνωστα τα περισσότερα ημερολόγια κυκλοφορίας.
- Ο τύπος ξεχωρίζει την κυκλοφορία έκδοσης από την ανακοίνωση εκδότη· η φύση της δημοσίευσης - ασφάλεια, διόρθωση, λειτουργία, συμβατότητα, τέλος ζωής - ισχύει μόνο για έκδοση.
- Η ωριμότητα πάει από άλφα έως παρωχημένη. Εξ ορισμού στη ροή εμφανίζονται μόνο οι σταθερές εκδόσεις: τις υπόλοιπες τις ζητά ρητά ο αναγνώστης.
- Η συμβατότητα με το Dolibarr είναι ένα εύρος κύριων εκδόσεων και δηλώνεται απλώς ή ως πραγματικά δοκιμασμένη. Μη δηλώνετε δοκιμασμένο ό,τι δεν δοκιμάσατε: το φίλτρο ανά έκδοση εξαρτάται από αυτό.
- Το σώμα είναι σε Markdown. Όλοι οι εξερχόμενοι σύνδεσμοι φέρουν nofollow, και μόνο εικόνες που ανέβηκαν στην υπηρεσία μπορούν να εικονογραφήσουν ένα άρθρο.
Μια εικονογραφημένη ανακοίνωση δημοσιεύεται σε δύο χρόνους: ανέβασμα των εικόνων, και μετά δημιουργία του άρθρου με τις διευθύνσεις τους στο σώμα και τα αναγνωριστικά τους στο media_ids. Χωρίς αυτά τα αναγνωριστικά, οι εικόνες μένουν ορφανές και σβήνονται μετά από είκοσι τέσσερις ώρες.
# 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",
"media_ids":[42],"submit":true}' \
https://dolinews.com/api/v1/articles
Ένα στιγμιότυπο από ένα Dolibarr σε λειτουργία περιέχει σχεδόν πάντα πραγματικά δεδομένα - συναλλασσόμενους, ποσά, διευθύνσεις. Καθαρίστε το πριν το στείλετε.
Η κύρια εικόνα είναι αυτή που δείχνουν η ροή, η κάρτα κοινοποίησης και τα κανάλια για την ανακοίνωσή σας: ορίστε την με featured_media_id ανάμεσα στις εικόνες του εκδότη σας, ή με τη γραμμή image: της κεφαλίδας αν χρησιμοποιείτε το εργαλείο δημοσίευσης. Ελέγχεται μαζί με την ανακοίνωση, και η αλλαγή της μετά τη δημοσίευση γίνεται με αναθεώρηση. Χωρίς αυτήν, εμφανίζεται η πρώτη εικόνα του κειμένου· μια μετάφραση δείχνει αυτήν του πρωτοτύπου.
Δύο όρια προστατεύουν την ουρά: ένας ρυθμός δημοσίευσης ανά έργο και ένα ανώτατο πλήθος ανακοινώσεων του ίδιου εκδότη ταυτόχρονα υπό αξιολόγηση. Μια ανακοίνωση και οι μεταφράσεις της μετρούν ως μία.
7. Η αξιολόγηση και όσα ακολουθούν
Το άρθρο σας μπαίνει στην ουρά και τρεις συντονιστές πρέπει να το δεχτούν για να εμφανιστεί. Οι συνεννοήσεις γίνονται σε ιδιωτικό νήμα ανάμεσα σε εσάς και την ομάδα: εκεί απαντάτε, διορθώνετε, υποβάλλετε ξανά. Η τροποποίηση άρθρου που εκκρεμεί ανοίγει νέο γύρο αξιολόγησης, γιατί μια συμφωνία αφορά συγκεκριμένο κείμενο.
Δεν ανακοινώνεται προθεσμία, και δεν πρόκειται για παράλειψη: μια δέσμευση πάνω στον ελεύθερο χρόνο εθελοντών θα μετέτρεπε κάθε καθυστέρηση σε παράβαση. Η σελίδα της αξιολόγησης δείχνει τον πραγματικά παρατηρούμενο χρόνο και την παλαιότερη αναμονή. Μια ανακοίνωση ασφαλείας προηγείται.
Μόλις δημοσιευτεί, ένα άρθρο δεν τροποποιείται επιτόπου: προτείνετε μια αναθεώρηση, η οποία περνά ξανά από την αξιολόγηση, το άρθρο φέρει την αναφορά της διόρθωσής του και η αρχική εκδοχή παραμένει διαθέσιμη. Η μετάφραση είναι άρθρο με τη δική του υπόσταση, συνδεδεμένο με το πρωτότυπο: αυτή που καταθέτετε ο ίδιος εμφανίζεται χωρίς αξιολόγηση, ενώ εκείνη ενός μεταφραστή στον οποίο αναθέσατε εντολή περνά από έναν αξιολογητή. Μια αμετάφραστη ανακοίνωση δεν μειονεκτεί ποτέ στη διάδοση.