HELIOS ImageServer enthält den Dienst Script Server, der einen Mechanismus zur Überwachung von Ordnern implementiert. Sie ziehen einfach eine Datei in einen überwachten Ordner und es wird automatisch ein Vorgang gestartet, der die Datei gemäß einem vorhandenen Skript konvertiert.
Wesentliche Vorteile des Script Servers sind:
Ereignisgesteuert anstatt permanent Ordner zu überwachen (kein „Polling“). Dies geht viel schneller und ist effizienter
Nur Ereignisse, die den Pfad des überwachten Ordners beinhalten, werden vom Script Server verarbeitet
Skripte können einfach über HELIOS Admin aufgesetzt und überwacht werden – lokal oder von einem entfernten Client
Script Server Jobkontrolle über Telnet-Port 2024
Universelle Skripte können für verschieden Aufgaben durch Setzen von Umgebungsvariablen in HELIOS Admin verwendet werden
Umgebungsvariablen für Skripte:
Ereignistyp, -benutzer, Registrierung für mehrere Dateien oder neue Verzeichnisse
Unterstützung für mehrere Dateitypen oder -erweiterungen
Geringere Datenlast bei der Registrierung von „Wildcards“
Prozesse können kontrolliert und verfolgt werden
Jeder Ordner in Ihrem HELIOS-Volume kann als überwachter Ordner genutzt werden. HELIOS liefert eine Reihe von Beispielskripten für unterschiedliche Bildformate und Anwendungszwecke mit.
Ausführliche Informationen zum Starten, Stoppen und Aktualisieren des Script-Server-Prozesses, über mitgelieferte Beispielskripte und über die Fehlerbeseitigung in Skripten finden Sie in Kapitel 7.3 „Starten, Stoppen und Aktualisieren des Script Server Prozesses“ sowie 7.4 „Mitgelieferte Beispielskripte“.
Die Konfiguration von HELIOS Script Server und seinen Skripten erfolgt in HELIOS Admin.
Wählen Sie aus dem Menü Vorgaben
in HELIOS Admin den Eintrag
Script Server Vorgaben
(Abb. 7.1).
Im Feld Script Delay
können Sie eine Zeit eingeben, die nach dem Registrieren
eines Dateiereignisses erst verstreicht, bis das Skript gestartet wird Script Timeout
legt die Zeit fest, die ein Skript maximal zur Ausführung benötigen darf. Durch Eingabe des
Wertes 0
können Sie diese Einschränkung aufheben. Im Feld
Gleichzeitige Skripte
können sie die maximale Anzahl gleichzeitig ausführbarer Skripte
festlegen und so die Serverlast begrenzen. Dieser Wert sollte die Anzahl physischer CPUs
auf keinen Fall überschreiten. Wird dieses Feld leer gelassen, ermittelt Script Server die
Anzahl der Prozessoren und legt automatisch einen angemessenen Wert fest.
In der Registerkarte Skripte
lassen sich Skript-Warteschlangen mittels verschiedener
Konfigurationen für verschiedene Aufgaben einrichten.
Sollte die Registerkarte Skripte
nach dem ersten Anmelden nicht zur erfügung
stehen, aktivieren Sie bitte im Menü Listen
den Eintrag Skripte
.
In der Registerkarte Skripte
(Abb. 7.2) werden alle dem Host
bekannten Skript-Warteschlangen aufgelistet. Der HELIOS Admin Server generiert diese Liste
automatisch aufgrund Skript bezogener Einträge in der Datei „Präferenzen“.
In der Spalte Name
steht der Name der jeweiligen Warteschlange,
während der tatsächliche Name des benutzten Skripts in der Spalte Skript
geführt wird.
Die Spalten Warten
, In Arbeit
und Fertig
informieren über
den Status einer Warteschlange. Warten
bedeutet, dass ein Skriptauftrag angenommen
aber noch nicht verarbeitet wurde. In Arbeit
zeigt an, dass das Skript gerade abläuft
und Fertig
, dass das Skript durchgelaufen ist.
Der Pfad zum überwachten Ordner („Hot folder“), also dort, wo das Skript nach zu verarbeitenden
Dateien oder Verzeichnissen „schaut“, wird unter Aktiver Ordner
angezeigt. Unter
Typ
sowie Endung
werden die für die Warteschlange definierten Dateitypen
und -endungen aufgelistet.
Die Konfiguration einer Skript-Warteschlange wird im Fenster Script
vorgenommen
(Abb. 7.3):
Markieren Sie die gewünschte Warteschlange in der Liste und wählen Sie Einstellungen
aus dem Menü Skript
.
In der Registerkarte Allgemein
(Abb. 7.3) werden allgemeine
Einstellungen für die betreffende Warteschlange vorgenommen. Über die Option Aktiv
kann
die Warteschlange für den Script Server aktiviert werden. Ist diese Option nicht aktiviert,
erscheint der Name der Warteschlange in der Liste Skripte
ausgegraut (siehe
den Eintrag „PDF_print“ in Abb. 7.2).
Geben Sie im Feld Name
einen Namen für die Warteschlange und das gewünschte Skript
im Feld Skript
an. Sie können Namen und Pfad des Skripts direkt eingeben, oder mit der
Schaltfläche Auswählen...
danach suchen.
Ist für zwei oder mehrere Warteschlangen derselbe überwachte Ordner definiert, und sind für sie dieselben Dateitypen und -endungen definiert, werden die Skripte in alphabetischer Reihenfolge ausgeführt. Durch Umbenennen der Warteschlangen können Sie aber die Reihenfolge an Ihre Bedürfnissen anpassen.
Wenn Sie auf das Symbol (siehe Pfeil in Abb. 7.3) klicken, öffnet sich die
ausgewählte Skriptdatei und kann bearbeitet werden. Sie können dazu auch aus dem Menü
Datei
den Punkt Öffnen
wählen.
Im Feld Aktiver Ordner
geben Sie bitte den Pfad zum überwachten Ordner an.
Dies können Sie entweder von Hand machen oder über die Schaltfläche Auswählen...
.
Der angegebene Pfad muss bereits bestehen. Andernfalls ignoriert Script Server diesen Eintrag!
Die Option Mit Unterordnern
ist standardmäßig abgeschaltet. Dies verhindert, dass
Script Server Unterverzeichnisse im angegebenen Pfad auch als überwachte Ordner wertet.
Wenn jedoch genau dies erwünscht ist, muss diese Option gesetzt werden.
Sie können einen Benutzernamen, unter dem das Skript ausgeführt werden soll, im Feld
Benutzer
eingeben. Bleibt das Feld frei, so wird das Skript als superuser
ausgeführt.
Unter Windows macht das Eingabefeld Benutzer
das erneute Setzen des bestehenden
Benutzerkennworts erforderlich. Dies lässt sich mit dem HELIOS Tool „authutil“ einfach
bewerkstelligen, z. B. authutil passwd -n user -p passwd
. Diese Information wird
verwendet, um das Skript unter dem angegebenen Benutzerkonto auszuführen.
Zeitvorgabe
legt die Zeit fest, die ein Skript maximal zur Ausführung benötigen
darf. Durch Eingabe des Wertes 0
können Sie diese Einschränkung aufheben. Wenn Sie in
diesem Feld einen Wert eingeben, wird die Servervorgabe überschrieben (vergl.
Abb. 7.1).
Für eine detaillierte Ausgabe aktivieren Sie die Option Ausführliche Meldungen
.
Der Wert wird als SCRIPTDEBUG
-Variable an das Skript übergeben.
Soll der überwachte Ordner nur auf bestimmte Dateitypen oder -endungen reagieren, können Sie
diese für die Warteschlange definieren. Dazu wählen Sie die Registerkarte Dateitypen
tab (Abb. 7.4).
Geben Sie den Dateityp in das linke Eingabefeld ein und klicken Sie auf Hinzufügen
.
Verfahren Sie genauso für die Dateiendungen.
Für die Spezifikation des Dateityps werden immer 4 Zeichen benötigt. Darunter können auch Leerzeichen sein, z. B. „PDF “.
Wenn Sie möchten, dass der Script Server bei Verzeichnis statt Dateiereignissen benachrichtigt
wird, Aktivieren Sie die Option Änderung bei Ordnern
. In diesem Fall würden
Dateiereignisse ignoriert und die Spalten Typ
und Endung
in der
Liste Skripte
erscheinen ausgegraut. Zusätzlich wird aus dem „Datei“ Symbol ein
„Verzeichnis“ Symbol (siehe dritter Eintrag in Abb. 7.2).
Je nach angegebenem Skript kann es erforderlich sein, zusätzliche Umgebungsvariablen für die
Warteschlange in der Registerkarte Laufzeitumgebung
(Abb. 7.5).
Geben Sie den Namen der Umgebungsvariable in das entsprechende Feld ein und weisen Sie ihr
den gewünschten Wert zu. Klicken Sie dann auf Hinzufügen
.
Umgebungsvariablen werden über eine Shell an Perl übergeben. Deshalb sind nur ASCII-Zeichen zulässig. Das liegt daran, dass einige Shells (besonders unter Windows) wie auch Perl nicht alle UTF-8 Zeichen interpretieren können.
Um einen Eintrag aus der Liste Laufzeitumgebung
zu entfernen, markieren Sie diesen
und wählen Sie dann Entfernen
aus dem Menü Bearbeiten
. Sie können den
zu entfernenden Eintrag auch doppelklicken, worauf er aus der Liste verschwindet während die
Variable und ihr Wert in den entsprechenden Feldern erscheinen.
Sie können auf diese Weise Variablen und ihre Werte bearbeiten. Danach müssen Sie die Änderungen speichern.
Eine Skript-Warteschlange wird folgendermaßen angelegt:
Gehen Sie in HELIOS Admin in die Registerkarte Skripte
und wählen Sie aus dem Menü
Datei
den Eintrag Neu
.
Wenn Sie eine neue Skript-Warteschlange anlegen möchten, die die meisten Einstellungen einer
bereits existierenden Warteschlange übernehmen soll, ist es besonders bequem eine
Warteschlange aus der Liste Skripte
zu kopieren und dann wieder einzufügen.
Es öffnet sich zuerst ein Konfigurationsfenster, in dem Sie die Einstellungen für die
neue Warteschlange vornehmen können. Anstatt einen Warteschlange zu kopieren und wieder
einzusetzen, können Sie diese auch in der Liste Skripte
markieren, mit gedrückter
Maustaste innerhalb der Liste verschieben und die Maustaste dann loslassen („Drag & Drop“).
Nachdem Sie die Einstellungen für die neue Warteschlange vorgenommen und die Änderungen bestätigt haben, erscheint die neue Warteschlange in der Liste. Schließen Sie das Konfigurationsfenster ohne die Änderungen zu sichern, wird keine neue Warteschlange angelegt.
Eine Skript-Warteschlange wird folgendermaßen entfernt:
Markieren Sie in der Liste Skripte
die Warteschlange, die Sie entfernen möchten,
und wählen Sie dann Entfernen
aus dem Menü Bearbeiten
. Sie können
stattdessen auch die Warteschlange markieren und dann auf das Symbol „Papierkorb“ klicken.
Beim Einrichten einer neuen Skript-Warteschlange kann HELIOS Admin die Konfiguration aus
dem angegebenen Skript auslesen und die entsprechenden Felder mit Vorgabewerten ausfüllen.
Dazu muss das Skript allerdings die Konfigurationsdaten bereits enthalten. Diese werden
innerhalb der SETTINGS angegeben. Des Weiteren muss das Skript für die Warteschlange mittels der Schaltfläche
Auswählen...
spezifiziert werden (vergl. Abb. 7.3). Das folgende
Beispiel zeigt – in einem Ausschnitt für die Warteschlange „For_HTML“ – die definierten
Vorgabewerte:
webpicts.pl: # # Sample configuration # my $default_settings = <<'</SETTINGS>'; # Let Perl ignore the settings block <SETTINGS> <General Enable="true" Hot_Folder="/scriptserver/For_HTML" Include_Subdirectories="false" User="" Timeout="" /> <File_Types Types="TIFF,JPEG,EPSF,8BIM,8BPS,PICT,BMP,PNGf,..CT,PDF " Suffixes="tif,jpg,eps,psd,pct,bmp,png,sct,pdf" Folder_Changes="false" /> <Environment OUTDIR="DONE" /> </SETTINGS>
Immer wenn unter Allgemein
ein Skript mittels Schaltfläche Auswählen...
angegeben wurde, steht sowohl in der Registerkarte Dateitypen
als auch
Laufzeitumgebung
die neue Schaltfläche Vorgaben aus der Skriptdatei
zur Verfügung (Abb. 7.6 und Abb. 7.7).
Dies ist auch dann der Fall, wenn ein anderes Skript über Auswählen...
angegeben wurde.
Vorgaben aus der Skriptdatei
erlaubt die Widerherstellung der Voreinstellungen, die
im ausgewählten Skript hinterlegt sind.
Der Status der Skript-Warteschlange wird im Fenster Skriptaufträge
angezeigt.
Sobald ein Skriptauftrag angenommen ist, wechselt die Anzeige in der Spalte Skript
Status
auf „Warten“. Während der Skriptausführung wechselt der Status auf „In Arbeit“. Ist das
Skript komplett ausgeführt, verschwindet „In Arbeit“ aus der Spalte Skript Status
.
Die Abrechnungsinformation (siehe Pfeil in Abb. 7.8) zeigt den Status
aller Skriptaufträge an und gibt zusätzlich die Anzahl aller abgearbeiteten Aufträge an („Fertig“).
Die Abrechnungsanzeige wird zurückgesetzt, wenn die Konfiguration geändert wird oder der „scriptsrv“-Prozess neu gestartet wird.
Die Script Server Logdatei listet Aktionen von Skripten oder dem Script Server unter der Angabe von Datum und Zeit auf (siehe Abb. 7.9).
Script Server Logdateien sind chronologisch geordnet. Jede Nacht startet um Mitternacht das (Host)-Programm „cron“ automatisch im Hintergrund, um die Logdateien der letzten sieben Tage umzubenennen. Die Datei „heute“ wird zur Datei „gestern“, „gestern“ wird zu „vor 2 Tagen“ und so weiter. Sie können dann beispielsweise die Logdatei von „vor 3 Tagen“ auswählen. Logdateien, die älter als sieben Tage sind, werden automatisch gelöscht.
Wählen Sie Script Server Logdatei
aus dem Menü Lists
und geben Sie den
gewünschten Tag an.
Wählen Sie Sichern als...
aus dem Menü File
um die gesamte Script Server
Logdatei als Textdatei zu speichern.
Sie können dann diese Information zur weiteren Verwendung in ein Textverarbeitungsprogramm einlesen. HELIOS Admin bezieht seine Informationen aus den Dateien “HELIOSDIR/var/adm/scriptsrv.log” (“heute”) bis “HELIOSDIR/var/adm/scriptsrv.6” (“vor sieben Tagen”). Weitere Informationen erhalten Sie unter 7.2.1 „Aufbau von Script Server Logdateien“.
Bei der Fehlerbehebung kann die Script Server Logdatei von Interesse für Sie sein. Sie kann aus HELIOS Admin sehr einfach eingesehen werden.
Jeder Eintrag in „HELIOSDIR/var/adm/scriptsrv.log“ (inklusive der Erweiterungen „.0“, gestern bis „.6“ vor sieben Tagen) hat den folgenden Aufbau:
date time scriptsrv[pid] or script: status
HELIOS Admin aktualisiert den Inhalt der angezeigten Script Server Logdateien
(Lists > Script Server Log Files
) sofort und ohne Verzögerung.
Der „scriptsrv“-Prozess wird automatisch beim Aufruf der Befehle „start-helios“ und „stop-helios“ gestartet bzw. gestoppt. Der Status des „scriptsrv“-Dienstes kann mit Hilfe des Werkzeugs „srvutil“ geändert werden:
Das Werkzeug „srvutil“ befindet sich im Verzeichnis „HELIOSDIR/bin“.
# srvutil stop scriptsrv
Stoppt den Dienst „scriptsrv“. Neue Ereignisse werden nicht verarbeitet. Alle bereits in der Warteschlange stehenden Ereignisse werden bis zu 30 Sekunden nach dem Auftreten des Stop-Befehls noch abgearbeitet. Allen ausgeführten Skripten wird das Signal TERM als Information über das Abschalten des Dienstes „scriptsrv“ gesendet.
# srvutil start scriptsrv
Startet den Dienst „scriptsrv“.
HELIOS ScriptAssistant (siehe 7.6 „ScriptAssistant“) vereinfacht das Einrichten von Standard Hot-Folder-Aufbauten. Es erzeugt HELIOS Script Server Skripte für die Automatisierung von HELIOS Serverabläufen über Hot Folder.
HELIOS stellt die folgenden Beispielskripte zum Einsatz der Script Server Funktionalität mit unserer Software zur Verfügung:
Ruft eine Photoshop Aktion auf (CS2)
Druckt PostScript-Dateien an einen ausgewählten Drucker.
Druckt Text-Dateien an einen ausgewählten Drucker.
Wendet den Photoshop Scharfzeichnungsfilter auf ein Bild an (CS3).
Zur Ausführung der folgenden Skripte ist es erforderlich, dass PDF HandShake auf demselben Host installiert ist:
Analysiert unf prüft PDF-Dokumente.
Reduziert die in einem PDF-Dokument enthaltenen Transparenzen.
Ersetzt OPI-Bilder und -Formen in PDF-Dokumenten. Die
Umgebungsvariable RESOLVEOPTION
erlaubt die Angabe zusätzlicher
Kommandozeilen-Parameter für „pdfresolve.pl“.
Druckt PDF-Dateien an einen ausgewählten PostScript-Drucker.
Ein erweitertes Skript für das Drucken von PDF-Dateien, welches es erlaubt, zusätzliche Parameter anzugeben.
Teilt eine PDF-Datei in Einzelseiten auf und verschiebt die
neuen PDF-Dateien in das über den Parameter OUTDIR
ausgewählte Verzeichnis.
Konvertiert eine PDF-Seite in eine EPSF-Datei und
verschiebt die neue EPSF-Datei in das über den Parameter OUTDIR
ausgewählte
Verzeichnis.
Die nachfolgenden Skripte benötigen zur Bildkonvertierung PDF HandShake:
Konvertiert alle unterstützten ImageServer-Dateitypen
nach TIFF-CIELab und verschiebt die konvertierten Dateien nach OUTDIR
.
Erzeugt eine 128 x128 Pixel PNG-Internetdatei und verschiebt
die neue PNG-Dateien in das über den Parameter OUTDIR
ausgewählte Verzeichnis.
Alle Farben (inklusive Schmuckfarben) werden nach RGB konvertiert.
Erzeugt eine 128 x128 Pixel JPEG-Internetdatei und verschiebt
die neue JPEG-Dateien in das über den Parameter OUTDIR
ausgewählte Verzeichnis.
Alle Farben (inklusive Schmuckfarben) werden nach RGB konvertiert.
Wir empfehlen Ihnen, alle Skripte in das Verzeichnis „Script Server“ im Volume „Settings“ zu kopieren. Die Vorteile des von HELIOS vorgegebenen Verzeichnisses zur Speicherung von Skripten sind:
Für den Fall, dass ein Serverwechsel durch das Kopieren des Verzeichnisses „var“ auf einen neuen Server vorgenommen wird, werden alle Skripte automatisch mit übertragen.
Das Volume „Settings“ vereinfacht die Installation neuer und benutzerdefinierter Skripte durch die Anwender. Das Skript braucht nur in das Verzeichnis „Script Server“ kopiert zu werden.
Es muss nicht der absolute Pfad zum Skript angegeben werden. Der/Die in der Konfiguration angegebene(n) Name(n) werden automatisch im Volume „Settings“ gesucht.
Alle Skripte werden automatisch auf „Ausführbar“ gesetzt, d. h. die Kennzeichnung für eine ausführbare Datei – executable flag – wird automatisch für das Skript gesetzt.
Der Serviceport des Script Servers ist 2024.
Geben Sie auf der Kommandozeile das Kommando socket localhost 2024
ein, dann
help
für eine Übersicht aller Befehle sowie quit
zum Beenden.
Der Script Server Serviceport kann standardmäßig nur von localhost aus erreicht werden. Lesen Sie dazu RemoteAccess in Kapitel 9.1.7 „Skript-Warteschlangenpräferenzen“.
Zeigt gültige sowie aktive Konfigurationszeilen an:
$ cd /usr/local/helios/ $ bin/socket localhost 2024 Welcome to the HELIOS Script Server service port showconf # Config of scriptsrv Hold time: 10 Default script timeout: 120 # Queue name:Ftype:Suffix:Hotfolder:Script:User:Environment PNG_convert:::/scriptserver/for_HTML:convert2Lab.pl:: OUTDIR=Done,SCRIPT_TIMEOUT=120,SCRIPTDEBUG=0 OK
Allgemeine Zusatzinformationen:
Hold time
(siehe HoldTime in Kapitel 9.1.6 „Script Server-Präferenzen“)
Default script timeout
(siehe RunTime in Kapitel 9.1.6 „Script Server-Präferenzen“)
Zeigt den Status der aktuellen Aufträge in der Warteschlange in der
Syntax hold
, termination
und run
an:
h |
Datei Skriptname Benutzer |
t |
Datei Skriptname Benutzer |
r |
Datei Skriptname Benutzer Status |
showq r "/demovol/Hotfolder%0/pdfresolve/PDF-native OPI.pdf" "pdfresolve" "hendrik" "Status: Running pdfresolve for file /demovol/Hotfolder%0/ pdfresolve/PDF-native OPI.pdf" h "/demovol/Hotfolder%0/pdfresolve/manual.pdf" "pdfresolve" "hendrik" h "/demovol/Hotfolder%0/pdfresolve/data_sheet.pdf" "pdfresolve" "hendrik" OK
Das Statusfeld wird durch Ausgabe der Skripte, die mit Status:...
beginnen, gefüllt.
Lesen Sie dazu auch Kapitel 7.8.2 „Status (Serviceport 2024)“.
Sie können dies zur Fehlerbeseitigung verwenden oder um zu sehen, ob das Skript fehlerfrei läuft.
showstat Total jobs done: 109 # Queue: Hold, Run, Done HTML2PDF: 3, 0, 50 macpdfflatten: 5, 1, 28 pdfresolve: 0, 1, 14 OK
HELIOS ScriptAssistant vereinfacht das Einrichten von Standard Hot-Folder-Aufbauten. Es erzeugt HELIOS Script Server Skripte für die Automatisierung von HELIOS Serverabläufen über Hot Folder. Sie brauchen lediglich die gewünschten Optionen anzugeben und ScriptAssistant erzeugt daraus ein Perl Skript, das sofort von Script Server verwendet werden kann. Weder Skripting- noch Programmierkenntnisse werden dabei vorausgesetzt.
ScriptAssistant hilft beim Erstellen eigener Skripte für Bildumwandlung, PDF- und PostScript-Drucken, für die PDF-native OPI-Bildersetzung sowie für die Automatisierung von Client-Anwendungen über HELIOS Tool Server.
Nach dem Start von HELIOS ScriptAssistant wird automatisch das Dialogfenster „Introduction“
geöffnet. Hier lässt sich die gewünschte Sprache für das Handbuch auswählen. Aus der Menüleiste
können Sie ein neues ScriptAssistant-Fenster öffnen oder ein bereits bestehende ScriptAssistant-Skript
auswählen. Der Menüpunkt „Help“ enthält einen Direktzugang zur HELIOS Kontaktwebseite, z. B. um Feedback
abzugeben. Auf jeder Dialogseite im ScriptAssistant gibt es einen Link
zu der entsprechenden Seite im Handbuch auf der HELIOS Website. Dies ist bei der detaillierteren
Beschreibung einer Option hilfreich. Sämtliche HELIOS Softwarehandbücher liegen auf dem Volume
„HELIOS Applications“ auch im PDF-Format vor.
Wenn die Konfiguration des Skripts abgeschlossen ist, enthält der Dialog „Save Script“ Anweisungen, wie sich das Skript sichern und in den Ordner „Script Server“ im Volume „Settings“ auf Ihrem HELIOS Server sichern lässt. Es empfiehlt sich die Skripte unter eindeutigen Dateinamen abzulegen. Ebenso kann es erwünscht sein, Skripte, die von ScriptAssistant erzeugt wurden, von anderen Script-Server-Skripten zu unterscheiden – entweder über den Dateinamen oder durch Abspeichern in einen Unterordner.
Um ein Skript zu aktivieren, starten Sie HELIOS Admin, wählen die registerkarte Scripts
aus und öffnen einen neuen Setup-Dialog (Datei > Neu
). Geben Sie der Skriptwarteschlange
einen Namen, wählen Sie das gewünschte Skript aus sowie den Hot Folder, dem es zugewiesen werden
soll. Vollständige Einzelheiten dazu finden Sie im Kapitel 7.1 „Script Server Vorgaben“.
Wurde einem Hot Folder bereits ein Skript zugewiesen, welches durch ein anderes Skript ersetzt
werden soll, kann es erforderlich sein, in den Skripteinstellungen in HELIOS Admin die Schaltfläche
Vorgaben aus der Skriptdatei
in den Registerkarten Dateitypen
und
Laufzeitumgebung
zu klicken, damit die neuen Einstellungen vom Skript übernommen werden.
Bestehende ScriptAssistant-Skripte können in ScriptAssistant erneut geöffnet und nach Bedarf überarbeitet werden. Es ist beispielsweise manchmal wünschenswert, die Einstellungen für einen bestehenden Hot Folder zu verändern. Oder es kann, falls mehrere Hot Folder mit nur geringfügig unterschiedlichen Einstellungen (z. B. unterschiedliche ICC-Profile) aktiviert werden sollen, ein Skript erstellt werden, welches für jeden einzelnen Hot Folder geöffnet, überarbeitet und für jeden einzelnen Hot Folder unter einem neuen Namen abgespeichert wird.
Für diejenigen, die mit Skripting in Perl vertraut sind, kann es manchmal wünschenswert sein, Skripte, die mit ScriptAssistant erstellt wurden, zu bearbeiten. Wenn beispielsweise mehrere Hot Folder mit nur geringfügig unterschiedlichen Einstellungen (z. B. unterschiedliche ICC-Profile) aktiviert werden sollen, kann eine Umgebungsvariable hinzugefügt werden, so dass Benutzer HELIOS Admin verwenden können um den Wert für jeden Hot Folder einfach angeben zu können (siehe 7.1.2 „Automatische Konfiguration“). Also wird anstelle mehrerer Skripte nur ein Hauptskript benötigt. Oder es kann notwendig sein, ein Skript manuell zu bearbeiten, da Optionen, die in SkriptAssistant nicht bereitgestellt werden, hinzuzufügen. Beachten Sie bitte, dass jede manuelle Änderung verloren geht, falls ein manuell bearbeitetes Skript in ScriptAssistant geöffnet und dann gesichert wird. Eine Warnung informiert den Benutzer in so einem Fall beim Öffnen solcher Dateien und das Fenster „Save Script“ liefert eine weitere Warnung (siehe Abb. 7.11).
Skripte, die mithilfe von ScriptAssistant erstellt wurden und die mitgelieferten Beispielskripte
lassen sich gut nutzen um die korrekte Syntax für die verschiedenen HELIOS Befehle sowie
das Skripting in Perl ansich zu lernen.
Die tatsächliche Kommandozeilenausgabe für jedes Skript lässt sich in der Script-Server-Logdatei
anschauen, vorausgesetzt, das Kästchen Ausführliche Meldungen
ist in den
Script-Server-Skripteinstellungen aktiviert.
Es werden Skripte erzeugt, die das ImageServer Programm „layout“ verwenden. „layout“ ist ein Allzwecktool zur Umwandlung von Bildern, das eine qualitativ hochwertige Ausgabe liefert. Mit über 100 Optionen zur Bildumwandlung ist es äußerst leistungsfähig aber auch komplex. ScriptAssistant vereinfacht die Benutzung indem die Umwandlungsoptionen einfach ausgewählt werden können. Dazu gehören beispielsweise die Änderung von Bilddateiformat, Farbraum, Komprimierung, Auflösung, Skalierung, Farb- und Farbkanaloptionen, Farbtiefe, ICC-Einstellungen, Metadaten u.v.m. Dabei bietet ScriptAssistant in den Dialogen lediglich die Optionen an, die mit den vorher gewählten Optionen kompatibel sind.
Es werden Skripte erzeugt, die das HELIOS Programm „layout“ verwenden. Es lassen sich Bilder mit Pfaden, ICC-Profilen oder Auflösungen versehen oder diese bearbeiten.
Es werden Skripte erzeugt, die das PDF HandShake Programm „pdfprint“ verwenden. „pdfprint“ druckt eine PDF-Datei in eine PostScript-Datei. Dabei können Optionen wie die Angabe der Druckerwarteschlange, die Seiteneinrichtung, Farb- und Schriftoptionen sowie ICC-Einstellungen angegeben werden.
Es werden Skripte erzeugt, die das Programm „pdfToolbox“ von callas verwenden. „pdfToolbox“ ist eine leistungsfähige Lösung zum Analysieren von PDF-Dateien und zum Prüfen, ob sich ein- oder ausgehende PDF-Dateien zur Produktion eignen. Rund 800 PDF-Charakteristika werden geprüft, wobei das Ergebnis in verschiedenen Dateiformaten ausgegeben werden kann.
Es werden Skripte erzeugt, die das HELIOS Programm „lpr“ verwenden. „lpr“ druckt eine PostScript- oder EPS-Datei in eine Druckerwarteschlange.
Es werden Skripte erzeugt, die das PDF HandShake Programm „pdfresolve“ verwenden. „pdfresolve“ führt PDF-native OPI-Bildersetzungen mit medienneutraler Mehrfachverwendung (z. B. ICC-Farbanpassung) in PDF-Dateien durch. Dabei können auch erweiterte Optionen für Farb- und ICC-Einstellungen, Farbtiefe, Komprimierung, PDF-Pagebox u.v.m. angegeben werden.
Es werden Skripte erzeugt, die das HELIOS Programm „toolclient“ verwenden. „toolclient“ findet,
verbindet sich mit und sendet bzw. empfängt Dateien an einen bzw. von einem Tool Server.
Tool Server vereinfacht das Automatisieren von Anwendungen und Tools auf Client-Computern.
Ein Klick auf die Schaltfläche in ScriptAssistant leitet Sie in das
Tool Server Handbuch, wo Sie Anweisungen zur Installation von HELIOS Tool Server auf einem
beliebigen Mac-, Windows- oder UNIX-Client, der als Tool Server fungieren soll erhalten.
Weiterhin erfahren Sie, wie Sie das gewünschte Tool-Server-Skript durch Kopieren in den Ordner
„Tool Server“ (oder mehrere Skripte) aktivieren.
ScriptAssistant: Mac OS X 10.4 oder neuer, Windows XP oder neuer
HELIOS UB2 Serverinstallation (auf CD025) oder neuer
ImageServer zur Bildumwandlung
PDF Handshake zur Umwandlung und zum Drucken von PDF-Dateien
EtherShare, PCShare oder Base für Windows zum Drucken von PostScript-Dateien
ImageServer und PDF Handshake für PDF-natives OPI
ImageServer und/oder PDF Handshake für Tool Server (je nach verwendetem Tool)
Verbinden Sie das Netzlaufwerk „HELIOS_APPS“ (Mac: Mounten Sie das Volume „HELIOS Applications“). Im Ordner „OPI Tools“ finden Sie schließlich den Ordner „HELIOS ScriptAssistant“.
Mac only:
Mounten Sie „HELIOS ScriptAssistant.dmg“ und kopieren Sie das Programm auf Ihre lokale Festplatte.
Windows only:
Entpacken Sie das Archiv „HELIOS ScriptAssistant.zip“ auf Ihre lokale Festplatte. Das Programm „HELIOS ScriptAssistant.exe“ benötigt das Verzeichnis „HELIOS ScriptAssistant Libs“. Verschieben Sie nicht “HELIOS ScriptAssistant.exe” allein.
Um HELIOS ScriptAssistant zu deinstallieren, löschen Sie „HELIOS ScriptAssistant.app“ (Mac) bzw. das Verzeichnis „HELIOS ScriptAssistant“ (Windows).
Der Service Controller startet den Script Server automatisch. Bitte prüfen Sie mithilfe des Aufrufs „srvutil status“, dass der Dienst „scriptsrv“ läuft und dass die Systemmeldungen keine Fehlermeldungen enthalten.
Die Registrierungen für die unterschiedlichen Skripte werden über Port 2024 angezeigt.
Jedesmal wenn ein kundenspezifisches Skript aufgerufen wird, enthält die Datei „scriptsrv.log“ Informationen ähnlich der folgenden:
29.07.2005 18:00:07 scriptsrv [1747]: Create process myscript.pl[1854] job added by tim ... 29.07.2005 18:00:17 scriptsrv [1747]: Process myscript.pl[1854] done
Jede normale Ausgabe sowie jede Fehlermeldung des Skripts wird automatisch in die Datei „scriptsrv.log“ umgeleitet. Vor jeder Zeile stehen Datum und Uhrzeit sowie der Name des Skripts.
Skripte werden mit dem Dateinamen als erstes Argument aufgerufen. Beispielsweise bekommt
ein Host-Shellskript den Dateinamen in $1
, ein Perlskript in $ARGV[0]
.
Folgende Parameter werden über Umgebungsvariablen bereitgestellt:
Ausführliche Meldungen („verbose“) werden geschrieben.
Wird vom Server gesetzt. Mögliche Ereignisse sind close
, move
,
dircreate
und dirmove
.
Name des Benutzers, der das Ereignis ausgelöst hat.
Das Skript wird an die Seriennummer einer ImageServer Installation gebunden. Dadurch lässt sich beispielsweise verhindern, dass ein Skript an andere weitergegeben wird.
Absoluter Pfad zum Hot Folder.
Name des Skripts.
Falls diese Variable gesetzt wird, überschreibt sie die Präferenz RunTime (siehe Kapitel 9.1.6 „Script Server-Präferenzen“).
Diese Variable, welche den alten Namen enthält, wird vom Server gesetzt und kann
in dem Skript ausgewertet werden sofern das Ereignis move
oder
dirmove
ist.
Zusätzliche benutzerdefinierte Parameter können im Fenster Environment
(Abb. 7.5) angegeben werden. Die kundenspezifische Umgebung
ist als Umgebungsvariable im Skript verfügbar. Damit ist es möglich, ein Skript zu
entwickeln und es für verschiedene überwachte Ordner zu nutzen, indem unterschiedliche
Parameter genutzt werden (z. B. Drucker, ICC-Profile, Farbräume).
Skriptausgaben, die mit Status:
beginnen, werden nicht in „scriptsrv.log“
geschrieben, sondern nach Aufruf des Kommandos showq auf Service-Port 2024 angezeigt.
Hintergrund: Benötigt die Verarbeitung durch ein Skript sehr lange Zeit, bekommt der
Benutzer – der den Prozess über den Service-Port beobachtet – über das Skript mitgeteilt,
was tatsächlich gerade vom Skript ausgeführt wird.
Es ist sinnvoll, die Skripte zunächst manuell in einer Host-Terminalsitzung zu testen um zu überprüfen, ob sie funktionieren. Der Script Server ruft alle Skripte so auf, dass das aktuelle Verzeichnis auf das HELIOS Produktverzeichnis gesetzt ist. Daher ist es notwendig, dass Sie zunächst in das Verzeichnis HELIOSDIR wechseln, bevor Sie ein Skript manuell aufrufen.
Manueller Aufruf eines nicht automatisierten Skripts, z. B. das Skript „printps.pl“, unter Verwendung einer Bash- oder Bourne-Shell:
# cd /usr/local/helios # chmod +x var/settings/Script Server/printps.pl # export HELIOSDIR="/usr/local/helios" # export PRINTER="lw" # export SCRIPTDEBUG=1 # export PRINT_TIMEOUT=60 # export SCRIPT_EVENT=close # var/settings/Script Server/printps.pl "/data/demovol/TestFolder/test.ps"
Wenn dieser Aufruf Fehlermeldungen hervorruft oder das Skript sich nicht wie erwartet verhält, dann muss dieses Problem gelöst werden, bevor das Skript in dem automatisierten ereignisgesteuerten Script Server eingesetzt wird.
Der Aufruf von nicht automatisierten Skripten ermöglicht die Fehlerbeseitigung unter Verwendung des Perl-Debuggers oder eines Host-Debuggers für C/C++ Programme. Die einfache Fehlerbeseitigung mit Hilfe von ausgegebenen Meldungen innerhalb der automatischen Script Server Umgebung kann ebenfalls eingesetzt werden. Die gesamte Ausgabe des Skripts wird später automatisch in die Datei „scriptsrv.log“ umgeleitet.
Jedes HELIOS Perl-Beispiel enthält den folgenden „Header“ (Pseudokommentar):
#!var/run/runperl -w
Das heißt, dass das Skript einfach durch Aufruf ausgeführt wird. Es muss immer aus dem HELIOS Verzeichnis aufgerufen werden (z. B. „/usr/local/helios“), da sonst der Pfad „var/run/runperl“ nicht gefunden wird. Die Datei „runperl“ ist ein symbolischer Link auf Ihren Perl-Interpreter (Perl runtime), z. B. „/usr/bin/perl“ auf Mac-OS-X- oder Linux-Systemen.
Bei jedem Aufruf des Befehls „start-helios“ wird der „runperl“-Link automatisch erzeugt. Dies kann hilfreich sein, wenn Perl zu einem späteren Zeitpunkt installiert wird (in den Skripten sind keine Änderungen erforderlich).
Eine Alternative zum Testen Ihrer Skripte in einem anderen Verzeichnis ist die Erzeugung des „runperl“-Links in Ihrem Skript-Verzeichnis.
# cd /home/myhome # mkdir -p var/run # ln -s /usr/bin/perl var/run/runperl
Um die „holdQueue“ und „runQueue“ sowie die Konfiguration des laufenden „scriptsrv“-Daemon zu inspizieren, verbinden Sie sich mit dem Serviceport 2024. Sie können „showq“ verwenden um die Warteschlange und „showconf“ um die Konfiguration zu inspizieren.
Wird die Konfigurationszeile nicht angezeigt, kann das an einem Fehler in der Syntax liegen. Detaillierte Fehlermeldungen werden in die Systemmeldungen geschrieben.
Treffen mehrere Konfigurationen auf einen Auftrag zu, so wird die erste Konfiguration in alphabetischer Reihenfolge verwendet.
Um die Skript-Variable SCRIPTDEBUG
zu aktivieren, ist es erforderlich den
Wert auf 1
zu setzen. Sie können auch die globale Präferenz
scriptdebug
setzen:
# prefvalue -k Programs/scriptsrv/scriptdebug -t int 1
Löschen Sie die Präferenz scriptdebug
über:
# prefvalue -k Programs/scriptsrv/scriptdebug -d
Eine Beschreibung des Programms „prefvalue“ finden Sie im HELIOS Base Handbuch.
Die lokale Präferenz scriptdebug
aktiviert Debugging für alle Skripte. Wir raten
deshalb davon ab, die Debug-Präferenz auf einem Produktionsserver zu verwenden, da dies eine
große Systemlast auf dem Server zur Folge haben kann und den Server in erheblichem Maße bremsen kann!
Sie sollten die registrierten Typen/Namenserweiterungen sowie Verzeichnisse auf jene beschränken, die tatsächlich von Ihrem Skript bearbeitet werden, so dass unnötige Kommunikation und Verarbeitung vermieden wird.
Wenn Sie Skripte für die Layouterzeugung (mit dem normalen oder dem Konvertierungsmodus) verwenden, dann sollten Sie die automatische Layouterzeugung für den überwachten Ordner oder das komplette Volume, in dem sich der überwachte Ordner befindet, deaktivieren.