Zum Inhalt springen

Workflow und Regeln

Wie ein Beitrag von der Idee ins Magazin kommt, wer was darf und was automatisch geprüft wird.

Clara WendtClara WendtChefredaktion · Beispielprofil

Ablauf Feld workflow: in der Markdown-Datei

IdeeRechercheEntwurfFaktencheckFreigabeVeröffentlichtJede Stufe ist ein Commit im Branch des Beitrags. Veröffentlichen heißt: Pull Request mergen.
StufeBedeutungTor zur nächsten Stufe
IdeeThema angemeldet, noch kein Text.Thema, Format und Hauptthema angelegt
RechercheQuellen und Zahlen werden gesammelt.Quellen im Register, Zahlen angelegt
EntwurfText in Arbeit.Keine Fehler laut Prüfregeln
FaktencheckZweite Person prüft jede Zahl.Zweite Person hat jede Zahl gegen die Quelle geprüft
FreigabeLektorat erledigt, wartet auf Veröffentlichung.Lektorat und Chefredaktion haben freigegeben
VeröffentlichtOnline und im Strom sichtbar.Korrekturen nur mit Eintrag im Protokoll

Rollen und Rechte

AufgabeChefredaktionRedaktionFaktencheckLektoratGastautorin oder Gastautor
Beitrag anlegen und schreiben✓✓––✓
Zahlen und Quellen im Register anlegen✓✓✓––
Faktencheck eintragen✓–✓––
Lektorat und Kürzen✓––✓–
Veröffentlichen (Merge)✓––––
Themen, Pfade und Leitfragen pflegen✓✓–––
Korrektur an veröffentlichtem Beitrag✓✓✓––

Im Git-Modell sind Rechte Branch-Schutzregeln: Mergen in main darf nur die Chefredaktion, jeder Pull Request braucht eine Freigabe einer anderen Person.

Automatische Prüfregeln 16 Regeln, src/v4/lib/pruefregeln.ts

RegelStufeWarum
Zahl fehlt im Register
zahl-unbekannt
fehlerJede Zahl braucht Jahr, Status und Quelle. Das garantiert nur das Register.
Unbekannter Baustein
block-unbekannt
fehlerTippfehler in Bausteinen würden still verschwinden.
Grafik, Faktencheck oder Beitrag fehlt
verweis-unbekannt
fehlerEin Verweis ins Leere zerstört den Lesefluss.
Kasten nicht geschlossen
container-offen
fehlerEin offener Kasten verschluckt den Rest des Beitrags.
Keine Quellen angegeben
quellen-fehlen
fehlerOhne Quelle keine Veröffentlichung.
Faktencheck fehlt oder durch Autor selbst
vier-augen
fehlerJede Zahl prüft eine zweite Person.
Link auf unveröffentlichten Beitrag
link-unveroeffentlicht
warnungLeserinnen und Leser landen sonst auf einer leeren Seite.
Einschätzung in einem Faktenformat
meinung-in-fakt
warnungNachricht und Meinung bleiben getrennt.
Meldung ohne Anlass
anlass-fehlt
fehlerEine Meldung nennt immer, worauf sie reagiert: Pressemitteilung, Ratsvorlage, Studie oder Bericht.
Zweckbindung behauptet?
zweckbindung
warnungErtrags- und Aufwandslisten belegen keine Zweckbindung.
Betrag ohne Register-Verweis und ohne Jahr
freie-zahl
hinweisFreie Beträge im Text brauchen mindestens ein Jahr im selben Satz.
Nutzt Zahlen im Status Entwurf
entwurf-faellig
hinweisWird fällig, sobald der Abschluss festgestellt ist.
Nutzt Presse- oder Fremdangaben
sekundaer
hinweisSekundärquellen sind sichtbar gekennzeichnet.
Meinungsbeitrag ohne Leitfrage
meinung-ohne-frage
hinweisPerspektiven werden über Leitfragen gefunden und gegenübergestellt.
Keine Kurzfassung
kurzfassung-fehlt
hinweisErklärstücke und Analysen beginnen mit „In 20 Sekunden“.
Lesezeit unplausibel
lesezeit
hinweisDie angegebene Lesezeit weicht stark von der Textlänge ab.

Fehler blockieren die Veröffentlichung: Ein Unit-Test prüft alle veröffentlichten Beiträge, der Build bricht ab.

Anbindung eines Git-CMS

Die Sammlungen sind so geschnitten, dass ein Git-basiertes CMS sie direkt bearbeiten kann. Bausteine wie ::grafik[id] werden dort zu Editor-Komponenten mit Auswahlfeld.

# Skizze für Sveltia oder Decap CMS (nicht getestet)
backend:
  name: github
  repo: randomsnowflake/was-kostet-bonn
  branch: main
publish_mode: editorial_workflow   # Branch und Pull Request je Beitrag
collections:
  - name: beitraege
    label: Beiträge
    folder: website/src/v4/content/beitraege
    extension: md
    create: true
    fields:
      - { name: titel, label: Titel, widget: string }
      - { name: dachzeile, label: Dachzeile, widget: string, required: false }
      - { name: vorspann, label: Vorspann, widget: text }
      - name: format
        label: Format
        widget: select
        options: [bericht, erklaerstueck, analyse, faktencheck,
                  datenreport, werkzeug, kommentar, gastbeitrag, pro-contra]
      - { name: themen, label: Themen, widget: list }
      - { name: autoren, label: Autoren, widget: list }
      - { name: body, label: Text, widget: markdown }