Wiederkehrende Filme mit Zahlen, denen du trauen kannst
· 4 Min. Lesezeit

Ein wöchentlicher Film über die Releases eines Projekts oder ein vierteljährlicher über eine Reihe von Kennzahlen lohnt sich nur, wenn jede Zahl auf dem Bildschirm die Zahl aus der Quelle ist. Am 15. September haben wir die Mechanik dafür geliefert: Formate mit Versionen, Daten, die sich an ihre Herkunft erinnern, und eine Prüfung, die Nein sagt, bevor gerendert wird.
Eine Serie braucht eine feste Form
Sendungen machen aus einem Feed regelmäßig einen Film. Bisher trug eine Sendung ihre Szenen direkt: Wer sie bearbeitete, änderte die Form aller künftigen Folgen, und nichts hielt fest, mit welcher Form eine ältere Folge entstanden war. Für einen einzelnen Film geht das, für eine Serie nicht.
Die eigentliche Frage waren die Zahlen. Eine Zahl, die ein Modell aus dem Gedächtnis schreibt, sieht genauso aus wie eine abgerufene, und das Publikum kann sie nicht unterscheiden. Bei Filmen aus Daten ist genau das der entscheidende Unterschied.
Formate, mit Versionen
Ein Format ist jetzt ein benanntes Objekt mit Versionen, die sich nach dem Anlegen nie mehr ändern. Eine Sendung legt sich auf eine Version fest oder folgt der neuesten, und jede Folge vermerkt die Version, die sie erzeugt hat. Eine Sendung ohne Format bekommt still ihre eigene private erste Version, sodass nichts Bestehendes seine Form geändert hat.
Ein Animationsformat kann statt fester Szenen ein Programm tragen. Stell es dir als Ablaufplan mit Regeln vor:
- Abschnitte, jeder mit einer Aufgabe im Film;
- Bedingungen wie „nur wenn es ein Release gab“ oder „einmal pro Eintrag“;
- berechnete Werte, in der Reihenfolge, in der sie voneinander abhängen;
- Pflichtabschnitte und Regeln wie
reject_if, die sagen, wann eine Folge gar nicht existieren soll.
Formate lassen sich aus einem Assistenten heraus abzweigen, prüfen und in der Vorschau ansehen, und alle diese Schritte sind kostenlos.
Jede Zahl weiß, woher sie kommt
Texte in einem Format können Ausdrücke in einer bewusst kleinen Sprache enthalten: Pfade in die Daten, Rechnen, Vergleiche und Filter für Zahlen, Texte, Daten und Listen. Jedes Feld kann an einen Ausdruck statt an einen eingetippten Wert gebunden werden.
Bevor etwas zusammengesetzt wird, holen Resolver die Daten, von einem Web-Endpunkt oder von einem anderen Assistenten-Werkzeug, das mit dem Konto verbunden ist. Jeder gelieferte Wert trägt seine Herkunft: welcher Aufruf, welches Feld und wann. Ein paar Regeln halten das ehrlich:
- abgerufener Text gilt als Daten und wird nie erneut als Ausdruck ausgewertet;
- ein fehlender Wert landet nie als leeres Wort auf dem Bildschirm; das Format entscheidet, ob die Folge entfällt, der Abschnitt wegfällt, ein Standardwert greift oder es laut scheitert;
- ein Lauf macht nur begrenzt viele Aufrufe, Ergebnisse werden pro Konto zwischengespeichert, und ein Format nennt seine Verbindungen nur per Alias, sodass man es teilen oder abzweigen kann, ohne etwas Privates mitzugeben.
Eine Prüfung, die vor dem Rendern Nein sagt
Das Herz dieses Releases ist die Integritätsprüfung. Jede Folge wird kompiliert, bevor irgendetwas berechnet wird, und der Compiler lehnt mit Namen ab:
- eine von Hand geschriebene Zahl, wo das Format einen berechneten Wert erwartet;
- berechnete Werte, die sich im Kreis voneinander abhängen;
- einen Pflichtabschnitt, der am Ende fehlt;
- eine Ablehnungsregel, die zutrifft;
- eine leere Folge oder einen Ausdruck, der nicht funktioniert.
Eine Folge, die deutlich länger oder kürzer als ihr Ziel ist, wird nur gemeldet, nicht blockiert. Vor dem Rendern Nein zu sagen kostet wenig. Eine falsche Zahl nach der Veröffentlichung zu erklären, kostet viel. Ein echter Lauf und eine kostenlose Vorschau gehen durch genau denselben Schritt, also bekommst du, was du in der Vorschau siehst.
Neue Quellen für eine Sendung
Am selben Tag lernten Sendungen, ihre Einträge aus mehr Quellen zu beziehen. Eine Sendung kann jetzt eine Abfrage an eine verbundene Quelle stellen oder einer Beobachtungsliste mit bis zu 50 Einträgen folgen, und beides kann sich jeden Monat, jedes Quartal oder jedes Jahr wiederholen. Der Zeitraum gehört zur Identität der Folge, also wird ein Eintrag einmal pro Quartal gefilmt, nie zweimal.
Eine Sendung kann außerdem durch einen signierten Webhook aus deinem eigenen System gestartet werden. Jeder Kanal öffentlicher Filme bekam einen RSS-Feed mit Vorschaubildern und Untertiteln, und die Seite einer Website einen Arbeitsbereich mit ihren Formaten, den Verbindungen des Kontos und dem Feed. Tabellen passen ihre Schriftgröße jetzt an die längste Zelle an, damit eine Tabelle voller Sätze im Bild bleibt.
Was sich ändert
Jede Folge speichert jetzt, was abgerufen wurde und woher jeder Wert stammt, und die Liste der letzten Folgen zeigt Formatversion, Zahl der Quellen und ob die Prüfung bestanden wurde, in vier Sprachen. Ein End-to-End-Test durchläuft die ganze Kette, von der Verbindung über die Vorschau bis zur Prüfung, die eine handgeschriebene Zahl erwischt.
Die Prüfung bleibt rein, ohne Netzwerk und ohne Datenbank, damit dieselbe Kontrolle in Vorschau, Validierung und Tests läuft. Wie du Formate und Sendungen aus einem Assistenten steuerst, zeigt die Assistenten-Seite; die Werkzeuge stehen in der Entwicklerdokumentation.
Sieh es auf deiner eigenen Website
Füge eine Seite ein und bekomme das vertonte Video, um das es in diesem Blog geht. Das erste ist kostenlos.
Weiterlesen


