===== Konfiguration des Monitor-Gateways ===== Im Gateway-Objekt des Monitor-Gateways wird mit der Einstellung **Port-Nummer** entschieden, ob der Monitor Verzeichnisse oder eine Netzwerkschnittstelle überwachen soll. Ist der Wert **Kein Netzwerk** eingestellt, werden Verzeichnisse überwacht, ist dagegen eine Port-Nummer ausgewählt, wird der auf dieser Schnittstelld eintreffende Datenstrom überwacht. Bei der Konfiguration als Verzeichnis-Monitor sind gegenüber der Konfiguration normaler Gateways einige Unterschiede zu beachten. Das auffälligste ist, daß der Verzeichnis-Monitor keine Angabe zum **Port** benötigt, weil er selbst auf keiner Netzwerkverbindung hört, sondern nur seinerseits Verbindungen zu anderen Druckern oder Gateways aufbaut. In der Anzeige des Drucker-/Gateway-Services erscheint deshalb in der Spalte **Port** ein Fragezeichen. Desweiteren benötigt der Verzeichnis-Monitor auch keine **Anpassung**, weil er an den von ihm transportierten Dateien keine Änderungen vornimmt, und deshalb keine Ressourcen braucht. Der Verzeichnis-Monitor macht keine Annahmen darüber, welcher Art die Dateien sind, die er aus den Verzeichnissen ausliest! \\ \\ {{print2forms:service:monitor.png}} \\ \\ Im Feld **Protokollierung** wird der Umfang der in die Ablaufverfolgung einzutragenden Meldungen bestimmt. Es werden dabei vier Stufen unterschieden. \\ \\ |Nur Fehler |Nur Fehlermeldungen, die beim Betrieb des Gateways auftreten, werden in die Ablaufverfolgung eingetragen. Beim Auftreten von Fehlern ist das erzeugte Druckbild der weitergeleiteten Datei in der Regel nicht wie erwartet.| |Fehler und Warnungen |Neben den Fehlermeldungen werden auch Warnungen mit in die Ablaufverfolgung aufgenommen. Warnungen beziehen sich auf Situationen oder Ereignisse, die die Funktion des Gateways nicht beeinflussen, aber möglicherweise auf Probleme mit der Konfiguration hinweisen.| |Fehlersuche |Diese Stufe sollte nur aktiviert werden, wenn Sie von einem Supportmitarbeiter ausdrücklich dazu aufgefordert werden. Neben allen Meldungen der vorherigen Stufe werden noch interne, technische Statusmeldungen in die Ablaufverfolgung eingetragen, die es dem Supportmitarbeiter ermöglichen, eine vermutete Fehlersituation im Gateway zu beurteilen.| |Fehlersuche\\ RegEx |Diese Stufe ist für das Monitor-Gateway ohne Bedeutung.| \\ Ist unter **Befehlszeile** ein Kommando eingetragen, wird dieses Kommando für jede in den überwachten Verzeichnissen vorgefundene Datei einmal ausgeführt. Das Kommando startet in der Regel ein Skript oder ein Programm, welches parallel zum Verzeichnis-Monitor als eigener Prozess ausgeführt wird. Das aufgerufene Skript oder Programm muß die Datei nach vollendeter Arbeit selbst löschen. Wegen der Parallelbearbeitung durch einen externen Prozess wird die vorgefundene Datei erst in ein Arbeitsverzeichnis verschoben, um so irrtümliche Prozessaufrufe durch weitere Verzeichniszugriffe des externen Prozesses zu vermeiden. Der Verzeichnis-Monitor legt daher in jedem überwachten Verzeichnis ein weiteres Unterverzeichnis mit dem Namen **Work** an. Der externe Prozess kann daher die Datei nicht nur lesen, sondern auch abändern und muss sie nach getaner Arbeit löschen. In diesem Modus können zum Beispiel nicht unterstützte Dateitypen (z.B. PDF) mit Hilfe der dazugehörenden Applikationen (z.B. Adobe Reader) direkt auf den Drucker oder das Gateway gedruckt werden. \\ \\ Neben den für nomale Gateways definierten Kommandozeilenparametern existieren für den Verzeichnis-Monitor noch zwei zusätzliche Parameter: \\ \\ | %8 \\ (sp)(sp)(sp)(sp)(sp)(sp) |Port-Nummer des Druckers oder Gateways, der/das dieser Warteschlange zugeordnet ist. Diese Port-Nummer muss als Ziel für die TCP/IP-Verbindung genommen werden, wenn ein externes Skript oder Programm seine Ausgaben weiterleiten möchte. Wird das Spoolverzeichnis selbst überwacht, hat dieser Parameter immer den Wert 0.| | %9 |Name des überwachten Verzeichnisses, falls es sich um ein Verzeichnis handelt, das einem Drucker oder Gateway zugeordnet ist (alos den Namen des Drucker oder Gateways). Im Falle, dass das Spoolverzeichnis selbst überwacht wird, ist dieser Parameter leer.| \\ \\ Für die Fälle, in denen mit Hilfe eines Skriptes die vorgefundene Datei bearbeitet werden muß, liegt im Skript-Verzeichnis der (p2f)-Installation ein kleines Hilfsprogramm mit dem Namen **Sender.exe**, welches eine Datei via TCP/IP an einen Drucker oder ein Gateway überträgt. Die Verwendung dieses Hilfsprogramms erspart die Programmierung einer TCP/IP-Verbindung zur Weitergabe der Druckdaten. In dem unten abgebildeten Beispiel-Perl-Skript **relais.pl** sind die Parameter des Programms zu erkennen. Auf Wunsch kann, wie gezeigt, sogar ein Journal mit einer Liste der übertragenen Dateien geführt werden. Damit das Skript weiss, an welchen Drucker oder welches Gateway die Druckdaten übertragen werden sollen, wurde der Skript-Parameter **%8** eingeführt, der die Port-Nummer des Druckers oder Gateways enthält (nur im Fall, dass das Verzeichnis eines Druckers oder Gateways überwacht wird). \\ \\ #!/usr/bin/perl # Command: perl relais.pl "%1" "%2" "%4" %8 # Call: perl relais.pl Scriptpath Filename Port #--------------------------------------------------------------------# my $Script = $ARGV [0]; my $Spool = $ARGV [1]; my $Name = $ARGV [2]; my $Port = $ARGV [3]; my $Res = 0; if ($Script eq "" || $Spool eq "" || $Name eq "" || $Port eq "") { $Res = -1; } else { my $Cmd = "\"$Script/Sender.exe\"" . "/Target=\"10.1.17.7\" " . "/Port=$Port " . "/ErrorLog=\"$Script\\Relais.txt\" " . "/LogLevel=3 " . "\"$Spool\\$Name\""; $Res = system ($Cmd) / 256; # send file to Drucker or gateway # unlink ("$Spool\\$Name"); if (! ($Spool =~ /.*Work/)) # file received via network # { $Name =~ s/\.PCL/\.CTL/i; # replace file extension # unlink ("$Spool\\$Name"); # remove control file # } } exit $Res; #--------------------------------------------------------------------# \\ Der Aufruf des Skriptes ist im obigen Bildschirmfoto der Konfiguration des Verzeichnis-Monitors zu sehen. Im Skript ist natürlich die IP-Adresse an die eigenen Gegebenheiten anzupassen! Im Falle der Überwachung einer Netzwerkschnittstelle öffnet der Monitor unter der gewünschten Port-Nummer einen Empfangskanal und hört auf eingehende Daten. Dabei wird davon ausgegangen, dass die empfangenen Daten zu einem %%PCL%%-Datenstrom gehören. Die Daten werden als %%PCL%%-Datei im Spool-Verzeichnis abgelegt. Eine ebenfalls dort abgelegte Indexdatei enthält die Textbestandteile der %%PCL%%-Datei und gestattet somit eine einfache Auswertung der empfangenen Daten durch ein externes Skript. In dieser Betriebsart muss ein Skript natürlich nicht nur die %%PCL%%-Datei sondern auch die dazugehörige Index-Datei löschen. Im oben abgebildeten Skript ist dies bereits berücksichtigt. \\ \\ === Hinweise === * Für die Reihenfolge der Ausdrucke beim Verzeichnis-Monitor gilt folgendes: die Dateien werden in der Reihenfolge erkannt, in der sie im Verzeichnis angelegt werden. Wenn ein Programm die Dateien erzeugt, ist die Druckreihenfolge exakt die der Dateierzeugung. Wenn mehrere Programme auf das Verzeichnis schreibend zugreifen, werden die Dateien zwar in der richtigen Reihenfolge aber miteinander vermischt ausgegeben. Wird das Verzeichnis per 'Drag and Drop' gefüllt, ist die Reihenfolge die Erzeugungsreihenfolge innerhalb des Ausgangsverzeichnisses. * Damit die Ausgabereihenfolge der Dateien nicht durcheinander kommt, wartet der Verzeichnis-Monitor darauf, daß eine vorgefundene Datei fertig geschrieben wird. Das kann bedeuten, daß Druckpausen entstehen, wenn das die Druckdatei erzeugende Programm sehr lange braucht. Auch eventuell bereits vorhandene andere Dateien werden so lange nicht bearbeitet. * Weil für die Überwachung die Verzeichnisse die gleichen Namen wie die Drucker oder Gateways haben müssen, dürfen in den Namen der Drucker oder Gateways natürlich keine Zeichen vorkommen, die in Windows-Datei- oder -Verzeichnisnamen nicht erlaubt sind, also die Zeichen %%'/'%%, '\', '<', '>', '|', ':', '?', %%'*'%% und '"'. Zudem muß berücksichtigt werden, daß Windows nicht zwischen Groß- und Kleinschreibung unterscheidet. * Außerdem sind beim Einsatz des Verzeichnis-Monitors die folgenden an sich in (p2f) zugelassenen Bezeichnungen nicht als Drucker- oder Gateway-Name erlaubt, weil sie vom Windows-System nicht unterstützt werden: 'CON', 'PRN', 'AUX', 'CLOCK$', 'NUL', 'COM1', 'COM2', 'COM3', 'COM4', 'COM5', 'COM6', 'COM7', 'COM8', 'COM9', 'LPT1', 'LPT2', 'LPT3', 'LPT4', 'LPT5', 'LPT6', 'LPT7', 'LPT8' und 'LPT9', sowie alle Namen, die mit diesen Bezeichnungen gefolgt von einem Punkt anfangen. * Die Angaben in den Feldern **Gateway-Speicher**, **Druckdatenstrom** und **Auflösung** werden fest vorbesetzt, und sind auch im Monitor-Gateway-Objekt im Administrationsprogramm von (p2f) nicht änderbar. \\ \\