Module sind die technischen Bausteine des Workspace. Jedes Modul legt fest, welchen Ressourcentyp es akzeptiert und welchen Typ es erzeugt.
Logische Ressourcen
Bethemesh unterscheidet unter anderem zwischen Text und tabellarischen Daten. Zukünftige Module können weitere Ressourcentypen wie Bilder, Dokumente, Audio oder Video einführen.
Automatische Kompatibilität
Nach jedem Schritt kennt die Engine den verfügbaren Ausgabetyp. Dadurch kann sie nur Module vorschlagen, die mit der nächsten Position in der Pipeline kompatibel sind.
Warum ist ein Modul nicht verfügbar?
Möglicherweise benötigt es einen anderen Ressourcentyp, einen vorherigen Quellschritt oder ein bestimmtes Spaltenformat.
Gut zu wissen: Die öffentlichen Kategorien der Website helfen dabei, Werkzeuge zu finden. Die Ressourcen des Workspace dienen dagegen zur Prüfung der technischen Kompatibilität. Beide Klassifikationen sind bewusst voneinander getrennt.
Die Typenkette lesen
Ein Textschritt kann eine Tabelle nicht direkt annehmen, solange keine ausdrückliche Konvertierung Text erzeugt hat – und umgekehrt. Sichtbare Übergänge verhindern implizite Konvertierungen und mehrdeutige Ergebnisse. Wenn ein Modul fehlt, prüfe zuerst die vom vorherigen Schritt deklarierte Ausgabe.
Beispiel einer typisierten Kette
Eine CSV-Quelle erzeugt eine tabellarische Ressource. Ein Modul zur Spaltenauswahl akzeptiert diese Tabelle und erzeugt wiederum eine Tabelle, die anschließend von einem CSV-Export verarbeitet werden kann. Ein Markdown-Formatter erwartet Text und sollte deshalb nicht verfügbar sein, bevor eine Konvertierung von Tabelle zu Text hinzugefügt wurde.
Jedes Modul sollte Eingabe, Ausgabe und Voraussetzungen deklarieren, etwa das Vorhandensein einer Spalte, eine bestimmte Zeichenkodierung oder eine Mindeststruktur. Eine explizite Konvertierung ist einer stillen Anpassung vorzuziehen, weil sie im Rezept sichtbar und überprüfbar bleibt.
Wenn ein Modul fehlt, prüfe in dieser Reihenfolge: vorherige Ausgabe, erforderliche Einstellungen und tatsächliche Verfügbarkeit der Implementierung. Eine zufällig hinzugefügte Konvertierung kann die Kette zwar ausführbar machen, trotzdem aber ein fachlich falsches Ergebnis erzeugen.