Fortgeschrittene Features - dialogos-project/dialogos GitHub Wiki
Nachfolgend können Sie nachlesen, wie Sie eigene Eingabehandler, Geräteverbindungen und Funktionen erstellen und verwalten.
Geräte
Geräte sind externe Module, mit denen die Dialogsteuerung - zusätzlich zu den eingebauten Komponenten - interagiert, zum Beispiel Texteingabe und -ausgabe, etc. Durch die Flexibilität der Modulschnittstelle ist es völlig freigestellt, ob der entstehende Dialog mit gesprochener Sprache, auf Textebene oder haptisch (z.B. Touchscreen oder spezielles Bedienfeld) geführt wird. Ebenso ist die Abfrage beliebiger externer Datenquellen möglich. Dialogsteuerung und externe Geräte kommunizieren über TCP/IP-Streams miteinander, können also auch auf verteilten Systemen laufen.
Sie erstellen und bearbeiten Geräte über den Menübefehl Geräte im Menü Graph. Über die Schaltfläche "Neu" können Sie ein neues Gerät anlegen und dieses durch Doppelklick auf den Gerätenamen bearbeiten.
Jedes Gerät muss einen Namen und einen Anschluss (Connector) haben. Je nach verwendetem Connector müssen Sie verschiedene Parameter angeben. Die von CLT mitgelieferten Module unterstützen allesamt den Connector "CLT Connector (Rendezvous)". Dieser Connector benutzt eine spezielle Technologie, um im Netzwerk vollautomatisch nach verfügbaren Modulen zu suchen. Dadurch müssen Sie nicht explizit angeben, auf welchem Rechner das externe Modul läuft. Einzige Voraussetzung ist, dass der Parameter "Service Name" mit dem Namen des externen Moduls übereinstimmt.
Den Namen des Geräts können Sie frei wählen, er dient zur Identifikation innerhalb von DialogOS.
Globale Eingabehandlung
DialogOS bietet die Möglichkeit, Eingabemuster, die an allen Eingabeknoten eines (Teil-)Dialogs vorgesehen sind, kompakt in einer so genannten globalen Eingabebehandlung unterzubringen. Eine globale Eingabebehandlung besteht aus einem Eingabemuster und einem Untergraphen, der dann durchlaufen wird, wenn das Muster auf eine Eingabe passt. Dies hat den Vorteil, dass häufig verwendete Muster und ihre nachfolgenden Knoten nicht an jedem einzelnen Eingabeknoten hinzugefügt werden müssen.
Um globale Eingabemuster zu erstellen und zu verwalten, wählen Sie den Menübefehl Globale Eingabebehandlung in dem Menü Graph. In dem nun erscheinenden Fenster erhalten Sie eine Liste von bestehenden Eingabebehandlungen, also ihren Namen, dem jeweiligen Muster und Typen. Der Typ eines Eingabehandlers macht eine Aussage darüber, an welcher Stelle in einem Eingabeknoten das globale Eingabemuster in der Reihenfolge steht. Es gibt vier Typen, die aus einer Liste ausgewählt werden können: "Before local patterns", "After local patterns", "Before all others" und "After all others". Die drei Schaltflächen Hinzufügen, Entfernen und Bearbeiten bieten die Möglichkeit, neue Eingabemuster zu erstellen und bestehende zu entfernen oder zu bearbeiten.
Wählen Sie die Schaltfläche Bearbeiten, so erscheint der Untergraph, der ausgeführt wird, wenn eine Eingabe auf das Muster des Eingabehandlers gepasst hat. Dieser Teildialog verhält sich so wie der eines Untergraphen. Sie unterscheiden sich lediglich anhand der verfügbaren Endknoten.
Eigene Funktionen
Neben den in der Scriptsprache verfügbaren Hilfsfunktionen von DialogOS, gibt es auch die Möglichkeit eigene Funktionen zu schreiben, die selbst wiederum auf Hilfsfunktionen und -variablen Zugriff haben. Um eigene Funktionen anzulegen, wählen Sie im Menü Graph den Menüpunkt Funktionen aus. In dem nun erscheinenden Fenster können Sie mit der Schaltfläche Neu eigene Module anlegen, in denen Funktionen abgelegt werden. Diese Module haben nur einen formalen Aspekt und können daher beliebige Namen tragen.
Mit einem Doppelklick auf ein angelegtes Modul erscheint ein Textfenster, in dem beliebige Funktionen in der Skriptsprache eingegeben werden können. Eigene Funktionen sind auf der Dialogebene, auf der sie erstellt wurden, und in allen untergeordneten Teildialogen verfügbar. Verwendungsbeispiele sind Funktionen, die Dateitypen konvertieren oder im Dialogverlauf wiederkehrende komplexe Berechnungen.