Modulverwaltung
Ein Modul ist eine konfigurierte Instanz der Anwendung. Ihm gehört die Leseoperation, mit eigenen Einstellungen und Ergebnissen:
hdvisionsystems/lumiscan-text-reader/<module-id>/read-text/...
Module können angelegt und entfernt werden, während die Anwendung läuft. Eine frische Installation
stellt ein Modul bereit, mit dem Namen module-1.
|
Auf ctrlX OS deckt eine Lizenz zehn Module ab. Das elfte Modul belegt eine zweite Lizenz desselben
Schlüssels, und ein Modul wird mit Status |
Der Verwaltungsknoten liegt außerhalb der Module:
hdvisionsystems/lumiscan-text-reader/system/
Knoten
| Knoten | Typ | Beschreibung |
|---|---|---|
|
string array |
Die Module, die derzeit existieren |
|
Methode |
Legt ein Modul und seinen Knoten-Teilbaum an |
|
string |
Name des anzulegenden Moduls. Nur Kleinbuchstaben, Ziffern, |
|
Methode |
Entfernt ein Modul und seinen Knoten-Teilbaum |
|
string |
Name des zu entfernenden Moduls |
|
Methode |
Speichert die Modulliste dauerhaft, damit beim nächsten Start dieselben Module wieder angelegt werden |
|
Methode |
Speichert die Einstellungen eines Moduls dauerhaft |
|
string |
Name des Moduls, dessen Einstellungen gespeichert werden sollen |
Jede Methode hat außerdem output/status-code und output/status-text. Wie sich diese Module von
denen der anderen LumiScan-Apps unterscheiden, ist in
Einstellungen, Module und Neustart
beschrieben.
Ein Modul anlegen
-
Setzen Sie
system/create-module/input/module-idauf den neuen Namen -
Schreiben Sie auf
system/create-module/execute -
Prüfen Sie, ob
system/create-module/output/status-code1ist
Das Modul ist sofort aktiv, mit Standardeinstellungen, und erscheint in system/modules. Es ist
nicht dauerhaft, bis die Modulliste gespeichert wird.
Ein Modul zu entfernen ist das Spiegelbild, über remove-module. Ein Modul wird mit -1 (belegt)
abgelehnt, solange eine seiner eigenen Operationen läuft, statt dass seine Knoten mitten in der
Ausführung zerstört werden.
|
Ein jetzt angelegtes Modul ist ein neues Modul: Es beginnt mit den Standard-Eingabewerten, auch wenn
ein Modul dieses Namens vorher existierte und seine Einstellungen gespeichert wurden. Diese
Einstellungen bleiben auf dem Datenträger, bis das Entfernen dauerhaft gemacht wird -
|
Speichern
Zwei Dinge werden getrennt gespeichert, und beide müssen gespeichert werden, um einen Neustart zu überstehen:
-
die Modulliste -
save-current-modules, damit dieselben Module wieder angelegt werden; -
die Einstellungen jedes Moduls -
save-module-inputs, einmal pro Modul.
So speichern Sie die Einstellungen eines Moduls:
-
Setzen Sie
system/save-module-inputs/input/module-id -
Schreiben Sie auf
system/save-module-inputs/execute -
Prüfen Sie, ob
system/save-module-inputs/output/status-code1ist
Jede Eingabe dieses Moduls wird in das Konfigurationsverzeichnis der Anwendung geschrieben und beim nächsten Start wiederhergestellt. Ergebnisse werden nicht gespeichert - sie werden vom nächsten Durchlauf erzeugt.
Eine Einstellung, deren Knoten nach einem Software-Update nicht mehr existiert, wird mit einem Protokolleintrag übersprungen; eine ältere Konfiguration verhindert also nie den Start der Anwendung.
Warum die Adresse auch bei einem Modul ein Modul enthält
Die Ebene <module-id> ist immer vorhanden, damit sich die Adressen nicht ändern, wenn ein zweites
Modul hinzukommt: Ein heute gegen module-1 geschriebenes Programm funktioniert weiter. Das entspricht
auch der Pfadkonvention, die die anderen LumiScan-Anwendungen dokumentieren.
Was Module gemeinsam haben
Module sind in allem unabhängig außer bei den Sprachmodellen: Jedes hat seine eigene Kamera, seine
eigenen Leseeinstellungen, seine eigene Erkennungs-Engine und seine eigenen Ergebnisse. Die Modelle
gelten anwendungsweit - system/tessdata-dir nennt ein Upload-Verzeichnis für die ganze Anwendung,
und jedes Modul liest aus demselben Satz, jedes mit seinem eigenen input/language. Siehe
Sprachmodelle.