JOB SCHEDULER. Managed-Jobs. Technische Dokumentation März Job-Automation

Größe: px
Ab Seite anzeigen:

Download "JOB SCHEDULER. Managed-Jobs. Technische Dokumentation März 2009. Job-Automation"

Transkript

1 Job-Automation Managed-Jobs JOB SCHEDULER Technische Dokumentation März 2009 Software- und Organisations-Service GmbH Giesebrechtstr. 15 D Berlin Telefon (030) Telefax (030)

2 Job Scheduler Managed Jobs - Technische Dokumentation 2 Impressum Software- und Organisations-Service GmbH Giesebrechtstr. 15 D Berlin Telefon (030) Telefax (030) Mail Web Letzte Aktualisierung: März 2009

3 Job Scheduler Managed Jobs - Technische Dokumentation 3 Inhaltsverzeichnis 1 Einleitung / Voraussetzungen Versionen der Managed Jobs ab Release ab Release Konzept der Managed Jobs Managed Job Starter Konfiguration eines einzelnen Job Schedulers Konfiguration mehrerer Job Scheduler Datenbank Konfiguration Tabellen Tabelleninhalt nach Installation Workflow-Verwaltung Beispiel eines Shell-Skript ausführenden Jobs Explorer Objekte des Explorers und deren Symbole Status der Objekte und deren Symbole Navigation im Explorer Funktionen der Kontextmenüs Umbenennen Neu anlegen Importieren durch HTTP-Upload-Dialog Kopieren Verschieben Exportieren durch HTTP-Download-Dialog Löschen Eigenschaften Aktivieren Deaktivieren Weitere Funktionen unterhalb eines Job Scheduler Hot-Folders Rechte Editor Importieren und Exportieren mittels der Zwischenablage (XML-Ansicht) Job-/ Auftrags-Typen setzen Objekt-Konfiguration bearbeiten Run Time Editor Parameter-Verwaltung am Auftrag oder Job Skripte und Monitor-Skripte am Job Commands Editor Job Chain Editor Buttons Vordefinierte Objekte Wie richte ich ein Objekt ein? Sperre Prozess-Klasse Job Job-Kette Auftrag Schedule Job-/ Auftrags-Typen Datenbankverbindungen Einstellungen

4 Job Scheduler Managed Jobs - Technische Dokumentation Job Scheduler Netzwerk Parameter Bereiche für Parameter-Verwaltung einrichten Schema und Sektionen für Parameter-Verwaltung einrichten Job-Typen Managed Database Job Managed Database Report Job Managed Custom Report Job Managed Executable Job Auftrags- oder Standard-Job Anhang A: Beispiel für das Einrichten einer Job-Kette mit in PHP realisierten Jobs Anhang B: Beispiele für den Einsatz von Managed Jobs B.1 Einfacher Datenbankauftrag B.2 Individuelle Job-Kette mit Standard-Jobs B.3 Individuelle Job-Kette mit individuellen Jobs Anhang C: Beispiele für run_time Elemente Glossar

5 Einleitung / Voraussetzungen 5 1 Einleitung / Voraussetzungen Sollten Sie auftragsgesteuerte Job-Ketten verarbeiten wollen oder mehrere Job Scheduler auf unterschiedlichen Servern betreiben, dann wird die Verwendung von Managed Jobs empfohlen. Diese Dokumentation beschreibt das Konzept der Managed Jobs und deren Web-Oberfläche zur Verwaltung der Datenbanktabellen. Kenntnisse des Inhalts der Referenzdokumentation (Handbuch) des Job Schedulers werden empfohlen. Managed Jobs werden nicht über die XML-Konfigurationsdatei./config/scheduler.xml des Job Schedulers konfiguriert, sondern können über eine Web-Oberfläche verwaltet werden. Alle für die Ausführung notwendigen Informationen werden in einer Datenbank gehalten und können zur Laufzeit des Job Schedulers über die Web-Oberfläche aktualisiert werden. Sie installieren Managed Jobs inkl. einer Web-Oberfläche, in dem Sie während des Setups des Job Scheduler die Pakete Managed Jobs und Web Interface auswählen. Sollten Sie die Managed Jobs und Web Interface Pakete nachträglich installieren wollen, dann wiederholen Sie das Job Scheduler Installationsverfahren inklusive Auswahl obiger Pakete. Näheres hierzu entnehmen Sie bitte der Dokumentation zur Installation und Konfiguration. Die Web-Oberfläche ist mit PHP (ab Version 4.3) realisiert. Die volle Funktionalität wird aber erst ab Version 5.0 oder höher erreicht. Hierzu wird ein PHP unterstützender Web Server benötigt. Sie benötigen ein Datenbanksystem für den Betrieb von Managed Jobs. Folgende DBMS werden unterstützt: MySQL 4.x, 5.x PostgreSQL 8.x Firebird 1.5 Oracle 8.1.7, 9.2, 10g SQL Server 2000, 2005 IBM DB2 8.x Sybase 15.x

6 Versionen der Managed Jobs 6 2 Versionen der Managed Jobs 2.1 ab Release Ab Job Scheduler Release sind die Managed Jobs mit neuer Oberfläche, Datenmodell und Java-Klasse implementiert. Sollten Sie die Managed Jobs aus einem älteren Release vor bereits einsetzen, dann ist folgendes zu beachten, andernfalls können Sie den Abschnitt überspringen. Sollten Sie den Job Scheduler mit einem Release ab ohne dem Paket Managed Jobs aktualisiert haben, dann werden Sie dennoch eine aktualisierte Bibliothek./lib/sos_scheduler.jar erhalten haben. Um mit ihr die Managed Jobs in der Version vor dem Release weiter nutzen zu können, müssen Sie./config/scheduler_managed.xml wie folgt verändern: <?xml version="1.0" encoding="iso "?> <spooler> <config> <script language = "java" java_class = "sos.scheduler.managed.jobschedulermanagedstarter_1"/> <jobs> <job name = "scheduler_managed_starter" title = "start managed jobs"> <description> <include file = "jobs/jobschedulermanagedstarter.xml"/> </description> <script language = "java" process_class = "single" </job> </jobs> </config> </spooler> java_class Beachten Sie bitte, dass der Klassen-Name jetzt mit "_1" endet. = "sos.scheduler.managed.jobschedulermanagedstarter_1"/> Sollten Sie den Job Scheduler mit dem Release ab mit dem Paket Managed Jobs aktualisiert haben, werden Sie aufgrund des veränderten Datenmodells ihre Jobs, Aufträge und Job-Ketten vermissen. Für die Migration ihrer Daten in das neue Datenmodell steht Ihnen das Shell-Skript./bin/ManagedConverter.(sh cmd) zur Verfügung, dass wie folgt aufgrufen wird: Beispiel: Aufruf von ManagedConverter.(sh cmd) Parameter: -target= Pfad der factory.ini, in der die Datenbankverbindung des "neuen" Datenmodells enthalten ist -source= Pfad der factory.ini, in der die Datenbankverbindung des "alten" Datenmodells enthalten ist (braucht nur angegeben werden, wenn sich der Wert von -target unterscheidet) -v = Log-Level (optional) [0=info] [1=debug1]...[9=debug9] -log = Protokolldatei (optional) -folder= Name eines Ordners, der unterhalb von /Home in der Managed Jobs Oberfläche für die importierten Objekte angelegt wird (Voreinstellung: Import)(optional) Unix-Aufruf: shell>bin/managedconverter.sh -target=config/factory.ini Windows-Aufruf: shell>bin\managedconverter.cmd -target=config\factory.ini

7 Versionen der Managed Jobs 7 Anschließend können Sie die importierten Objekte in der Oberfläche bequem verschieben (Seite 21). 2.2 ab Release Ab Job Scheduler Release sind die Managed Jobs mit erweiterter Oberfläche, Datenmodell und neuer Java-Klasse implementiert. Sollten Sie die Managed Jobs aus einem älteren Release vor bereits einsetzen, dann ist zuvor der vorangegangene Abschnitt (Seite 6) zu beachten. Sollten Sie den Job Scheduler mit einem Release ab ohne dem Paket Managed Jobs aktualisiert haben, dann ändert sich für Sie nichts. Sollten Sie den Job Scheduler mit einem Release ab mit dem Paket Managed Jobs aktualisiert haben, dann kann die Managed Jobs Oberfläche ohne Migration nicht weiter genutzt werden. Es werden zumindest keine Objekte der Oberfläche dem Job Scheduler zugewiesen. Haben Sie das Paket Managed Jobs durch ein Update installiert, so muss die Datei./web/custom/custom.inc.php durch die Konstante APP_SCHEDULER_ID ergänzt werden: <?php... // monitoring scheduler id if(!defined('app_scheduler_id')) {define('app_scheduler_id','[scheduler id]');}...?> Die ID ihres Job Schedulers finden Sie im Start-Skript./bin/jobscheduler.(cmd sh). Die Migration erfolgt wie folgt: Rufen Sie in der Managed Jobs Oberfläche den Objekt-Explorer auf. Dort sehen Sie ein Verzeichnis /[your scheduler id]. Ausschließlich in diesen "Scheduler Verzeichnissen" können Objekte dem entsprechenden Job Scheduler zugewiesen werden. Exportieren Sie ihre Objekte aus dem /Home/[user_name]-Verzeichnis, in dem Sie im Kontextmenü (rechte Maustaste) des Ordners den Eintrag "Export" (Seite 21) aufrufen. Ein Download-Dialog wird geöffnet. Speichern Sie das Archive. Im Archive werden alle nicht suspendierten Objekte en thalten sein. Wechseln Sie in der Oberfläche nun zum Ordner /[your scheduler id]/live und nutzen Sie dort die Import-Funktion (Seite 19) im Kontextmenü. Die Objekte des Archivs werden dann unterhalb gespeichert sein. Sie können jetzt die Objekte einzeln oder gruppiert dem Job Scheduler übergeben, in dem Sie am Objekt oder am Ordner im Kontextmenü die Funktion "Funktionen->Aktivieren" (Seite 23) aufrufen. Bevor Sie Objekte dem Job Scheduler übergeben, kann es nötig sein, die Konfiguration diverse Objekte anzupassen. Folgendes sei berücksichtigt: Aufträge müssen im gleichen Verzeichnis, wie ihre Job-Kette liegen Objekte, die Attribute haben, in denen andere Objekte referenziert werden, werden jetzt durch relative Pfade gefunden. Bsp.: In einer Job-Kette werden in den Job-Ketten-Knoten Jobs referenziert. Diese wurden bisher ohne Pfade angegeben. Wenn der Job im gleichen Verzeichnis, wie die Job-Kette liegt, dann muss nichts verändert werden, anderenfalls muss der Job relativ zur Job-Kette benannt werden. Wenn Sie die Managed Jobs Oberfläche auf die Version vor zurücksetzen wollen, so starten Sie das Update scheduler_[os]_update (tar.gz zip) und wählen dort nur die nur beiden Web-Pakete "Web Interface" und "Web Interface für Managed Jobs" aus.

8 Konzept der Managed Jobs 8 3 Konzept der Managed Jobs Der Job Scheduler arbeitet mit einer XML-Konfigurationsdatei (./config/scheduler.xml). Neben Grundeinstellungen für den Job Scheduler enthält diese Datei die Definition und Konfiguration der zu verwendenden Objekte, wie Jobs, Job-Ketten, Aufträge etc.. Die Objekte sind in der XML-Konfigurationsdatei statisch enthalten und ändern sich während der Laufzeit nicht. Für auftragsgesteuerte Job-Ketten werden zur Laufzeit Aufträge an den Job Scheduler übergeben. Wird ein Auftrag erfolgreich abgeschlossen, dann wird er anschließend aus dem System entfernt. Änderungen in der./config/scheduler.xml bedarf eines anschließenden Neustarts des Job Schedulers. Änderungen der Konfiguration zur Laufzeit ohne Neustart des Job Schedulers ist über die sogenannten Hot Folders möglich. Dies sind Verzeichnissse, die vom Job Scheduler überwacht werden und in denen die Objekte in einzelnen Dateien gehalten werden. Änderungen werden automatisch übernommen. Daraus ergeben sich folgende Vorteile: Bei Änderung eines Objekts wird die Änderung sofort zur Laufzeit wirksam und gilt ebenso bei einem Neustart des Job Schedulers. Fehler in der Konfiguration werden nicht erst bei einem späteren Neustart des Job Schedulers, sondern sofort bemerkt. Aufträge können persistent gehalten werden. Per Voreinstellung ist dieses Verzeichnis./config/live. Näheres hierzu entnehmen Sie bitte der Referenzdokumentation des Job Schedulers. Die Managed Jobs Oberfläche dient als Editor der Objekte der Hot Folders. In dem Objekt-Explorer der Oberfläche wird der Baum unterhalb von./config/live als /[schedulerid]/live abgebildet. Die Definition der Objekte werden nicht in der XML-Konfigurationsdatei (scheduler.xml) des Job Schedulers gespeichert, sondern in einer Datenbank. Über eine Web-Oberfläche können die Objekte konfiguriert und dem Job Scheduler übergeben werden. Für die Übergabe muss im Job Scheduler der Managed Job Starter implementiert (Seite 10) sein. Der Managed Job Starter schreibt die übergebenen Objekte aus der Datenbank in die Hot Folder des Dateisystems. Erfolgen umgekehrt Änderungen im Dateisystem, so synchronisiert der Managed Job Starter die Datenbank-Tabellen der Managed Jobs Oberfläche.

9 Konzept der Managed Jobs 9 Wird ein Objekt sowohl durch die Web-Oberfläche als auch im Dateisystem bearbeitet, kann es zu Konflikten kommen. Sie könnten z.b. parallel den Job Editor (./config/jobeditor.(sh cmd)) zur Konfiguration der Objekte nutzen. Es wird strengstens empfohlen nur einen der beiden Editoren zur gleichen Zeit einzusetzen. Die Managed Jobs Oberfläche kann die Konfiguration der Objekte zentral für mehrere Job Scheduler unterschiedlicher Rechner gleichzeitig verwalten. Jeder der Job Scheduler erhält im Objekt-Explorer der Web-Oberfläche einen eigenen Baum /[schedulerid]/live. Einzige Voraussetzung ist die Vergabe eindeutiger SchedulerIDs. Insbesondere können Job Scheduler als sogenannte Supervisor ihre Workload Scheduler konfigurieren. Ein Workload Scheduler definiert seinen Supervisor durch folgenden Eintrag in der XML-Konfigurationsdatei (./config/scheduler.xml):... <config tcp_port = "4455" udp_port = "4455" supervisor = "my_host:4444" mail_xslt_stylesheet = "config/scheduler_mail.xsl">... Bei Betrieb mit einem Supervisor wird im Objekt-Explorer der Baum dieses Job Schedulers erweitert. Parallel zu /[schedulerid]/live wird das Verzeichnis /[schedulerid]/remote eingerichtet, was im Dateisystem dem Ordner./config/remote unterhalb der Installation des Supervisors entspricht. In gleicher Entsprechung wird in obigem Beispiel der Ordner /[schedulerid]/remote/my_host#4455 angelegt. Näheres hierzu entnehmen Sie bitte der Referenzdokumentation des Job Schedulers.

10 Konzept der Managed Jobs Managed Job Starter Der Managed Job Starter wird in der XML-Konfigurationdatei./config/scheduler_managed.xml beschrieben. Wenn Sie beim Setup das Paket Managed Jobs ausgewählt haben, dann ist diese in der XML-Konfigurationdatei./config/scheduler.xml als base-element eingefügt: <!-- include job configurations --> <base file = "scheduler_managed.xml"/> Die./config/scheduler_managed.xml hat folgenden Inhalt: <?xml version="1.0" encoding="iso "?> <spooler> <config> <scheduler_script name="scheduler_managed_starter"> <script language = "java" java_class = "sos.scheduler.managed.jobschedulermanagedstarter_3"/> </scheduler_script> <jobs> <job name = "scheduler_managed_starter" title = "start managed jobs" idle_timeout = "00:05" visible = "never" order = "yes" process_class= "single"> <description> <include file = "jobs/jobschedulermanagedstarter.xml"/> </description> <script language = "java" java_class = "sos.scheduler.managed.jobschedulermanagedstarter_3"/> <!-- <delay_order_after_setback setback_count="3" is_maximum="yes" delay="60"/> --> </job> </jobs> <job_chains> <job_chain name="scheduler_managed_starter" orders_recoverable="yes" visible="never"> <job_chain_node state="0" next_state="success" error_state="error" job="scheduler_managed_starter"/> <job_chain_node state="success"/> <job_chain_node state="error"/> </job_chain> </job_chains> <commands> <add_order id="managed_starter_oder" job_chain="scheduler_managed_starter"> <run_time>

11 Konzept der Managed Jobs 11 <period repeat="60"/> </run_time> </add_order> </commands> </config> </spooler> Das scheduler_script-element sorgt dafür, dass dem Job Scheduler beim Start die Objekt-Konfigurationen aus der Datenbank übergeben werden. Pro Auftrag synchroniert der Auftrags-Job scheduler_managed_starter der Job-Kette scheduler_managed_starter das Dateisystem mit den Datenbank-Tabellen. Die Run Time im add_order am Ende bestimmt, dass die Synchronisierung minütlich gestartet wird. Überdies erhält der Managed Job Starter Aufträge von der Managed Jobs Oberfläche, wenn dort ein Objekte aktualisiert werden soll. Wenn Sie die Job-Kette bzw. den Job in der HTML-Oberfläche des Job Schedulers sehen wollen, dann ändern sie die Attribute visible auf "yes". 3.2 Konfiguration eines einzelnen Job Schedulers Wenn nur ein einziger Job Scheduler durch die Managed Jobs Oberfläche verwaltet werden soll, der nicht zugleich Supervisor ist, so wird in der Konfigurationdatei der Web-Oberfläche (./web/custom/custom.inc.php) die ID, der Host und Port ihres Job Scheduler bestimmt. Bei einer Erstinstallation wird das Setup die Konfiguration übernommen haben. Bei einer Überinstallation durch den Setup oder dem Update kann die Konstante für die ID fehlen (siehe Migration (Seite 6)). Folgende Konstanten können angepasst werden: if(!defined('app_scheduler_host')) {define('app_scheduler_host','my_host');} if(!defined('app_scheduler_port')) {define('app_scheduler_port','my_port');} if(!defined('app_scheduler_id')) {define('app_scheduler_id','my_scheduler');} Für den Aufruf der HTML-Oberfläche des Job Schedulers benutzt die Managed Jobs Oberfläche per Voreinstellung Falls z.b. aufgrund einer Proxy-Konfiguration eine andere Addresse verwendet werden muss, so kann diese durch die folgende Konstante bestimmt werden: if(!defined('app_scheduler_alias')) {define('app_scheduler_alias','');} 3.3 Konfiguration mehrerer Job Scheduler Für die Konfiguration mehrerer Job Scheduler muss pro Job Scheduler die ID, der Host und Port der Web-Oberfläche bekannt gemacht werden. Wenn einer der Job Scheduler ein Supervisor ist, so muss die Web-Oberfläche auch die Workload Scheduler kennen. Diese Angaben werden in einer Datenbank-Tabelle (SETTINGS) gehalten. Sind in dieser Tabelle keine Informationen über Job Scheduler enthalten, so wird lediglich jener unterstützt, der in der Konfigurationdatei der Web-Oberfläche (./web/custom/custom.inc.php) angegeben ist (siehe oben). Die Oberfläche zur Verwaltung ihres Job Scheduler Netzwerks wird weiter unten (Seite 47) beschrieben.

12 Datenbank 12 4 Datenbank 4.1 Konfiguration Der Web-Oberfläche und allen Job Schedulern muss die Datenbankverbindung bekannt gegeben werden. Das sollte vom Setup bereits erledigt worden sein. Bei der Installation mehrerer Job Scheduler muss während des Setups die gleiche Datenbankverbindung angegeben werden. Die Datenbankverbindung kann manuell angepasst werden, dies erfolgt in der Konfigurationsdatei./web/custom/custom.inc.php der Web-Oberfläche, in der die Werte der Konstanten APP_CONNECTION_AUTH und APP_CONNECTION_CLASS entsprechend für das verwendete Datenbanksystem zu setzen sind. in der Konfigurationsdatei./config/factory.ini pro Job Scheduler. Hier sind in der Sektion [scheduler] die Einträge db und db_class anzupassen. Näheres hierzu entnehmen Sie bitte der Dokumentation zur Installation und Konfiguration. 4.2 Tabellen Alle im folgenden aufgeführten Tabellen werden vom Setup des Job Scheduler eingerichtet, wenn während des Setups das Paket Managed Jobs gewählt wurde. Näheres zum Einrichten der Tabellen, insbesondere bei manueller Einrichtung, entnehmen Sie bitte der Dokumentation zur Installation und Konfiguration. Die an der Workflow-Verwaltung beteiligten Datenbanktabellen sind SCHEDULER_MANAGED_OBJECTS Speichert Objekte wie Jobs, Aufträge, Job-Ketten, Prozess-Klassen und Sperren SCHEDULER_MANAGED_TREE Speichert die Explorer-Ansicht der Objekte und verwaltet objekteigene Rechte SCHEDULER_MANAGED_JOB_TYPES Speichert Job-/ Auftrags-Typen SCHEDULER_MANAGED_CONNECTIONS Speichert Datenbankverbindungen SCHEDULER_MANAGED_SUBMISSIONS Speichert Aufträge zur Synchronisierung der Objekte zwischen Oberfläche und Dateisystem SETTINGS Speichert das Job Scheduler Netzwerk, Einstellungen der Job- und Auftrags-Typen und verwaltet Zähler Die Workflow-Verwaltung nutzt weitere Tabellen, mit denen z.b. Rechte zur Ausführung von Funktionen ermittelt werden. Die Verwaltung dieser Tabellen übernimmt die Benutzerverwaltung der Web-Oberfläche. ACL Speichert Rechte einer Rolle oder eines Benutzers USERS Speichert Mandanten und Benutzer

13 Datenbank 13 USER_GROUPS Speichert Rollen, die den Benutzern zugewiesen werden können USER_VARIABLES Speichert Variablen der Mandanten und Benutzer USER_ATTRIBUTES Speichert Ausprägungen der obigen Variablen, wie Datentyp etc. 4.3 Tabelleninhalt nach Installation Alle im vorherigen Kapitel aufgeführten Tabellen werden vom Setup des Job Scheduler gefüllt, wenn während des Setups das Paket Managed Jobs gewählt wurde. Näheres zum Füllen der Tabellen, insbesondere bei manuellem Einfügen der Sätze, entnehmen Sie bitte der Dokumentation zur Installation und Konfiguration. Per Voreinstellung ist ein Mandant mit zwei Benutzern vorhanden. Der Mandant heißt sos und dessen Benutzer admin und demo. Es gibt eine Rolle namens admin, die dem Nutzer admin zugewiesen ist, eine Rolle namens operator, die dem Nutzer demo zugewiesen ist und eine Rolle namens developer ohne Nutzerzuweisung. Es sind sieben Rechtelisten vorhanden, die der Rolle admin alles erlauben. Die Rechteliste namens Workflow Administration regelt den Zugriff innerhalb der Workflow-Verwaltung, die anderen regeln den Zugriff der Benutzerverwaltung. Beim Aufruf der Workflow-Verwaltung werden Sie entsprechend des Inhalts der Tabellen SCHEDULER_MANAGED_TREE und SCHEDULER_MANAGED_OBJECTS einen Baum folgender Struktur vorfinden: + / + Home + Samples + Launch Database Reports - launch_custom_report (Job-Kette) - launch_custom_report,order (Auftrag) - launch_database_statement (Job-Kette) - launch_database_statement,order (Auftrag) - scheduler_managed_custom_report (Auftrags-Job) - scheduler_managed_database_report (Auftragsunabhägiger Job) - scheduler_managed_database_statement (Auftrags-Job) + Launch Executable Files - launch_executable_file (Job-Kette) - launch_executable_file,order (Auftrag) - scheduler_managed_executable_file (Auftrags-Job) - scheduler_managed_executable_php_file (Auftragsunabhägiger Job) + [your Job Scheduler ID] + live Überdies sind acht Job-Typen (file, database, database_report, custom_report, ftp_send, ftp_receive, interpreter_php, standard) in die Tabelle SCHEDULER_MANAGED_JOB_TYPES eingefügt. Für die Job-Typen file, database_report, custom_report, ftp_send, ftp_receive, interpreter_php sind für die bequeme Parameter-Verwaltung (Seite 30) der Jobs und Aufträge dieses Typs diverse Sätze in den Einstellungen (Tabelle SETTINGS) zu finden. Ferner ist die während des Setups angegebene Datenbankverbindung in die Tabelle SCHEDULER_MANAGED_CONNECTIONS geschrieben worden.

14 Workflow-Verwaltung 14 5 Workflow-Verwaltung Bei Aufruf der Web-Oberfläche startet diese mit einem Login-Dialog, in dem Mandant, Nutzer und Kennwort anzugeben sind. Nach dem Setup ist der Mandant sos und der Nutzer admin. Ein Kennwort muss nicht angegeben werden. Wird eine HTTP-Authentifizierung genutzt, dann wird der Login-Dialog übersprungen und der angegebene Benutzer in die Benutzerverwaltung eingetragen. Dieser Benutzer erhält vorerst Operator-Rechte (siehe Rechteverwaltung (Seite 24)). Möchten Sie bereits bei der HTTP-Authentifizierung dem angegebene Benutzer Administrator-Rechte geben, so kann das in der Datei./web/custom/custom.inc.php durch folgenden Eintrag für einen Benutzer eingestellt werden (ggf. muss die Konstante erst angelegt werden): <?php... // admin permissions for user administration, if login via HTTP authentication if(!defined('app_http_auth_admin')) {define('app_http_auth_admin','admin');}...?> Als Mandant wird ihm per Voreinstellung sos zugewiesen. Die Mandantenzuweisung kann verändert werden. Öffnen Sie hierzu die Datei./web/custom/custom.inc.php und bestimmen sie dort den Wert der Konstanten APP_HTTP_AUTH_UNIT (ggf. muss die Konstante erst angelegt werden). Folgende Zeile konfiguriert den Mandanten: <?php... // unit for user administration, if login via HTTP authentication if(!defined('app_http_auth_unit')) {define('app_http_auth_unit','[your unit]');}...?> In der Auslieferung hat nur ein Benutzer vollen Zugriff auf die Benutzerverwaltung inklusive der Rechteverwaltung. Dieser Benutzer ist admin/sos. Daher ist bei Verwendung der HTTP-Authentifizierung darauf zu achten, dass es einen Benutzer namens admin gibt und die Konstante APP_HTTP_AUTH_UNIT so lange nicht verändert wird, bis nicht auch ein Benutzer eines von Ihnen gewählten Mandanten vollen Zugriff hat oder aber Sie gleichzeitig mit der Konstanten APP_HTTP_AUTH_ADMIN einen bestimmten Benutzer den vollen Zugriff ermöglichen. Nach erfolgreicher Anmeldung sehen Sie ein Frameset, wobei im linken Frame das Menü enthalten ist. Diese Dokumentation beschreibt jene Teile der Anwendung, die mittels der Menüeinträge Workflow und Einstellungen erreicht werden. Der Menü-Eintrag Abmelden beendet ihre Sitzung. Erfolgte die Anmeldung per HTTP-Authentifizierung, so muss das Browser-Fenster geschlossen werden, um sicherzustellen, dass erst durch erneutes Anmelden auf die Oberfläche zugegriffen werden kann. Die Workflow-Verwaltung teilt sich in Web-Oberflächen zur Verwaltung der Job-Ketten/ Jobs/ Aufträge, Job-/ Auftragstypen und Datenbankverbindungen. Funktionsumfang und Darstellung der Workflow-Verwaltung hängt von den Rechten des angemeldeten Benutzers ab. Hierfür gibt es eine Rechteliste namens Workflow Administration in der Rechteverwaltung (siehe auch Dokumentation der Benutzerverwaltung). In ihr werden die Rechte Gruppe: root, Gruppe: Entwickler und Gruppe: Operator vergeben, die Lese-, Schreib- und Ausführrechte implizieren. Die Rolle admin ist mit dem Recht Gruppe: root versehen, die Rolle developer hat das Recht Gruppe: Entwickler und die Rolle operator hat das Recht Gruppe: Operator. Damit der angemeldete Benutzer Verweise auf die

15 Workflow-Verwaltung 15 Web-Oberflächen der Workflow-Verwaltung im Menü findet, muss dieser Benutzer einen dieser Rechte (Seite 24) besitzen. 5.1 Beispiel eines Shell-Skript ausführenden Jobs In diesem Kapitel wird beschrieben, wie Sie ein Shell-Skript über diese Managed Jobs Oberfläche dem Job Scheduler übergeben und starten. Fragen, die sich hier ergeben könnten, werden erst in den folgenden Kapiteln erklärt sein. Dieses Kapitel soll als Einstieg zeigen, wie einfach es ist, einen Job einzugerichtet und mithin motivieren, auch die anderen Kapitel zu lesen. Es sei folgendes Skript in./jobs/test.sh bzw../jobs/test.cmd gespeichert: Beispiel: Inhalt von test.sh #!/bin/sh echo "$1" Beispiel: Inhalt von test.cmd echo off echo $~1 Unter Unix muss der Benutzer des Job Schedulers./jobs/test.sh ausführen können. 1. Melden Sie sich als Mandant sos und Nutzer admin ohne Kennwort an. 2. Öffnen Sie die Workflow-Verwaltung durch den Menüeintrag "Workflow-Verwaltung->Job-Ketten/ Jobs/ Aufträge" im linken Frame. Navigieren Sie zum Ordner /[your scheduler id]/live. 3. Öffnen Sie das Kontextmenü des Orders, in dem Sie auf der rechten Seite mit der rechten Maustaste in einem freien Bereich klicken. 4. Wählen Sie im Kontextmenü den Eintrag Neu->Auftragsunabhängiger Job. Der Ordner erhält so einen neuen auftragsunabhängigen Job. 5. Geben Sie dem Job einen Namen (z.b.: Test). Hierzu wird nach dem Anlegen der Name "Neuer auftragsunabhängiger Job" in einem Eingabefeld zur Bearbeitung angeboten. Sollten Sie das Eingabefeld nicht mehr sehen, weil Sie beispielweise mit der Maus außerhalb des Eingabefeld geklickt haben, dann öffnen Sie bitte das Kontextmenü des Jobs, in dem Sie die rechte Maustaste auf dem Symbol oder dem Text daneben drücken und wählen Sie den Eintrag Umbenennen. 6. Klicken Sie auf das Symbol oder den Namen daneben, um den Job zu konfigurieren. Der Editor öffnet sich. 7. Wählen Sie in der Auswahlliste neben Job-Typ den Typ Executable File aus und bestätigen Sie ihre Wahl mittels des Knopfs rechts am Ende der Zeile. Es werden vordefinierte Parameter angezeigt. 8. Klicken Sie auf param neben name="command" um diesen Parameter zu bearbeiten. Es wird Ihnen rechts ein Textfeld angeboten, in dem der Programmaufruf geschrieben wird. 9. Geben Sie das auszuführende Shell-Skript inklusive eventuell gegebener Parametrisierung an (z.b.:./jobs/test.sh "hello world" bzw../jobs/test.cmd "hello world"). Wenn Sie das Skript gerade nicht vorrätig haben, dann können Sie auch sh -c "echo hello world" bzw. cmd /C "echo hello world" angeben. 10. Klicken Sie auf den Button... und Starten. Der Job wird gespeichert und dem entsprechenden Job Scheduler übergeben, so fern dieser gestartet wurde. 11. Öffnen Sie die Job Scheduler-Oberfläche. Hier werden Sie den Job "Test" in der Liste der Jobs sehen. Klicken Sie auf den Job, dann wird Ihnen auf der rechten Seite die Task-Historie angeboten. Mittels des Buttons "Show log" wird die Protokoll-Datei des Job-Laufs geöffnet. Hier finden Sie am Ende, was nach StdOut geschrieben wurde: :12: [info] stdout: :12: [info] hello world Herzlichen Glückwunsch!

16 Workflow-Verwaltung Explorer Die verwalteten Objekte (Ordner, Jobs, Job-Ketten, Aufträge, Prozess-Klassen, Schedules, Parameter und Sperren) werden in einer Explorer-Ansicht dargestellt. Aufgerufen wird der Explorer mittels des Menü-Eintrags Workflow->Job-Ketten/ Jobs/ Aufträge. Sie sehen links Ordner in einer Baum-Struktur und rechts den Inhalt des geöffneten Ordners. Enthält ein Ordner weitere Ordner, so werden diese alphabetisch sortiert zuerst gelistet. Alle anderen Objekte folgen darunter wiederum alphabetisch sortiert. Sie können die Sortierung ändern, in dem Sie auf die entsprechende Spalten-Überschrift klicken. Ein kleines nach oben oder nach unten gerichtetes Dreieck in einer der Spalten-Überschriften kennzeichnet die Spalte, nach der sortiert ist, sowie die Richtung der Sortierung. Wenn die Spalten-Überschrift zu schmal ist, werden Sie das Dreieck nicht sehen können. Die Breite der Spalten können aber mittels der Trenner in der Überschrift verändert werden. Die Sortierung erfolgt gruppiert innerhalb der Ordner und innerhalb aller anderen Objekte. In der rechten Inhaltsliste des geöffneten Ordners ist vor jedem Objekt eine Checkbox, die zum Markieren verwendet werden kann, um bestimmte Funktionen auf mehrere Objekte anzuwenden. Diese Funktionen sind "Kopieren", "Ausschneiden", "Löschen", "Aktivieren", "Deaktivieren" und "Exportieren" Objekte des Explorers und deren Symbole Jedes Objekt besitzt ein eigenes Symbol zur Darstellung, diese sind: Objekt Symbol Beschreibung Ordner Ordner Sperre Prozess-Klasse Auftragsunabhängiger Job Sperren entsprechen dem spooler/config/locks/lock-element der Job Scheduler Konfiguration. Prozess-Klassen entsprechen dem spooler/config/process_classes/ process_class-element der Job Scheduler Konfiguration. Auftragsunabhängige Jobs entsprechen dem spooler/config/jobs/ job-element der Job Scheduler Konfiguration mit dem Attribut order="no".

17 Workflow-Verwaltung 17 Objekt Symbol Beschreibung Auftrags-Job Auftrag Job-Kette Schedule Ersatz-Schedule Parameter Dokumentation andere plain/text-dateien Tabelle 1. Objekt-Symbole Auftrags-Jobs entsprechen dem spooler/config/jobs/job-element der Job Scheduler Konfiguration mit dem Attribut order="yes". Aufträge entsprechen dem spooler/config/commands/add_order-element der Job Scheduler Konfiguration. Job-Ketten entsprechen dem spooler/config/job_chains/ job_chain-element der Job Scheduler Konfiguration. Schedules entsprechen dem spooler/config/schedules/ schedule-element der Job Scheduler Konfiguration mit fehlenden Attributen substitute, valid_from und valid_to. Ersatz-Schedules entsprechen dem spooler/config/schedules/ schedule-element der Job Scheduler Konfiguration mit gesetzten Attributen substitute, valid_from und valid_to. Parameter entsprechen dem spooler/config/params-element der Job Scheduler Konfiguration Dokumentationen entsprechen dem Wert des file bzw. live_file-attributs im./description/include-elements eines Jobs oder Auftrags in der Job Scheduler Konfiguration In diesem Objekt-Typ können insbesondere Script-Dateien (shell, javascript, perl, vbs) verwaltet werden, auf die im live_file-attribut im./script/include-element eines Jobs referenziert werden soll. Sie können auch ini- oder csv-dateien bearbeiten, die z.b. für eine Job-Implementierung herangezogen werden sollen. Näheres zu den Objekten entnehmen Sie der Referenzdokumentation des Job Schedulers und dem Glossar Status der Objekte und deren Symbole Alle obigen Objekte können im Explorer zusätzlich durch folgende Symbole markiert sein: Markierung Bezeichnung Beschreibung Job Scheduler Hot-Folder leeres Objekt Diese Ordner tragen als Namen die Scheduler ID der unterstützten Job Scheduler. Welche Job Scheduler unterstützt werden, wird in Job Scheduler Netzwerk (Seite 47) erklärt. Diese Verzeichnisse haben Unterordner "live" und ggf. "remote/[workload scheduler host]#[workload scheduler port]". Ausschließlich in diesen Unterordnern können Objekte den entsprechenden Job Schedulern übergeben werden bzw. werden Objekte aus dem Dateisystem des jeweiligen Job Scheduler in die Managed Jobs Oberfläche eingefügt. Wenn Sie ein Objekt neu anlegen, ist dieses vorerst leer, d.h. es ist zwar bereits ein Objekt des Explorers, jedoch besitzt es noch keine Element-Informationen für den Job Scheduler. Durch Öffnen des Editors (Seite 25) können Sie dem Objekt die Element-Informationen zuweisen. Ein leeres Objekt kann nicht an den Job Scheduler übergeben werden.

18 Workflow-Verwaltung 18 Markierung Bezeichnung Beschreibung inaktives Objekt Verknüpfung übergebenes Objekt geändertes Objekt Tabelle 2. Objekt-Markierungen Inaktive Objekte sind zwar nicht leer, sind aber nicht an den Job Scheduler übergeben. Alle nicht leeren Objekte, die nicht unterhalb eines Job Scheduler Hot-Folders gespeichert sind, sind automatisch deaktiviert. Im Kontextmenü der Objekte finden Sie die Funktion zum Aktivieren und Deaktivieren. Objekte können verknüpft kopiert werden. Im Kontextmenü des Objekts unter "Eigenschaften" wird Ihnen der Pfad des Zielobjekts der Verknüpfung angezeigt. Ist die Verknüpfung ein Ordner, so wird durch Anklicken das verknüpfte Verzeichnis geöffnet, anderenfalls wird der Editor (Seite 25) mit den Element-Informationen des verknüpften Objekts geöffnet. Verknüpfte Objekte besitzen die Rechte des Original-Objekts. Soll ein Objekt aktiviert werden, dann ist dieses erst im Job Scheduler aktiv, wenn dieser die Übergabe bestätigt hat. Bis zur Bestätigung ist das Objekt durch nebenstehendes Symbol gekennzeichnet. Ist der entsprechende Job Scheduler nicht gestartet, so bleibt die Aktivierung bis zum Start des Job Scheduler beantragt. Aktivierte Objekte besitzen kein zusätzliches Symbol. Im Kontextmenü der Objekte finden Sie die Funktion zum Aktivieren und Deaktivieren. Wurde ein Objekt bereits aktiviert und anschließend verändert, so kennzeichnet dies nebenstehendes Symbol. Wollen Sie die Änderung dem Job Scheduler mitteilen, so aktivieren Sie das Objekt erneut. Im Kontextmenü der Objekte finden Sie die Funktion zum Aktivieren und Deaktivieren. (ohne) aktives Objekt Aktive Objekte haben kein zusätzlichen Symbol. Diese Objekte sind im dem entsprechenden Job Scheduler wirksam und synchron mit der Konfiguration in der Managed Jobs Oberfläche. Im Kontextmenü der Objekte finden Sie die Funktion zum Deaktivieren Navigation im Explorer Durch Klicken auf die Ordner-Symbole oder des Textes daneben öffnen sich die Verzeichnisse. Durch Klicken auf die Datei-Symbole oder des Textes daneben wird der Editor (Seite 25) geöffnet, der Formulare zur Bearbeitung des entsprechenden Objekts bereitstellt. Zu jedem Objekt gibt es ein Kontextmenü (rechte Maustaste), das weitere objektabhängige Funktionen enthält. Die Trennlinie zwischen dem Baum links und der rechten Inhaltsliste kann verschoben werden. Des weiteren können die Spalten der Inhaltsliste mittels der Trenner in der Überschrift in der Breite verändert werden. Unter dem Baum sehen Sie eine Statuszeile, die durch...warten auf Antwort anzeigt, dass gerade eine Anfrage am Webserver erfolgt. Überdies stehen hier ggf. Fehlermeldungen. Oberhalb des Baums kann in eine Adresse angegeben werden, auf die durch Klicken des Buttons rechts daneben, gesprungen wird. Die Buttons in der 2. Zeile haben die Funktionen: springt in der Adress-Historie zurück. Das kleine Dreieck rechts daneben öffnet die letzten 10 Einträge der Adress-Historie springt in der Adress-Historie vorwärts. Das kleine Dreieck rechts daneben öffnet bis zu 10 Einträge der Adress-Historie springt zum Wurzelverzeichnis (/) springt in das Verzeichnis eine Ebene höher

19 Workflow-Verwaltung 19 aktualisiert den Baum und den Inhalt des geöffneten Ordners öffnet Suchformular im aktuellen Ordner springt zurück zur Ordner-Ansicht bei geöffneter Suche In der 1. Zeile können Sie durch Klicken auf "Datei", "Bearbeiten" und "?" Menüs öffnen. Während das?-menü Links auf Dokumentationen bereitstellt, finden Sie unter "Datei" und "Bearbeiten" Funktionen, die auch im Kontextmenü der Objekte zu finden sind. Diese Funktionen werden im nächsten Kapitel erklärt. 5.3 Funktionen der Kontextmenüs Umbenennen Das Wurzelverzeichnis und die Job Scheduler Hot-Folder können nicht umbenannt werden. Ansonsten können Sie alle Objekte umbenennen, für die Sie Lese- und Schreibrechte besitzen. Sie finden die Funktion im Kontextmenü des entsprechenden Objekts. Folgendes ist beim Umbenennen zu beachten: Groß- und Kleinschreibung wird nicht unterschieden. Der Name ist eindeutig über alle Objekte des gleichen Typs eines Verzeichnisses zu wählen. Der Name darf folgende Sonderzeichen nicht enthalten: /\?*<> :'", Eine Ausnahme bildet der Name eines Auftrags. Hier wird einmalig ein Komma verwendet, welches Job-Ketten-Name und Auftragsname trennt ([Job-Ketten-Name],[Auftragsname]). Leerzeichen am Anfang oder am Ende des Namens werden automatisch entfernt. Mehrfache aufeinander folgende Leerzeichen werden automatisch auf ein Leerzeichen reduziert. Der Name darf nicht mehr als 100 Zeichen enthalten. Der Name inklusive des gesamten Pfads darf nicht mehr als 235 Zeichen enthalten Neu anlegen Die Funktion zum Anlegen eines Objekts finden Sie im Kontextmenü eines Ordners. Hier öffnet sich neben dem Eintrag "Neu" ein Untermenü, in dem Sie den Typ des gewünschten Objekt auswählen können. Im Zielverzeichnis müssen Sie Schreibrechte besitzen, damit die Funktion aktiv ist. Anschließend wird auf der rechten Seite zu oberst ein Eingabefeld zum Benennen angeboten. Bei der Wahl des Namens beachten Sie bitte die Regeln des Umbenennens (Seite 19). Ein neu angelegtes Objekt (außer Verzeichnisse) ist leer und insofern mit einem Ausrufezeichen auf gelben Grund versehen (siehe leere Objekte) (Seite 17). Gruppenabhängig werden dem neuen Objekt folgende Rechte vergeben: Admin: Developer: Operator: rwxrwxr-- (774) rwxrwxr-- (774) rw-rwxr-- (674) Importieren durch HTTP-Upload-Dialog Die Funktion zum Importieren eines Objekts finden Sie im Kontextmenü eines Ordners. Im Zielverzeichnis müssen Sie Schreibrechte besitzen, damit die Funktion aktiv ist. Ein Upload-Dialog öffnet sich. In dem Eingabefeld ist der Dateiname der hochzuladenen Datei anzugeben. Dieser kann hier direkt eingetragen werden oder über den Button Durchsuchen übermittelt werden. Es können entweder einzelne XML-Dateien oder XML-Dateien enthaltene Archive importiert werden. Unterstützte Archive sind zip,tar,tgz oder tar.gz. Der Button Beenden beendet den

20 Workflow-Verwaltung 20 Dialog ohne dem Versuch des Imports, während der Button Bestätigen die angegebene Datei hochlädt und das Objekt bzw. die Objekte anlegt. Importierte Objekte werden nicht automatisch an den Job Scheduler übergeben. Hierzu nutzen Sie im Anschluss die Funktion Aktivieren (Seite 23) im Kontextmenü des Import-Verzeichnisses bzw. einzelner importierter Objekte. Die XML-Dateien müssen gemäß der Dokumentation zum Job Scheduler hot-folder-konforme Dateinamen besitzen, d.h. der folgende objektabhängigen Syntax entsprechen: Sperre: Prozess-Klasse: Job: Job-Kette: Auftrag: Schedule: Parameter: [Name der Sperre].lock.xml [Name der Prozess-Klasse].process_class.xml [Name des Jobs].job.xml [Name der Job-Kette].job_chain.xml [Name der Job-Kette],[Name des Auftrags].order.xml [Name des Schedules].schedule.xml [Name der Parameter].params.xml Der Name der XML-Dateien muss obigen Regeln des Umbenennens (Seite 19) entsprechen. Bei Nicht-Eindeutigkeit des Namens wird gefragt, ob die Ziel-Datei überschrieben werden soll. Leere Verzeichnisse in einem Archiv werden nicht importiert. Die XML-Datei, die hochgeladen werden soll, muss die Element-Informationen gemäß der Dokumentation zum Job Scheduler enthalten, d.h. die Datei enthält ein XML der folgenden objektabhängigen Form: Sperre: Prozess-Klasse: Job: Job-Kette: Auftrag: Schedule: Parameter: <lock.../> <process_class.../> <job...>...</job> <job_chain...>...</job_chain> <order...>...</order> <schedule...>...</schedule> <params>...</params> Wird speziell ein Auftrag importiert, so kann dieser im weiteren vom Job Scheduler nur berücksichtigt werden, wenn er im gleichen Verzeichnis gespeichert ist, wie die ihm zugeordnete Job-Kette. Wird die Managed Jobs Oberfläche mit PHP5 oder höher betrieben, so können die zu importierenden XML-Dateien gegen das Schema geprüft werden. Hierzu muss in der./web/custom/custom.inc.php die Konstante APP_SCHEDULER_SCHEMA_ENABLED "true" gesetzt sein: <?php... // enable or disable validation against the schema (only for PHP5) if(!defined('app_scheduler_schema_enabled')) {define('app_scheduler_schema_enabled',true);}...?> Kopieren Sie können ein oder mehrere Objekte gleichzeitig kopieren. Das Wurzelverzeichnis kann nicht kopiert werden. Wählen Sie hierzu zunächst das Quellverzeichnis. Durch markieren der Checkboxen auf der rechten Seite können Sie mehrere Objekte zum Kopieren vorbereiten. Wollen Sie alle Objekte des aktuellen Ordners markieren, so können Sie hierzu die Funktion Alles markieren im Kontextmenü des Ordners nutzen. Anschließend wählen Sie Kopieren im Kontextmenü eines der markierten Objekte, um alle markierten Objekte in die Zwischenablage zu speichern. Wenn Sie nur ein Objekt kopieren wollen, dann können Sie auf die Nutzung der Checkboxen verzichten und direkt das entsprechende Kontextmenü aufrufen. Wollen Sie einen Ordner kopieren, so können Sie auch das

21 Workflow-Verwaltung 21 Kontextmenü des entsprechenden Ordners auf der linken Seite im Baum verwenden. Wählen Sie nun das Zielverzeichnis und rufen Einfügen bzw. Einfügen als Verknüpfung im Kontexmenü auf. Wenn die Zwischenablage nicht gefüllt ist und Sie im Zielverzeichnis keine Schreibrechte besitzen, so ist der Eintrag Einfügen bzw. Einfügen als Verknüpfung inaktiv. Bei gleichnamigen Objekten im Zielverzeichnis und in der Zwischenablage werden Sie einzeln gefragt, ob diese überschrieben werden dürfen. Kopierte Objekte werden nicht zwangsläufig dem entsprechenden Job Scheduler übergeben. Nutzen ggf. hierzu im Anschluß die Funktion Aktivieren (Seite 23) im Kontextmenü des Ziel-Verzeichnisses bzw. einzelner kopierter Objekte. Wenn jedoch das Quell-Objekt bereits seinem Job Scheduler übergeben war, so wird auch das Ziel-Objekt automatisch übermittelt. Wird beim Kopieren ein Objekt neu angelegt, so erhält dieses die Rechte wie unter Neu anlegen (Seite 19) beschrieben. Wird hingegen ein bereits existierendes Objekt überschrieben, so bleiben Besitzer und Rechte erhalten. Verknüpfungen erhalten die Rechte und den Besitzer des verknüpften Objekts. Leere Objekte können nicht verknüpft werden Verschieben Sie können ein oder mehrere Objekte gleichzeitig verschieben. Zum Verschieben müssen Sie im Quell- und Zielverzeichnis Lese- und Schreibrechte besitzen. Überdies sind das Wurzel- und die Job Scheduler Hot-Folder nicht verschiebbar. Für alle System-Verzeichnisse (Besitzer ist root) sind root-rechte erforderlich. Das Speichern in die Zwischenablage verläuft wie beim Kopieren (Seite 20), jedoch wählen Sie im Kontextmenü den Eintrag Ausschneiden statt Kopieren. Wählen Sie nun das Zielverzeichnis und rufen Einfügen im Kontexmenü auf. Wie beim Kopieren werden Sie gefragt, ob gleichnamige Objekte überschrieben werden dürfen. Bei verschobenen Objekten bleiben die Rechte und der Besitzer erhalten. Werden Objekte verschoben, die unterhalb eines Job Scheduler Hot-Folders gespeichert sind und deren Ziel-Verzeichnis nicht unterhalb des selben Job Scheduler Hot-Folders liegt, so werden die Objekte in dem Job Scheduler gelöscht, was Konsequenzen haben kann (siehe Löschen (Seite 22)). Liegt das Zielverzeichnis unterhalb eines anderen Job Scheduler Hot-Folders, so werden die Objekte nicht automatisch dem entsprechenden Job Scheduler übermittelt. Nutzen Sie hier bitte im Anschluß die Funktion Aktivieren (Seite 23) Exportieren durch HTTP-Download-Dialog Die Funktion steht Ihnen im Kontextmenüs aller Objekte zur Verfügung. Sie können ein oder mehrere Objekte gleichzeitig exportieren. Es sind lediglich Leserecht erforderlich. Beim Export eines Objekts wird dieses als XML-Datei, bei mehreren Objekten als Archiv angeboten. Unterstützte Archive sind zip,tar oder tar.gz. Das Archive enthalten die Objekte als XML-Dateien mit Pfaden relativ zum Ort des Aufrufs der Export-Funktion. Bei Verknüpfungen wird das verknüpfte Objekt exportiert, jedoch nur wenn der relative Pfade ohne../-anteile ermittelt werden kann, da derartige Pfade vom zip-format nicht unterstützt werden. Durch Markieren der Checkboxen auf der rechten Seite können Sie mehrere Objekte zum Export vorbereiten. Anschließend wählen Sie Export im Kontextmenü eines der markierten Objekte. Wenn Sie nur ein Objekt kopieren wollen, dann können Sie auf die Nutzung der Checkboxen verzichten und direkt das entsprechende Kontextmenü aufrufen. Wollen Sie einen Ordner kopieren, so können Sie auch das Kontextmenü des entsprechenden Ordners auf der linken Seite im Baum verwenden. Ein Download-Dialog öffnet sich, in dem Sie den Ort und Namen der Export-Datei wählen können. Das exportierte XML wird mit UTF-8 codiert sein. Bei Verwendung von PHP5 oder höher wird das exportierte XML schöner eingerückt strukturiert sein.

22 Workflow-Verwaltung Löschen Sie können ein oder mehrere Objekte gleichzeitig löschen. Das Wurzel- und die Job Scheduler Hot-Folder können nicht gelöscht werden. Für alle System-Verzeichnisse (Besitzer ist root) sind root-rechte erforderlich. Ansonsten können Sie alle Objekte löschen, für die Sie Schreibrechte besitzen. Durch Markieren der Checkboxen auf der rechten Seite können Sie mehrere Dateien zum Löschen vorbereiten. Wollen Sie alle Objekte des aktuellen Ordners markieren, so können Sie hierzu die Funktion Alles markieren im Kontextmenü des Ordners nutzen. Anschließend wählen Sie Löschen im Kontextmenü eines der markierten Objekte, um alle markierten Objekte zu löschen. Wenn Sie nur ein Objekt löschen wollen, dann können Sie auf die Nutzung der Checkboxen verzichten und direkt das entsprechende Kontextmenü aufrufen. Wollen Sie einen Ordner löschen, so können Sie auch das Kontextmenü des entsprechenden Ordners auf der linken Seite im Baum verwenden. Das Löschen eines Objekts löscht gleichzeitig auch alle eventuell existierenden Verknüpfungen. Durch das Löschen von Objekten, die dem Job Scheduler bereits übergeben wurden, können im Job Scheduler Fehlermeldungen entstehen, da es folgende Abhängigkeiten zwischen den Objekten gibt, die berücksichtigt werden müssen: gelöschtes Objekt Prozess-Klasse Sperre Auftrags-Job Job-Kette Schedule Fehlerquelle Tabelle 3. Lösch-Konsequenzen Stellen Sie sicher, dass kein übermittelter Job die gelöschte Prozess-Klasse verwendet. Ändern Sie ggf. die entsprechende Element-Information im Editor und übermitteln Sie den Job erneut. Stellen Sie sicher, dass kein übermittelter Job die gelöschte Sperre verwendet. Ändern Sie ggf. die entsprechende Element-Information im Editor und übermitteln Sie den Job erneut. Stellen Sie sicher, dass keine übermittelte Job-Kette den gelöschten Auftrags-Job verwendet. Ändern Sie ggf. die entsprechende Element-Information im Editor und übermitteln Sie die Job-Kette erneut. Stellen Sie sicher, dass kein übermittelter Auftrag der gelöschten Job-Kette zugewiesen ist. Wenn möglich, weisen Sie den Auftrag im Editor einer anderen Job-Kette zu, anderenfalls suspendieren oder löschen Sie den Auftrag. Stellen Sie sicher, dass kein übermittelter Job oder Auftrag den gelöschten Schedule verwendet. Ändern Sie ggf. die entsprechende Element-Information im Editor und übermitteln Sie den Job bzw. Auftrag erneut Eigenschaften Neben allgemeinen Informationen des Objekts, werden Ihnen speziell bei Verknüpfungen der Pfad zum verknüpften Objekt angezeigt. Sollten Sie der Besitzer des Objekts sein oder root-rechte besitzen, so wird zudem ein Dialog zum Setzen der Rechte geöffnet. Näheres hierzu entnehmen Sie bitte dem Kapitel Rechte (Seite 24).

23 Workflow-Verwaltung Aktivieren Die Funktion wird Ihnen an allen Objekten unterhalb eines Job Scheduler Hot-Folders im Kontextmenü Funktionen- >Aktivieren angeboten. Mit dieser Funktion übermitteln bzw. aktualisieren Sie die Objekte in dem entsprechenden Job Scheduler. Sie können ein oder mehrere Objekte gleichzeitig aktivieren. Leere Verzeichnis werden nicht übermittelt. Für das Aktivieren benötigt man Ausführrechte. Bei der Aktivierung einzelner Objekte sind folgende Abhängigkeiten zu berücksichtigen: Übergebenes Objekt Job Job-Kette Auftrag Abhängigkeiten Ist dem Job im Editor (Seite 25) eine Prozess-Klasse, ein Schedule oder eine Sperre zugewiesen worden, so ist sicherzustellen, dass die entsprechende Prozess-Klasse, Schedule bzw. Sperre ebenfalls übermittelt ist. Alle Auftrags-Jobs der Job-Kette sollten ebenfalls übermittelt sein. Aufträge können nur wirksam werden, wenn sie im gleichen Ordner wie die ihr zugeordnete Job-Kette gespeichert sind. Ist dem Auftrag im Editor (Seite 25) ein Schedule zugewiesen worden, so ist sicherzustellen, dass der entsprechende Schedule ebenfalls übermittelt ist. Tabelle 4. Abhängigkeiten bei Objekt-Übermittlung Deaktivieren Die Funktion wird Ihnen an allen Objekten unterhalb eines Job Scheduler Hot-Folders im Kontextmenü Funktionen- >Deaktivieren angeboten. Mit dieser Funktion löschen Sie die Objekte in dem entsprechenden Job Scheduler. Innerhalb der Managed Jobs Oberfläche bleiben die Objekte erhalten. Sie können ein oder mehrere Objekte gleichzeitig deaktivieren. Für das Deaktivieren benötigt man Ausführrechte. Das Deaktivieren birgt Konsequenzen wie beim Löschen (Seite 22).

24 Workflow-Verwaltung Weitere Funktionen unterhalb eines Job Scheduler Hot-Folders Neben Aktivieren und Deaktivieren werden mitunter im Untermenü des Kontext-Eintrags Funktionen weitere objektabhängige Funktionen angeboten. Damit die dortigen Funktionen aktiv sind, müssen Sie Ausführrechte am Objekt besitzen. Diese Funktionen werden ausschließlich auf jenes Objekt angewendet, dessen Kontextmenü aufgerufen wurde. Es ist nicht möglich diese Funktionen auf mehrere Objekte gleichzeitig anzuwenden. Diese Funktionen werden auch als Button im Editor (Seite 25) angeboten. Folgende Tabelle zeigt, welche Funktionen an welchen Objekten zur Verfügung stehen und was diese leisten. Name Objekte Aufgabe Aktivieren und starten auftragsunabhängige Jobs und Aufträge Tabelle 5. Hot-Folder-Funktionen Diese Funktion entspricht dem "Aktivieren" und startet zudem ungeachtet des definierten Startintervalls den Job bzw. den Auftrag sofort. Testen Aufträge Diese Funktion entspricht dem "Aktivieren", jedoch ohne Übermittlung des Startintervalls. Der Auftrag ist damit nicht persistent. Der Auftrag wird einmalig gestartet und wird am Ende der Job-Kette gelöscht. Aufträge löschen Job-Ketten Diese Funktion entspricht dem "Deaktivieren" aller der Job-Kette zugeordneten Aufträge. In der Web-Oberfläche bleiben die Aufträge erhalten, so dass diese dem Job Scheduler über die Web-Oberfläche erneut übermittelt werden kann. Historie Aufträge Für jeden gestarteten Auftrag werden Informationen in einer Historie gehalten, die hier für den entsprechenden Auftrag angezeigt werden. Der sich öffnende Dialog gibt Auskunft über Verarbeitungsdauer und Status. Ist zu dem ein Job Scheduler gestartet, dann kann ein Log aufgerufen werden, in dem in die jeweilige Zeile der gelisteten Auftragsläufe geklickt wird. Anzeigen Dokumentationen Die Dokumentation wird in einem neuen Fenster angezeigt. Sofern die Dokumentation dem Schema für Dokumentationen entspricht, wird zuvor eine entsprechende XSL-Transformation erfolgen. 5.4 Rechte In der Rechteverwaltung gibt es eine Rechteliste namens Workflow Administration. In ihr werden die Rechte Gruppe: root, Gruppe: Entwickler und Gruppe: Operator vergeben, die Lese-, Schreib- und Ausführrechte implizieren. Um Job-Typen oder Datenbank-Verbindungen bearbeiten zu können, werden die dort notwendige Schreibrechte durch die Rechte Gruppe: root und Gruppe: Entwickler gewährleistet. Das Recht Gruppe: Operator hat dort lediglich Leserechte. In der Workflow-Verwaltung werden die Rechte für jedes Objekt einzeln vergeben. Um die Rechte eines Objekt zu ändern, muss man Besitzer des Objekts sein. Im Kontextmenü unter Eigenschaften (Seite 22) öffnet sich der Dialog zur Rechtevergabe. Es wird Ihnen ein Formular mit neun Checkboxen und einem korrespondierenden Eingabefeld angeboten. In dem Eingabefeld sind die Rechte durch 3 Ziffern codiert. Die 1. Ziffer bestimmt die Rechte des Besitzers des Objekts. Die 2.Ziffer bestimmt die Rechte der Entwickler. Das sind jene Anwender, die in der Rechteverwaltung das Recht Gruppe: Entwickler zugeordnet bekommen haben. Die 3. Ziffer bestimmt die Rechte für Entwickler und Operateure gleichsam, d.h. für all jene Anwender die in der Rechteverwaltung das Recht Gruppe: Entwickler oder Gruppe: Operator bekommen haben.

25 Workflow-Verwaltung 25 Jede diese Ziffern codiert die Rechte mit 0 bis 7. Das Leserecht wird durch eine 4, das Schreibrecht durch eine 2 und Ausführrecht durch eine 1 repräsentiert. Die Summe beschreibt dadurch alle drei Rechtearten. Wenn Sie im Formular lieber den Zahlencode im Eingabefeld bearbeiten möchten, so werden gleichzeitig die Checkboxen darüber aktualisiert. Nutzen Sie lieber die Checkboxen, so wird der Zahlencode angepasst. Um ein neue gesetztes Recht zu übernehmen, müssen Sie den Dialog mit dem Speichern-Button beenden. Drücken Sie auf die Enter-Taste (und der Cursor ist noch immer im "Eigenschaften"-Dialog fokussiert), dann wird der Dialog ebenfalls mit Speichern beendet. Ein Anwender mit dem Recht Gruppe: root aus der Rechteverwaltung hat, unabhängig von den in den "Eigenschaften" gesetzten Rechte, immer vollen Zugriff. Es gibt jedoch geschützte Verzeichnisse. Diese sind das Wurzelverzeichnis (/) und die Job Scheduler Hot-Folder inklusive ihrer "live"-unterordner. Die Funktionen der geschützen Verzeichnisse sind auch für den root-anwender eingeschränkt, insofern diese Ordner weder verschoben, gelöscht noch umbenannt werden können. Besitzt man nicht das Leserecht eines bestimmten Objekts, so wird dieses Objekt in der rechten Inhaltsliste mit inaktiver Checkbox angezeigt. Gleichzeitig sind diese Objekte funktionslos, d.h. sie können weder kopiert, verschoben, gelöscht noch umbenannt werden. Lediglich der Eintrag "Einstellungen" wird im Kontextmenü zur Auswahl stehen. Sofern man Besitzer des Objekts ist, kann man hier ggf. die Rechte wieder neu setzen. Ist dieses Objekt kein Verzeichnis kann der Editor nicht geöffnet werden. Ist dieses Objekt ein Verzeichnis kann es nicht geöffnet werden und wird im linken Baum des Explorer ausgeblendet. Wenn Sie also mehreren Objekten das Leserecht entziehen wollen, brauchen Sie nur das Leserecht am Ordner, in dem sich die Objekte befinden, entfernen. Wird ein Objekt neu angelegt, so ist dieses erstmal für alle lesbar. Fehlt Ihnen das Schreibrecht in einem Ordner, dann können Sie diesen nicht umbenennen oder löschen und auch kein Objekte in den Ordner kopieren, verschieben oder neu anlegen. Die anderen Objekten können ohne Schreibrecht ebenfalls nicht umbenannt oder gelöscht werden. Desweiteren können Sie die Konfiguration des Objekt nicht ändern, d.h. der Editor wird nur zum Lesen geöffnet. Ein neu angelegtes Objekt ist vorerst für den Besitzer und für alle Entwickler beschreibbar. Ausführrechte spielen lediglich in den Job Scheduler Hot-Foldern eine Rolle. Sie werden für alle Funktionen benötigt, die im Kontextmenü im Untermenü Funktionen liegen. Diese sind z.b. Aktivieren (Seite 23) und Deaktivieren (Seite 23). Ein neu angelegtes Objekt ist vorerst nur für Entwickler ausführbar. Nach dem Setup sind diverse Ordner und andere Objekte gemäß Tabelleninhalt nach Installation bereitgestellt. Diese haben per Voreinstellung die Rechte rwxrwxr-- (774) und den internen Besitzer der Workflow-Verwaltung namens root. 5.5 Editor Der Editor wird durch Klicken eines Objekts (außer Ordner) oder durch den Eintrag Bearbeiten im Kontextmenü aufgerufen. Objekte werden im Job Scheduler durch XML-Dateien konfiguriert. Die im Editor angebotenen Formulare generieren das entsprechende XML und schreiben dieses in die Datenbank (Tabelle SCHEDULER_MANAGED_OBJECTS). Beim Öffnen des Editor eines bereits konfigurierten Objekts wird das XML aus der Datenbank gelesen und entsprechende Formular-Felder gefüllt. Statt der Formular-Felder kann auch eine XML-Ansicht (Seite 26) zur Konfiguration genutzt werden. Der Aufbau des Editor ist für alle Objekte gleich gestaltet.

26 Workflow-Verwaltung Links oben sehen Sie einen Button mit der Aufschrift XML, dessen Funktion im Abschnitt XML-Ansicht (Seite 26) erklärt ist. 2. Für Jobs und Aufträge wird in einer 2.Zeile die verwalteten Job- bzw. Auftragstypen, sowie Datenbank-Verbindungen zur Auswahl angezeigt (siehe Abschnitt Job-/ Auftrags-Typen setzen (Seite 27)). Bei Aufträgen, deren Job-Kette noch nicht durch den Objektnamen bestimmt ist, wird zusätzlich ein Eingabefeld angeboten, in dem die Job-Kette anzugeben ist. 3. Darunter werden abhängig vom Objekt für fast jedes Element und Attribut der Job Scheduler Konfiguration (siehe Dokumentation des Job Schedulers) Formularfelder bereitgestellt (siehe Abschnitt Objekt-Konfiguration bearbeiten (Seite 28)). Manche Elemente und Attribute der Konfiguration sind ausgeblendet, da sie entweder von der Anwendung gesetzt werden oder im Rahmen der Managed-Jobs keine sinvolle Konfiguration ergäben. 4. Am Ende werden schließlich Buttons angeboten, dessen Funktionen im Abschnitt Buttons (Seite 35) erklärt werden Importieren und Exportieren mittels der Zwischenablage (XML-Ansicht) Der Button links oben im Editor-Dialog mit der Aufschrift XML öffnet die XML-Ansicht der Objekt-Konfiguration in einem Textfeld. Hier kann das XML des Objekts gemäß der Dokumentation des Job Schedulers ohne Nutzung der im Editor angebotenen Formulare konfiguriert werden.

27 Workflow-Verwaltung 27 Die Buttons Übernehmen und Abbrechen schließen den Dialog der XML-Ansicht. Während der Button Abbrechen Änderungen unberücksichtigt lässt werden mittels Übernehmen Änderungen übernommen und in die Formular-Ansicht des Editor entsprechend angepasst. Wenn die Managed Jobs Oberfläche mit PHP5 abläuft, kann beim Übernehmen das XML gegen das Schema./web/config/scheduler.xsd validiert werden, wenn in die./web/custom/custom.inc.php entsprechend konfiguriert ist (siehe Abschnitt Import (Seite 19)). Das Textfeld der XML-Ansicht kann auch genutzt werden, um mit der Zwischenablage XML zu importieren bzw. zu exportieren Job-/ Auftrags-Typen setzen Zur vereinfachten Zuweisung von Parametern sind innerhalb der Workflow-Verwaltung (Seite 42) Jobs und Aufträge mit vorgefertigten Typen versehen. Speziell für Jobs und Aufträge wird daher im Editor eine Liste der verwalteten Typen ausgegeben. Je nach Wahl des Typs werden Parameter vorbesetzt und am Job das <script> -Element gefüllt. Nach dem Setup sind diverse Typen vordefiniert (siehe Tabelle 8). Diese haben bestimmte vordefinierte Parameter gemäß Tabelle 11. Zusätzlich der Parameter aus Tabelle 11 kann es noch zwei weitere Parameter namens command und database_connection geben. Der Parameter database_connection wird durch die Auswahlliste DB-Verbindung gesetzt. Inhalt dieser Auswahlliste ist durch die Verwaltung der Datenbank-Verbindungen (Seite 44) bestimmt. Dieser Parameter wird von den Typen Database Statement, Database Report und Customised Report benötigt. Der Parameter command wird für die Typen Executable File, Executable PHP File, Database Statement, Database Report und Customised Report angeboten. Während für Executable File und Executable PHP File hier der Kommandozeilen-Programmaufruf angegeben wird, erwarten Database Statement, Database Report und Customised Report in dem Parameter SQL-Statements. Der Wert wird dem Job bzw. Auftrag hexadezimal codiert übergeben. So ist gewährleisten, dass alle Zeichen XML-tauglich gespeichert werden. Änderungen der Auswallisten (Job-Typ und DB-Verbindung) werden mittels des Buttons rechts übergeben.

28 Workflow-Verwaltung Objekt-Konfiguration bearbeiten Links werden die Elemente des Objekts in einem Baum angezeigt. Das oberste Element ist das Wurzel-Element des jeweiligen Objekts. Jedes Element besitzt ein Kontextmenü, um Kind-Elemente hinzuzufügen oder sich selbst zu löschen. Auf der rechten Seite wird eine Formular der Attribute des gewählten Elements angezeigt. Hat das gewählte Element keine Attribute, sondern nur Kind-Elemente, so wird ein entsprecheder Hinweis ausgegeben. Näheres zu den Kind-Elementen und deren Attribute entnehmen Sie bitte der Dokumentation zum Job Scheduler. Ein Ausrufezeichen (!) rechts neben dem Formular-Element deutet ein Muss-Feld an. Desweiteren wird rechts neben dem Formular-Element gegebenenfalls ein spezielles Datenformat ausgewiesen und/oder folgende Symbole dargestellt: Öffnet einen Kalender-Dialog für Datumsfelder Öffnet eine Liste möglicher Eingaben zum Auswählen Öffnet einen Dialog zum Hinzufügen des im Formularfeld geforderten Objekts. Es werden nur Objekte bzw. deren Verknüpfungen angezeigt, für die Leserechte bestehen. Der Dialog beginnt im aktuellen Verzeichnis. Speziell für Jobs, Job-Ketten und Aufträge wird die Konfiguration durch zusätzliche Dialoge erleichtert. Diese zusätzlichen Dialoge werden durch das Symbol geöffnet und stehen bei Jobs am params-, script-, commands- und run_time-element... Aufträge am params- und run_time-element... Job-Ketten am job_chain-element zur Verfügung. Diese Dialoge unterstützen die Verwaltung obiger Elemente in einem neuen Fenster. Lesen Sie hierzu die entsprechenden Kapitel der Parameter-Verwaltung (Seite 30), der Skript-Verwaltung (Seite 31), des Run Time Editor (Seite 28), des Commands Editor (Seite 34) und des Job Chain Editor (Seite 34) Run Time Editor Aufgrund der Komplexität bei der Angabe eines Startintervalls (<run_time>-element) für Jobs oder Aufträge wird Ihnen der Run-Time-Editor als Unterstüzung angeboten. Klicken Sie hierzu auf das Symbol neben der run_time. Die Oberfläche gleicht einem Teil des Job-Editor (./bin/jobeditor.(sh cmd)).

29 Workflow-Verwaltung 29

30 Workflow-Verwaltung Parameter-Verwaltung am Auftrag oder Job Sofern in den Einstellungen zum Job-/ Auftrags-Typ Bereiche mit Schema eingerichtet wurden, werden diese hier angezeigt. Zu oberst werden die lokalen Paranmeter aus den Bereichen namens.../mixed/... und.../local/... ausgegeben. Näheres zu den Bereichen und ihren Schemata und Sektionen entnehmen Sie bitte dem Kapitel Einstellungen (Seite 47). Änderungen der lokalen Parameter gelten nur für den aktuellen Job bzw. Auftrag. Darüber hinaus werden am Ende bzw. ausschließlich lokale einstellungsfreie Parameter angezeigt, in der weitere Parameter (Name und Wert) gesetzt werden können. Diese rühren nicht aus den Einstellungen her. Sie brauchen demnach nicht zwingend Bereiche in den Einstellungen einzurichten, doch erleichtert es die Parameter-Verwaltung immens. Abhängig vom Job- bzw. Auftrags-Typ gibt es zwei lokale einstellungsfreie Parameter mit einer eine Sonderrolle. Diese sind database_connection und command. Dem Parameter database_connection wird eine Auswahlliste zugewiesen, deren Inhalt aus der Verwaltung der Datenbank-Verbindungen (Seite 44) herrührt. Für den Parameter command wird ein Textfeld angeboten. Der Wert dieses Parameters wird hexadezimal codiert. Auf diese Weise kann der Wert dieses Parameters, obwohl es ein Attribut des konfigurierenden XML ist, alle Zeichen (insbesondere Umbrüche) XML-konform zugewiesen werden. Sollten Sie ein Script für einen Job implementieren, der einen Parameter namens command auswertet, dann muss beachtet werden, dass das Script den Wert des Parameters zuerst decodiert. Innerhalb von Job-Ketten überschreiben die Parameter der Aufträge gleichnamige Parameter der Jobs, sofern der Job einen der vordefinierten Job-Typen (Seite 42) zugewiesen wurde. Das gilt ebenso für die Parameter database_connection und command. Der Button Speichern speichert alle Parameter am aktuellen Job bzw. Auftrag und aktualisiert überdies die globalen Parameter aller Jobs bzw. Aufträge gleichen Typs. Anschließend wird zum zuvor aufgerufenen

31 Workflow-Verwaltung 31 Bearbeitungs-Formular zurückgekehrt. Für die Anzeige des Buttons Speichern werden Schreibrechte vorausgesetzt. Der Button Abbrechen kehrt ohne zu speichern in das zuvor aufgerufene Bearbeitungs-Formular zurück. Der Button Weitere Eingaben erweitert die Eingabemöglickeit der lokalen einstellungsfreien Parameter um weitere fünf leere Zeilen. Es wird nicht gespeichert. Zuvor gemachte Änderungen bleiben erhalten Skripte und Monitor-Skripte am Job Dieser Dialog soll Ihnen insbesondere durch ein größeres Textfeld das Scripting erleichtern. Überdies können die vom der Job Scheduler API bereit gestellten Methoden bequem in das Textfeld als Hülse hinzugefügt werden. Für das script-element direkt unterhalb des job-elements wird dieser Dialog nur beim Job-Typ Standard Job angeboten, da für andere Job-Typen das script-element bereits automatisch konfiguriert wurde. Für das script-element unterhalb des monitor-elements wird dieser Dialog für all Job-Typen bereitgestellt. Skripte stellen Funktionen bereit, die während der Task optional gerufen werden. Lesen Sie hierzu die Referenzdokumentation zum Job Scheduler. Die bereitgestellten Funktionen sind spooler_init spooler_open spooler_process spooler_close spooler_on_success

32 Workflow-Verwaltung 32 spooler_on_error spooler_exit spooler_init wird einmal nach dem Laden des Skripts gerufen. Eine Rückgabe von True, 1 oder Empty (keine Rückgabe) wird als True verstanden und lässt die Verarbeitung fortfahren. Eine Rückgabe von False, 0, Nothing oder Null wird als False verstanden und beendet die Verarbeitung. spooler_exit wird gerufen und das Skript wird geschlossen. Bei einem Fehler in spooler_init wird mit spooler_exit fortgefahren. spooler_init eignet sich insbesondere für das Anlegen von Objekten, Datenbankverbindungen etc. spooler_open wird zu Beginn einer Task gerufen. Der Rückgabewert wird wie bei spooler_init interpretiert. Ist der Rückgabewert False oder es wird ein Fehler ausgelöst, dann wird spooler_close gerufen, anderenfalls wird mit spooler_process fortgefahren. spooler_open eignet sich insbesondere für das Anlegen einer Objektmenge und/oder das Öffnen einer Verbindung (Datenbank, FTP-Server, etc.). Bei spooler_process wird der Rückgabewert wie bei spooler_init interpretiert. Bei einem auftragsunabhängigen Job lässt False die Task mit spooler_close fortfahren, True mit einem weiteren Aufruf von spooler_process. Bei einem Auftrags-Job versetzt False den Auftrag in den Fehlerzustand, während True den nächsten Job der Job-Kette startet. Für auftragsunabhägige Jobs eignet sich spooler_process insbesondere zur schrittweisen Verarbeitung einer Objektmenge, die z.b. im spooler_open angelegt wurde. Die Implementierung von spooler_process bietet den Vorteil den Fortgang der Verarbeitung in der Oberfläche des Job Schedulers verfolgen zu können und die Task bei einem Schrittwechsel kontrolliert beenden zu können. spooler_close wird nach einem Fehler oder nachdem die Rückgabe der Methoden spooler_open oder spooler_process False liefert, zum Ende einer Task gerufen. Anschließend wird spooler_on_success oder bei einem Fehler spooler_on_error aufgerufen. spooler_close eignet sich insbesondere für das Schließen evtl. geöffneter Verbindungen (Datenbank, FTP-Server, etc.). spooler_on_success wird nach spooler_close gerufen, wenn kein Fehler vorliegt. spooler_on_error wird nach spooler_close gerufen, wenn ein Fehler vorliegt. Der Job wird gestoppt. spooler_exit wird unmittelbar vor dem Schließen des Skripts gerufen. spooler_exit eignet sich insbesondere zum Aufräumen ggf. angelegter Objekte. Monitor-Skripte stellen Funktionen bereit, die vor und nach der Task sowie vor und nach spooler_process gerufen werden. Der Monitor kann den Start der Task oder die Ausführung von spooler_process verhindern. Lesen Sie hierzu die Referenzdokumentation zum Job Scheduler. Die bereitgestellten Funktionen sind spooler_process_before spooler_process_after spooler_task_before spooler_task_after Die Funktion spooler_process_before wird vom Job Scheduler vor jedem spooler_process gerufen und sollte einen Wahrheitswert zurückgeben. Wenn vergessen wird, eine Rückgabe zu implementieren, dann liefert die Funktion true. Der Rückgabewert false verhindert den Aufruf von spooler_process. Der Job Scheduler setzt fort, als hätte spooler_process false geliefert. Die Funktion spooler_process_after wird vom Job Scheduler nach jedem spooler_process gerufen und kann einen Wahrheitswert zurückgeben. Der Rückgabewert von spooler_process_after ersetzt selbigen von

33 Workflow-Verwaltung 33 spooler_process. Der Rückgabewert von spooler_process kann der Funktion als Parameter übergeben werden. Die Funktion spooler_task_before wird vom Job Scheduler vor dem Laden der Task gerufen und sollte einen Wahrheitswert zurückgeben. Wenn vergessen wird, eine Rückgabe zu implementieren, dann liefert die Funktion true. Der Rückgabewert false verhindert das Starten der Task und die Funktion spooler_task_after wird nicht aufgerufen. Die Funktion spooler_task_after wird vom Job Scheduler aufgerufen, nachdem die Task geendet hat. Ist ihre gewählte Skript-Sprache Java, so müssen Sie die zu verwendende Java-Klasse angeben, welche obige Methoden implementiert haben könnte. Bei den anderen unterstützen Sprachen (JavaScript, Perl, VBScript) wird Ihnen rechts oben eine Auswahlliste angeboten, die in das Textfeld eine leere Funktion der oben beschriebenen einfügt. Statt im Textfeld zu scripten, können Sie das auch in eine Datei auslagern und in dem hier angebotenen Eingabefeld angeben. Die Pfeile links neben dem Textfeld vergrößern bzw. verkleinern das Textfeld. Beim Klick in das Textfeld wird zudem selbiges ebenfalls vergrößert, wenn es eine bestimmte Größe unterschritten hat. Der Button Speichern kehrt zum Editor zurück, welches ihre Eingaben entsprechend auswertet. Erst durch Speichern im Editor werden Ihre Eingabe der Objekt-Konfiguration hinzugefügt. Für die Anzeige des Buttons Speichern werden Schreibrechte vorausgesetzt. Der Button Abbrechen kehrt zum Editor zurück, ohne ihre Eingaben zu berücksichtigen. Wenn Sie die Funktionen in einem Texteditor formuliert haben, dann können Sie den Inhalt komplett in das Textfeld per Zwischenablage einfügen und abspeichern.

34 Workflow-Verwaltung Commands Editor Für jeden beliebigen Exit-Code eines Jobs kann ein weiterer Job (start_job) oder ein Auftrag (add_order) gestartet werden. Zur Verwaltung dieser Kommandos können Sie den Commands-Editor aufrufen (siehe oben (Seite 28)). Klicken Sie links oben auf commands, wenn Sie neue commands-elemente hinzufügen oder bestehende löschen wollen. Beim Hinzufügen werden commands-elemente mit einem Exit-Code in der Reihenfolge error, success, 1, usw. erzeugt. Wählen Sie links einen Exit-Code aus, um im Formular rechts diesen ggf. ändern zu können. Ist kein Exit-Code angegeben, so wird das links durch... dargestellt. Näheres zum commands-element entnehmen Sie bitte der Referenzdokumentation des Job Scheduler Job Chain Editor Zur Verwaltung von Job-Ketten können Sie den Job-Ketten-Editor aufrufen (siehe oben (Seite 28)). Dieser sollte die Verwaltung erleichtern. Insbesondere können Sie in ihm die Reihenfolge der Job-Ketten-Knoten verändern. Näheres zum job_chain-element entnehmen Sie bitte der Referenzdokumentation des Job Scheduler.

35 Workflow-Verwaltung Buttons Der Button... Abbrechen schließt den Editor-Dialog ohne Übernahme etwaiger Änderungen Speichern speichert etwaige Änderungen in die Datenbank (Tabelle SCHEDULER_MANAGED_OBJECTS) nachdem diverse Plausibilitäten überprüft wurden. Werden Fehler in den gemachten Angaben festgestellt, wird eine entsprechende Meldung ausgegeben, anderenfalls wird der Editor-Dialog geschlossen.... und Aktivieren übermittelt zusätzlich der Funktion des Speicherns das Objekt an den Job Scheduler (siehe Funktionen->Aktivieren im Kontexmenü (Seite 23)). Die Funktion wird nur angeboten, wenn das Objekt unterhalb eines Job Scheduler Hot-Folders gespeichert ist.... und Starten wird bei auftragsunabhängigen Jobs und Aufträgen angeboten, sofern das Objekt unterhalb eines Job Scheduler Hot-Folders gespeichert ist. Zusätzlich der Funktion des Speicherns wird das Objekt an den Job Scheduler übergeben und gestartet (siehe Funktionen->Aktivieren und Starten im Kontexmenü (Seite 24))

36 Workflow-Verwaltung Vordefinierte Objekte Nach dem Setup finden Sie unter /Samples Jobs und Job-Ketten, die als Muster für die eigene Entwicklung herangezogen werden können. Jede Job-Kette kann für ähnliche Aufgaben mehrere Aufträge des gleichen Typs enthalten. Aufträge können eine eigene Startzeit-Konfiguration besitzen, also unabhängig von einander zeitgesteuert gestartet werden. Die vordefinierte Objekte sind Beispiele für folgende zentrale Aufgaben: Ausführbare Dateien auf dem Server starten /Samples/Launch Executable Files/ launch_executable_file (Job-Kette)... scheduler_managed_executable_file (Auftrags-Job der Job-Kette)... launch_executable_file,order (Auftrag der Job-Kette) PHP-Dateien auf dem Server starten /Samples/Launch Executable Files/ scheduler_managed_executable_php_file (auftragsunabhängiger Job) SQL-Statements oder SQL-Prozeduren in einer Datenbank ausführen /Samples/Launch Database Reports/ launch_database_statement (Job-Kette)... scheduler_managed_database_statement (Auftrags-Job der Job-Kette)... launch_database_statement,order (Auftrag der Job-Kette) Per SQL Daten aus einer Datenbank auslesen, diese als Report aufbereiten und als versenden /Samples/Launch Database Reports/ scheduler_managed_database_report (auftragsunabhängiger Job) Die Java-Implementierung im script-element aller obiger Jobs kann sowohl als Auftrags-Job in einer Job-Kette oder auftragsunabhängig eingesetzt werden. 5.7 Wie richte ich ein Objekt ein? Egal welches Objekt Sie auch einrichten möchten, Sie haben hierfür mehrere Möglichkeiten. 1. Import einer XML-Datei per HTTP-Upload 2. Existierendes Objekt als Muster verwenden 3. Import eines XML aus der Zwischenablage im Editor nach vorherigem Anlegen im Explorer 4. Zu Fuß ohne Zuhilfenahme eines Musters oder XML durch Anlegen im Explorer und anschließendem Bearbeiten im Editor Um eine XML-Datei zu erzeugen oder ein XML der Zwischenablage zu entnehmen, könnten Sie z.b. den Job-Editor (./bin/jobeditor.(sh cmd)) nutzen. Sowohl beim HTTP-Import (Seite 19) als auch beim Kopieren eines Muster-Objekt (Seite 20) erhalten Sie ein bereits konfiguriertes, aber ggf. inaktives Objekt. Für die anderen beiden obigen Möglichkeiten muss zuvor ein Objekt im Explorer angelegt (Seite 19) werden. In allen Fällen muss anschließend der Editor (Seite 25) aufgerufen werden. Entweder um in der XML-Ansicht die Zwischenablage (Seite 26) zum Import oder aber die angebotenen Formulare zu nutzen.

37 Workflow-Verwaltung Sperre Sperren haben keine Kind-Elemente und nur ein Attribut. Entsprechend einfach ist die Formular-Ansicht des Editors. Die Mindestanforderung an eine zu importierende XML ist: <lock /> Prozess-Klasse Prozess-Klassen haben keine Kind-Elemente und nur zwei Attribute. Entsprechend einfach ist die Formular-Ansicht des Editors. Die Mindestanforderung an eine zu importierende XML ist: <process_class />

38 Workflow-Verwaltung Job Jobs haben die meisten Kind-Elemente, weshalb die Konfiguration durch weitere Dialoge (Parameter-Verwaltung (Seite 30), Skript-Verwaltung (Seite 31) und Run Time Editor (Seite 28)) unterstützt wird. Die Mindestanforderung an eine zu importierende XML ist: <job> <script...>...</script> </job> oder <job> <process.../> </job> Jeder Job benötigt wahlweise ein konfiguriertes script- oder process-element. script- und process-elemente sind exklusiv konfigurierbar, d.h. wenn Sie sich für das script-element entscheiden, dann kann ein process-element nur angelegt werden, wenn Sie zuvor das script-element löschen. Gleiches gilt auch umgekehrt. Öffnen Sie das Kontextmenü des job-elements, um das script- bzw. process-element anzulegen und klicken Sie anschließend auf das im linken Baum neu hinzugefügte Element. Dann werden Ihnen rechts die Attribute des Elements angezeigt. Im script-element muss eine Skriptsprache und ein in dieser Sprache implementiertes Skript übergeben werden. Dieses Skript kann in einer Datei ausgelagert sein. Klicken zur Konfiguration des script-elements auf das Symbol daneben. Es öffnet in einem neuen Fenster die zusätzliche Skript-Konfigurations-Oberfläche (Seite 31).

39 Workflow-Verwaltung 39 Ist die Skript-Sprache Java so braucht nur die aufzurufende Java-Klasse angegeben werden. Achten Sie darauf, dass der Job Scheduler, dem dieser Job übergeben wird, das entsprechende Java-Archiv im Klassenpfad enthält. Der Klassenpfad wird in der./config/factory.ini, Sektion [java], Eintrag classpath gesetzt. Sollte dem Job Scheduler das Java-Archiv noch nicht bekannt gemacht worden sein, so wird ein Neustart erforderlich. Ist die Skript-Sprache JavaScript, Perl oder VBScript, dann geben Sie den Pfad der Datei an, falls Ihr Skript in einer Datei ausgelagert ist und/oder nutzen Sie das Textfeld, um ihr Skript direkt zu editieren oder per Zwischenablage einzufügen. Der Pfad einer Datei muss aus Sicht des Job Scheduler, dem der Job übergeben wird stimmig sein, d.h. bei Verwendung des file-attributs im include-element: Pfad muss absolut oder relativ zum Arbeitsverzeichnis des Job Scheduler sein... live_file-attributs im include-element: Script-Datei muss ebenfalls im Hot-Folder gespeichert sein und der Pfad relativ zum Job gewählt werden Unter Unix müssen hinreichende Rechte vergeben werden. Beispiel: Beispiel eines einfachen Jobs <job> <script language="javascript"><![cdata[ function spooler_process() { spooler_log.info('hello world'); return false; } ]]></script> </job> Im process-element muss im Attribut file die auszuführende Datei angegeben werden. Der Pfad der Datei muss absolut oder relativ zum Arbeitsverzeichnis des Job Schedulers, dem der Job übergeben wird, gesetzt sein. Unter Unix müssen hinreichende Rechte vergeben werden. An dieser Stelle sei empfohlen, statt des process-element, einfach den Job-Typ Executable File in obiger Auswahlliste zu wählen. Damit wird automatisch das script-element durch eine den Job Scheduler bekannte Java-Klasse gefüllt. Ihnen werden darüber hinaus Parameter angeboten, die Sie bequem über die Parameter-Verwaltung (Seite 30) setzen. Insbesondere kann über den Parameter timeout der Process nach der hier angegebenen Zeit abgebrochen werden. Sollten Sie das Attribute process_class oder das Element lock.use füllen, so stellen Sie sicher, das die entsprechende Prozess-Klasse bzw. Sperre existiert, sonst kann der Job nicht initialisiert werden. Fügen Sie einem Job Parameter hinzu, dann ist darauf zu achten, dass im Attribut name des param-elements keine Sonderzeichen (\/:*?"'<> ) enthalten sind Job-Kette Job-Ketten haben zwar nur 5 Kind-Elemente, dennoch ist gerade hier einiges zu beachten, weshalb die Konfiguration durch den Job Chain Editor (Seite 34) unterstützt wird. Die Mindestanforderung an einer zu importierende XML ist: <job_chain> <[child_element] /> </job_chain> wobei [child_element] eines der 5 Kind-Elemente ist.

40 Workflow-Verwaltung 40 Die 5 Kind-Elemente können nicht alle gleichzeitig in einer Job-Kette enthalten sein. Eine Job-Kette kann entweder die Elemente file_order_source, job_chain_node, job_chain_node.end und file_order_sink oder die Elemente job_chain_node.job_chain und job_chain_node.end enthalten. Im ersten Fall werden in den job_chain_node-elementen im Attribut job Jobs der Kette hinzugefügt. Die Reihenfolge, in die Jobs aufgerufen werden, werden durch die Attribute state, next_state und error_state beschrieben. Zu jedem Job-Ketten-Knoten, in dem ein next_state oder error_state angegeben wurde, muss wiederum ein Job-Ketten-Knoten anlegt werden, der den entsprechenden state bekommt. Um die Job-Kette zu beenden muss es Job-Ketten-Endknoten geben. Das sind die Elemente job_chain_node.end oder file_order_sink, bei denen weder next_state noch error_state angegeben werden kann. Beispiel: Beispiel einer einfachen Job-Kette <job_chain> <job_chain_node state="0" job="scheduler_managed_executable_file" next_state="success" error_state="error" /> <job_chain_node.end state="success" /> <job_chain_node.end state="error" /> </job_chain> Die Jobs einer Job-Kette müssen Auftrags-Jobs sein. Stellen Sie sicher, dass alle angegebenen Jobs dem Job Scheduler bekannt sind, sonst kann die Job-Kette nicht initialisiert werden. Die Job-Kette wird durch Aufträge gestartet. Ein solcher Auftrag kann auch ein sog. Datei-Auftrag sein. Ein Datei-Auftrag wird durch das file_order_source-element angegeben. Durch das file_order_sink-element, kann die datei-auftragsauslösende Datei gelöscht oder verschoben werden. file_order_sink stellt auch einen Job-Ketten-Endknoten dar. Der zweiten Fall beschreibt eine Job-Kette von Job-Ketten. Im Attribut job_chain des job_chain_node.job_chain -Element werden Job-Ketten der Kette hinzugefügt. Die Reihenfolge, in die Job-Ketten aufgerufen werden, werden wiederum durch die Attribute state, next_state und error_state beschrieben. Auch hier muss zu jedem Job-Ketten-Knoten, in dem ein next_state oder error_state angegeben wurde, wiederum ein Job-Ketten-Knoten anlegt werden, der den entsprechenden state bekommt. Um die Job-Kette zu beenden muss es Job-Ketten-Endknoten geben, der durch das job_chain_node.end-element definiert wird. Stellen Sie sicher, dass alle angegebenen Job-Ketten dem Job Scheduler bekannt sind, sonst kann die Job-Ketten startende Job-Kette nicht initialisiert werden.

41 Workflow-Verwaltung Auftrag Aufträge haben nur 2 Kind-Elemente; params und run_time. Die Mindestanforderung an einer zu importierende XML ist: <order /> Vergeben Sie einem Auftrag ein run_time-element, so wird dieser Auftrag persistent, anderenfalls wird der Auftrag am Ende der Job-Kette gelöscht. Aufträge sind besonders gut geeignet, um einen Job einer Job-Kette parametrisiert zu starten. Dieser Job muss allerdings in der Lage sein, die Aufrags-Parameter zu verarbeiten. Beispiel: Beispiel eines Auftrags-Jobs, der Auftrags-Parameter verarbeitet <job> <script language="javascript" order="yes"><![cdata[ function spooler_process() { var order_params = spooler_task.order.params; var param_names = order_params.names.split( ";" ); for( var i in param_names ) { spooler_log.info( param_names[i] + "=" + order_params( param_names[i] ) ); } return true; } ]]></script> </job> Mit dem Modell eines Auftrags-Jobs in einer Job-Kette kann die Implementierung unverändert bleiben. Lediglich führen mehrere Aufträge unterschiedlicher Parameter zu unterschiedlichen Ergebnissen. So können Standard-Jobs geschaffen werden, wie auch bereits in der Anwendung enthalten (siehe Vordefinierte Objekte (Seite 36)).

42 Workflow-Verwaltung 42 Stellen Sie sicher, dass die am Auftrag angegebene Job-Ketten dem Job Scheduler bekannt sind, sonst kann der Auftrag nicht initialisiert werden. Fügen Sie einem Auftrag Parameter hinzu, dann ist darauf zu achten, dass im Attribut name des param-elements keine Sonderzeichen (\/:*?"'<> ) enthalten sind Schedule Schedules werden auftragsunabhängigen Jobs bzw. Aufträgen als Run Time übergeben, weshalb die Konfiguration durch den Run Time Editor (Seite 28) unterstützt wird. Die Mindestanforderung an einer zu importierende XML ist: <schedule /> Bei Ersatz-Schedules sind zudem die Attribute substitute, valid_to und valid_from Pflichtfelder, die den Gültigkeitszeitraum und das in diesem Zeitraum zu ersetzende Schedule angeben. 5.8 Job-/ Auftrags-Typen Innerhalb der Workflow-Verwaltung werden Jobs und Aufträge in Typen zusammengefasst. Das vereinfacht die Zuweisung der Parameter. In den Einstellungen können für jeden Typ die Namen der globalen und lokalen Parameter bestimmt werden, so dass im Editor (Seite 25) am Job oder Auftrag je nach Typ andere Parameter zur Bearbeitung ausgegeben werden. Näheres hierzu entnehmen Sie bitte dem Kapitel Einstellungen (Seite 47). Überdies werden alle Jobs eines Typs mit dem gleichen script-element konfiguriert. Die Web-Oberfläche für die Verwaltung der Job-/ Auftrags-Typen erreicht man über das Menü Workflow->Job-/ Auftrags-Typen. Es wird ein Formular zum Hinzufügen neuer oder zum Ändern/ Löschen vorhandener Job-/ Auftrags-Typen angezeigt. Darunter wird eine Liste der bereits gespeicherten Job-/ Auftrags-Typen ausgegeben. Innerhalb der

43 Workflow-Verwaltung 43 Liste ist der Typ jedes Job-/ Auftrags-Typs ein Link, der ausgeführt, die Daten zur weiteren Verarbeitung in das Formular überträgt. Wenn in den Einstellungen globale Parameter des Job-Typs eingerichtet wurden, so werden diese zusätzlich zur Bearbeitung vor der Liste der gespeicherten Job-/ Auftrags-Typen ausgegeben. Die hier gemachten Angaben werden als Voreinstellungen der Parameter bei Neuanlage eines Jobs genutzt. Unter PHP5 oder höher werden zudem allen bereits bestehenden Jobs dieses Job-Typs die Parameter zugewiesen, können aber im Parameter-Dialog des jeweiligen Jobs wieder überschrieben werden. Alle hier angegebenen Job-/ Auftrags-Typen stehen Ihnen im Editor am Job bzw. Auftrag in einer Auswahlliste zur Verfügung. Die Formularfelder Typ und Titel bestimmen den internen Namen und den in der Web-Oberfläche verwendeten Titel des Job-/ Auftrags-Typs in der entsprechenden Auswahlliste im Editor der Jobs bzw. Aufträge. Die Werte dieser beiden Felder sind über alle Typen eindeutig zu wählen. Der Typ darf bis auf den Unterstrich keine Sonderzeichen enthalten.

44 Workflow-Verwaltung 44 Das Formularfeld Skript erwartet eine Eingabe im XML-Format. Hier wird jene Java-Klasse oder VBScript-Datei etc. bestimmt, die vom Job ausgeführt werden soll. Der mögliche Inhalt des script-elements der XML-Konfiguration ist in der Dokumentation des Job Scheduler beschrieben. Für den Job-/ Auftrags-Typ standard wird dieses Feld nicht angeboten. Hier ist eine ensprechende Angabe im Editor des Jobs bzw. Auftrags zu machen. Der Button Übernehmen speichert den Satz in die Tabelle SCHEDULER_MANAGED_JOB_TYPES. Ist hierbei ein neuer Typ des Job-/ Auftrags-Typs gewählt worden, so wird ein neuer Typ angelegt. Ist der Typ des Job-/ Auftrags-Typs gleich dem eines bereits bestehenden, so wird dieser aktualisiert. Damit der Button Übernehmen angezeigt wird, werden Schreibrechte vorausgesetzt. Der Button Entfernen löscht nach einem Bestätigungs-Dialog den Typ. Die Typen database, database_report, custom_report, file und standard können generell nicht gelöscht werden. Damit der Button Entfernen angezeigt wird, müssen Schreibrechte bestehen. Der Button Skript setzen wird bei den Typen database, database_report, custom_report, file, ftp_receive, ftp_send und interpreter_* angeboten. Mit interpreter_* sind alle Typen gemeint, die mit interpreter_ beginnen. Der Button Skript setzen setzt den Inhalt des Feldes Skript auf folgende Standard-Werte zurück: Typ file interpreter_* database database_report custom_report ftp_receive ftp_send Skript <script language = "java" java_class = "sos.scheduler.managed.jobschedulermanagedexecutablejob"/> <script language = "java" java_class = "sos.scheduler.managed.jobschedulermanagedexecutablejob"/> <script language = "java" java_class = "sos.scheduler.managed.jobschedulermanageddatabasejob"/> <script language = "java" java_class = "sos.scheduler.managed.jobschedulermanageddbreportjob"/> <script language = "java" java_class = "sos.scheduler.managed.jobschedulermanagedcustomreportjob"/> <script language = "java" java_class = "sos.scheduler.ftp.jobschedulerftpreceive"/> <script language = "java" java_class = "sos.scheduler.ftp.jobschedulerftpsend"/> Tabelle 8. Standard-Java-Klassen diverser Job-Typen Der Button Skript setzen speichert das Formular nicht ab, daher werden keine Rechte vorausgesetzt. 5.9 Datenbankverbindungen Die Web-Oberfläche für die Verwaltung der Datenbankverbindungen erreichen Sie über das Menü Workflow-> Datenbankverbindung. Es wird ein Formular zum Hinzufügen neuer oder zum Ändern/ Löschen vorhandener Datenbankverbindungen angezeigt. Darunter wird eine Liste der bereits gespeicherten Datenbankverbindungen ausgegeben. Innerhalb der Liste ist der Name jeder Datenbankverbindung ein Link, der ausgeführt, die Daten zur weiteren Verarbeitung in das Formular überträgt. Alle hier angegebenen Verbindungen stehen Ihnen im Editor (Seite 25) am Job und Auftrag in einer Auswahlliste zur Verfügung.

45 Workflow-Verwaltung 45 Die Formularfelder Name und Titel bestimmen den internen Namen und den in der Web-Oberfläche verwendeten Titel der Datenbankverbindung in den Auswahllisten im Editor der Jobs bzw. Aufträge. Die Werte dieser beiden Felder sind über alle Verbindungen eindeutig zu wählen. Der Name darf bis auf den Unterstrich keine Sonderzeichen enthalten. Durch Wahl eines Datenbanksystems in der Auswahlliste DBMS werden mithin die Felder des JDBC-Treibers und der Standard-Verbindungs-URL wie folgt gesetzt: DBMS Treiber URL MySQL com.mysql.jdbc.driver jdbc:mysql://[host]:3306/[datenbank] Oracle oracle.jdbc.driver.oracledriver SQL Server 2000 SQL Server 2005 com.microsoft.jdbc.sqlserver. SQLServerDriver com.microsoft.sqlserver.jdbc. SQLServerDriver Tabelle 9. Datenbanksytemabhängige Vorbesetzungen jdbc:microsoft:sqlserver://[host]:1433;selectmethod= Cursor;databaseName=[datenbank] jdbc:sqlserver://[host]:1433;selectmethod=cursor; sendstringparametersasunicode=false; databasename=[datenbank] PostgreSQL org.postgresql.driver jdbc:postgresql://[host]:5432/[datenbank] DB2 com.ibm.db2.jcc.db2driver jdbc:db2://[host]:50000/[datenbank]:drivertype=2; retrievemessagesfromserverongetmessage=true; Sybase com.sybase.jdbc3.jdbc.sybdriver jdbc:sybase:tds:[host]:5000/[datenbank] Hierbei steht in [host] der Wert des Feldes Host und in [datenbank] der Wert des Feldes Datenbank. Ist Host leer, so wird localhost verwendet. Ist Datenbank leer, so wird test_db verwendet. Die Felder Name, Titel, DBMS, Treiber und URL sind Pflichtfelder. Die URL kann eine Standard-URL sein, bei der Host, Port und Datenbankname angegeben werden muss oder auch eine beliebige davon abweichende. Welche Angabe als URL herangezogen wird, bestimmt der aktivierte Radiobutton.

46 Workflow-Verwaltung 46 Der Button Übernehmen speichert den Satz in die Tabelle SCHEDULER_MANAGED_CONNECTIONS. Ist hierbei ein neuer Name der Verbindung gewählt worden, so wird ein neue Verbindung angelegt. Ist der Name der Verbindung gleich dem einer bereits bestehenden, so wird diese aktualisiert. Damit der Button Übernehmen angezeigt wird, werden Schreibrechte vorausgesetzt. Der Button Entfernen löscht nach einem Bestätigungs-Dialog die Verbindung. Beim Löschen ist darauf zu achten, dass kein Job oder Auftrag diese Verbindung benutzt. Hier sollte zuvor in der Konfiguration der entsprechenden Aufträge und/ oder Jobs eine andere Verbindung zuzuwiesen werden. Damit der Button Entfernen angezeigt wird, müssen Schreibrechte bestehen.

47 Einstellungen 47 6 Einstellungen Die Einstellungen werden über den Menüeintrag Einstellungen im linken Frame der Web-Oberfläche aufgerufen. Nach Aufruf der Einstellungen sehen Sie in der obersten Ebene die Bereiche gelistet. 6.1 Job Scheduler Netzwerk Klicken Sie in den Einstellungen auf die Application "Job Scheduler Network". Mit "(Neue Sektion)" legen Sie einen neuen Job Scheduler ihres Netzwerks an. Das Feld Name ist über alle Job Scheduler eindeutig zu wählen (z.b. Für den Titel empfehle ich den selben Wert zu verwenden. Mit dem Button Speichern unter speichern Sie den Eintrag und sehen wieder die Liste ihrer Sektionen. Wenn Sie eine bestehende Sektion bearbeiten oder löschen wollen, dann müssen auf die Pfeile neben dem Titel klicken. In dem dann geöffneten Dialog werden Ihnen entsprechende Buttons angeboten. Um die Einträge einer Sektion zu setzen, klicken Sie bitte auf den Titel der Sektion. Es werden Ihnen Eingabefelder für Alias, Host, Port, SchedulerID und Supervisor angeboten. Aufgrund einer Proxy-Konfiguration kann die Addresse des Job Scheduler von verschieden sein. In diesem Fall geben Sie im Feld Alias die veränderte URL an. Host, Port und SchedulerID ist zwingend anzugeben. Die SchedulerID muss

48 Einstellungen 48 über alle IDs eindeutig gesetzt werden. Es muss jene ID sein, die Sie auch im Startscript des Job Scheduler (./bin/jobscheduler.(sh cmd)) angegeben haben. Wenn der Job Scheduler ein Workload Scheduler ist, dann müssen Sie im Feld Supervisor den Host und den Port des Supervisors mit einem Doppelpunkt (:) getrennt eintragen. Schließen Sie den Dialog mit dem Button Speichern. Wann immer Sie ihr Netzwerk verändert haben, sollten Sie im linken Frame den Link...prüfen unterhalb "Registrierte Scheduler" betätigen. Dieser aktualisiert ihr Netzwerk in der Session der Oberfläche. 6.2 Parameter Für jeden Job- und Auftrags-Typ können in den Einstellungen sogenannte Bereiche und Schemata eingerichtet werden. In den Schemata werden Parameternamen eingegeben. Diese nehmen in so fern Einfluss auf die Anzeige der Parameter im Editor (Seite 25), als dass dort die Schemata mit ihren Parametern ausgegeben werden. Es wird zwischen globalen und lokalen Parametern unterschieden. Globale Parameter gelten für alle Aufträge bzw. Jobs gleichen Typs, während lokale Parameter für jeden Auftrag bzw. Job unabhängig gesetzt werden können. Zur Zeit werden am Auftrag nur lokale Parameter unterstützt. Am Job werden zur Zeit die globalen Parameter lediglich als Voreinstellung beim Anlegen eines Jobs herangezogen Bereiche für Parameter-Verwaltung einrichten In alle Dialogen der Einstellungen gibt es zu oberst ein Link (alle Einstellungen) mit dem Sie diese oberste Ebene erreichen. Der erste Link in der Liste der Bereiche öffnet einen Dialog zur Anlage eines neuen Bereichs. Die Pfeile neben dem Titel bestehender Bereiche der Liste öffnet einen Dialog zur Bearbeitung des Bereichs. Hier sind Name, Titel, Eingabeformat und optional eine Beschreibung einzugeben. Das Eingabeformat ist auf Wertetabelle zu setzen. Der Titel kann beliebig gewählt werden und wird innerhalb der Einstellungen und in der Parameter-Verwaltung (Seite 30) als Titel des Bereichs verwendet. Der Name muss eindeutig über alle Bereiche sein und muss folgender Form entsprechen. Name des Bereichs order_type/global/[typ] order_type/local/[typ] order_type/mixed/[typ] job_type/local/[typ] job_type/mixed/[typ] Tabelle 10. Mögliche Bereichsnamen Beschreibung Bereich für globale Auftrags-Parameter des Auftrags-Typs [typ] (wird z.zt. nicht unterstützt) Bereich für lokale Auftrags-Parameter des Auftrags-Typs [typ] Bereich für gemischte Auftrags-Parameter des Auftrags-Typs [typ] (wird z.zt. nicht unterstützt) Bereich für lokale Job-Parameter des Job-Typs [typ] Bereich für gemischte Job-Parameter des Job-Typs [typ] Im Editor werden zur Zeit nur die lokalen Parameter angeboten, während in der Job-Typ-Verwaltung (Seite 42) die globale Job-Parameter ausgegeben werden Schema und Sektionen für Parameter-Verwaltung einrichten Durch Klicken auf den Titel eines Bereichs in der Liste der Bereiche der obersten Ebene der Einstellungen öffnen Sie die Liste der Sektionen des gewählten Bereichs. Hier finden Sie den Link (Schema des Bereichs), der die Liste des Schemas des gewählten Bereichs öffnet. In dieser Liste wird der erste Link (neuer Eintrag) zum Öffnen des Dialogs zur Neuanlage eines Eintrags genutzt. Darunter befinden sich bereits anlegte Einträge, die durch Klicken auf den Titel bearbeitet werden können.

49 Einstellungen 49 Hier sind Name, optional Voreinstellung, Angaben zur Eingabe (Datentyp, Feldlänge, Pflichtfeld), Angaben zur Darstellung (Formularfeld, Anzeigenbreite) und optional eine Beschreibung einzugeben. Der Name muss eindeutig über alle Einträge dieses Schemas gesetzt werden und darf bis auf den Unterstrich keine Sonderzeichen enthalten. Dieser Wert bestimmt den Parameter-Namen innerhalb der Parameter-Verwaltung (Seite 30). Der Titel wird innerhalb der Einstellungen und in der Parameter-Verwaltung verwendet. Wollen Sie den Parameter vorbesetzen, so tragen Sie diesen Wert in der Voreinstellung ein. Ist das Darstellungsformat "Listbox" oder "Radio", dann bestimmt eine semikolonseparierte Liste als Wert in der Voreinstellung den Inhalt der Listbox bzw. die Beschriftung und Werte der Radiobuttons. Ist der Eingabeformat "Wahrheitswert", so werden automatisch Radiobuttons mit den Werten 0 und 1, sowie Beschriftungen "Ja" und "Nein" generiert. Vorbesetzungen bleiben dann unberücksichtigt. Die Beschreibung steht Ihnen, wenn angegeben, in der Parameter-Verwaltung (Seite 30) als Hilfetext zur Verfügung. Die auswertbaren Parameter werden durch das Skript bestimmt, das dem Typ zugeordnet ist. Für die oben im Kapitel Job-/ Auftrags-Typen (Seite 42) vorgestellten Typen file, interpreter_*, database, database_report, ftp_receive und ftp_send werden folgende Parameter ausgewertet, so fern im Skript des jeweiligen Typs die oben angegebenen Standard-Java-Klassen verwendet werden. Typ file interpreter_* database_report custom_report ftp_receive ftp_send Parameter-Name/Eingabeformat/Feldlänge/Beschreibung ignore_error/wahrheitswert//fehler bei Ausführung ignorieren? ignore_signal/wahrheitswert//signale bei Ausführung ignorieren? log_file/zeichenfolge/250/protokolldatei des ausgeführten Kommandos timeout/zahl/10/timeout für die Ausführung von Kommandos siehe file und zusätzlich interpreter/zeichenfolge/250/interpreter scheduler_order_report_asbody/wahrheitswert//report als Inhalt der versenden? scheduler_order_report_body/zeichenfolge-textarea/1000/layout der des Reports scheduler_order_report_filename/zeichenfolge/250/dateiname des Reports scheduler_order_report_mailbcc/zeichenfolge/250/ -adresse des BCC-Empfängers scheduler_order_report_mailcc/zeichenfolge/250/ -adresse des CC-Empfängers scheduler_order_report_mailto/zeichenfolge/250/ -adresse des Report-Empfängers scheduler_order_report_path/zeichenfolge/250/pfad des Reports scheduler_order_report_stylesheet/zeichenfolge/250/stylesheet für die Transformation scheduler_order_report_subject/zeichenfolge/250/betreff der des Reports scheduler_order_report_send_if_no_result/wahrheitswert//report verschicken, wenn es kein Ergebnis gab? scheduler_order_report_send_if_result/wahrheitswert//report verschicken, wenn es ein Ergebnis gab? siehe database_report und zusätzlich scheduler_order_report_language/zeichenfolge-auswahlliste/javascript;perlscript;vbscript/ 250/Script-Sprache für Reports scheduler_order_report_template/zeichenfolge/250/berichtsvorlage (HTML, Text etc.) ftp_host/zeichenfolge/250/host des FTP-Servers ftp_port/zahl/5/port des FTP-Servers ftp_user/zeichenfolge/250/ftp-nutzer ftp_password/zeichenfolge/250/ftp-kennwort ftp_account/zeichenfolge/250/ftp-konto ftp_transfer_mode/zeichenfolge/250/übertragungsart (binary oder ascii) ftp_passive_mode/wahrheitswert//passive Lieferart? ftp_remote_dir/zeichenfolge/250/verzeichnis auf FTP-Server ftp_local_dir/zeichenfolge/250/lokales Verzeichnis siehe ftp_receive Tabelle 11. Parameter bei Verwendung der Standard-Java-Klassen

50 Einstellungen 50 Gemäß dieser Tabelle könnten nunmehr Einträge dem Schema der typabhängigen Bereiche zugewiesen werden. Wenn das Schema eingerichtet ist, können die Sektionen eingerichtet werden. Nicht jeder Bereich erfordert die Einrichtung einer Sektion bzw. bei nicht jedem Bereich werden angelegte Sektionen von der Parameter-Verwaltung ausgewertet. Für die Bereiche namens order_type/global/... und order_type/mixed/... werden nur Sektions-Namen ausgewertet, die den in der Benutzerverwaltung eingepflegten Mandanten-Namen gleichen. Wenn einem Auftrag ein Mandant zugeordnet ist, dann wird in der Parameter-Verwaltung die entsprechende Sektion ausgegeben. Für den Bereich namens job_type/mixed/... werden nur die Sektion namens defaults zugelassen. Nutzen Sie den Link (neue Sektion) zur Einrichtung einer neuen Sektion. Hier sind Name, Titel und optional eine Beschreibung einzugeben. Der Titel kann beliebig gewählt werden und wird innerhalb der Einstellungen als Titel der Sektion verwendet. Der Name muss abhängig von Bereich wie oben beschrieben lauten. Wenn Sie selbst Skripte entwickeln, diese Job-Typen zuordnen und die Parameter hier eingeben wollen, müssen Sie berücksichtigen, dass die Parameter-Namen database_connection und command reserviert sind und hier nicht benutzt werden dürfen. Diese beiden Parameter liefern die Felder Datenbankverbindung und das SQL-Statement bzw. den Programm-Aufruf aus den Bearbeitungs-Dialogen der Jobs bzw. Aufträge.

51 Job-Typen 51 7 Job-Typen Die Managed Jobs haben vier vordefinierte Job-Typen (database statement, database report, custom report und executable file) für den Managed Database Job, den Managed Database Report Job, den Managed Custom Report Job und den Managed Executable Job. Alle anderen Jobs gehören zum Job-Typ "other jobs". 7.1 Managed Database Job Ein spezieller Job der Managed Jobs ist der Managed Database Job. Implementiert durch die Klasse JobSchedulerManagedDatabaseJob, ermöglicht es dieser Job, Statements in Datenbanken auszuführen. Dies können Datenbankprozeduraufrufe und SQL-Befehle sein. Der Managed Database Job nimmt Aufträge an, die in der Tabelle SCHEDULER_MANAGED_OBJECTS definiert sind. Er benutzt die am Auftrag im Parameter database_connection referenzierte Datenbankverbindung, um den im Parameter command enthaltenen Befehl auszuführen. Es ist möglich, im Parameter command mehrere Befehle anzugeben, die der Reihe nach ausgeführt werden. Diese müssen durch ein Semikolon und ein darauf folgendes Newline getrennt sein. Damit können zum Beispiel für MySQL Version 4.x Datenbanken zeitgesteuerte Prozeduren realisiert werden. Der Job gibt nach dem Ausführen der Kommandos kein COMMIT. Wird ein COMMIT benötigt, muss dieses im Datenbank-Kommando mit angegeben werden. Die Datenbank-Kommandos können parameterisiert werden. Dazu ist an beliebiger Stelle im Kommando eine Variable in der Form ${param} einzufügen. Diese wird dann vor der Ausführung durch den Wert des Auftragsparameters mit dem Namen param ersetzt. Beispiel: Command mit Parameter UPDATE EMP SET SAL=SAL*1.2 WHERE JOB='${jobname}'; Wird dem Auftrag ein Parameter mit dem Namen jobname und dem Wert CLERK übergeben, so wird das Kommando vor dem Aufruf ersetzt durch: UPDATE EMP SET SAL=SAL*1.2 WHERE JOB='CLERK'; Folgende Standardparameter sind immer vorhanden: ${scheduler_id} ID des Schedulers ${scheduler_order_id} ID des Auftrags ${scheduler_order_job_name} Name des Jobs ${scheduler_order_job_id} ID des Jobs 7.2 Managed Database Report Job Dieser Job ist eine Erweiterung des Managed Database Job. Genau wie dieser führt er Datenbank-Statements aus. Aus dem Ergebnis des letzten Select-Statements wird ein Report generiert, per verschickt und optional in einem Verzeichnis abgelegt. Der Report wird in einem XML-Format erzeugt, in dem alle Zeilen des Result Sets enthalten sind. Der Job kann den Report in diesem Format versenden, oder ihn zuvor mit Hilfe eines Style Sheets in ein anderes XML-Format

52 Job-Typen 52 oder in HTML umwandeln. Zu diesem Zweck wird im config-verzeichnis des Job Schedulers das Style Sheet default.xslt mitgeliefert. Dieses transformiert den Report in eine HTML-Tabelle. Ein Managed Database Report Job wird zunächst wie ein Managed Database Job konfiguriert. Zur Konfiguration des Reports können dem Auftrag (oder dem Job) folgende Parameter übergeben werden: scheduler_order_report_stylesheet: Pfad zum Style Sheet für die Transformation. Ist dieser Parameter nicht gesetzt, findet keine Transformation statt und der Report wird im Ausgangs-XML-Format verschickt. scheduler_order_report_mailto: -Empfänger des Reports scheduler_order_report_mailcc: -CC-Empfänger des Reports scheduler_order_report_mailbcc: -BCC-Empfänger des Reports scheduler_order_report_subject: Subject der Report- scheduler_order_report_body: Body der Report- scheduler_order_report_asbody: Enthält dieser Parameter den Wert true, dann wird der (HTML-)Report als Body der versendet. Der Parameter scheduler_order_report_body wird in diesem Fall ignoriert. scheduler_order_report_filename: Der angegebene Dateiname wird für den Namen des Anhangs ver wendet und für die permanent abgelegte Datei, falls ein Report-Pfad angegeben wird. scheduler_order_report_path: Wird hier ein Pfad angegeben, so wird der Report nicht nur per versendet, sondern hier abgelegt. Für die Parameter scheduler_order_report_path, scheduler_order_report_filename, scheduler_order_report_body und scheduler_order_report_subject können folgende Platzhalter verwendet werden: [date]: aktuelles Datum [datetime]: aktuelles Datum und Zeit [orderid]: ID des Auftrags [jobname]: Name des Jobs [taskid]: ID der Task [sql]: SQL-Query, aus der ein Report erstellt wird [xml]: aus dem Ergebnis der Abfrage generiertes XML vor der Transformation 7.3 Managed Custom Report Job Dieser Job ist eine Erweiterung des Managed Database Job. Wie beim Database Report Job werden Datenbank-Statements ausgeführt, aus denen ein Report generiert, per verschickt und optional in einem Verzeichnis abgelegt wird. Es gibt dabei zwei grundsätzliche Unterschiede zum Database Report Job: Es wird nicht nur das letzte Statement ausgewertet. Es können Ergebnisse aus allen Statements verwendet werden. Die Darstellung der (HTML)-Reports wird nicht durch ein XSLT Style Sheet bestimmt. Stattdessen gibt es eine Vorlage, in der sich HTML und Script-Code Blöcke abwechseln. Dieser Script-Code kann in JavaScript, Perl, oder VBScript geschrieben sein. Dies erlaubt eine höhere Flexibilität bei der Reportgenerierung, ist aber in einigen Fällen aufwändiger, als ein einfaches Style Sheet im Database Report Job. Folgende Aufgabe soll in diesem Kapitel als Beispiel für einen Managed Custom Report dienen: Es werden zwei Reports benötigt, die für jeweils unterschiedliche Zeiträume alle gelaufenen Jobs des Job Schedulers in einer Tabelle darstellen. Der eine Report soll alle Jobs anzeigen, die am vorigen Tag gelaufen sind. Der andere soll den Zeitraum der letzten 7 Tage betreffen. Die Reports werden per verschickt. Die Erzeugung der Reports soll durch zwei Aufträge geregelt werden. Diese Aufgabe ist auf unterschiedliche Weise lösbar: Die verwendeten SQL-Statements und der benötigte Mustertext (Template) für den Report werden in der Job Definition des Custom Report Jobs angegeben. In den zwei Aufträgen werden die unterschiedlichen Zeiträume über Variablen und die Startzeiten eingestellt. Der Vorteil ist eine Modularisierung, so dass das

53 Job-Typen 53 SQL und das Template nur einmal angegeben werden müssen. Der Nachteil ist, das der Job selbst eine sehr spezielle Aufgabe übernehmen muss und somit die Job-Kette für andere Aufgaben blockiert. Das SQL und der benötigte Mustertext (Template) werden in jedem Auftrag seperat definiert. Die Startzeiten der Aufträge werden in den Aufträgen definiert. Im Custom Report Job werden keine weiteren Definitionen gemacht. Der Vorteil ist eine Entlastung des Jobs und der Job-Kette, die somit weiterhin für andere Aufgaben zur Verfügung steht. der Nachteil ist die mehrfache Definition des gleichen SQLs und des Templates. Wir haben uns im folgenden für die zweite Lösung entschieden, da die Entlastung (Offenhaltung) der Job-Kette den geringen Mehraufwand rechtfertigt. Die Standard-Implementierung eines Custom Report Jobs und entsprechender Job-Kette liegt als Muster in /Samples/Launch Database Reports/scheduler_managed_custom_report bzw. /Samples/Launch Database Reports/launch_custom_report vor. Der Job hat den Job-Typ Customised Report. Für unsere Zwecke ist hier kein SQL eingetragen. Als Laufzeit ist nur angegeben, wann der Job laufen darf. Der Start des Jobs wird von den Aufträgen ausgelöst. Dies ist die Standard-Einstellung des Jobs Custom Report, die wir für unser Beispiel unverändert übernehmen können. Für unser Beispiel legen wir zwei neue Aufträge an: "Job Summary - 1 day" und "Job Summary - 1 week". Der Auftragstyp ist Customised Report. Da SQL ausgeführt werden soll, muss eine Datenbankverbindung gewählt werden, das Beispiel verwendet MySQL. Die hier gewählte Verbindung muss mit einem Datenbankbenutzer erfolgen, der ausreichende Rechte hat u.a. Tabellen lesen, erstellen und entfernen, da temporäre Tabellen erstellt werden, die nach Fertigstellen des Reports wieder gelöscht werden. Das auszuführende SQL für die Reporterstellung wird im Parameter command eingetragen. Der Code wird am besten mit einem Editor bearbeitet, getestet und anschließend hier eingefügt. Im Startintervall wird die Laufzeit eingetragen. Der 1. Auftrag soll täglich um 00:01 gestartet werden. Um das Ergebnis eines Datenbank-Statements in der HTML-Vorlage verwenden zu können, schreibt man hinter das SELECT Statement einen SQL-Kommentar mit dem Schlüsselwort variable gefolgt vom Namen einer Variablen, die in der Vorlage eingesetzt werden kann. Die in der SQL-Abfrage für den Job enthaltenen Variablen /* variable variable_name */ enthalten jeweils das Abfrageergebnis in Form eines zweidimensionalen JavaScript-Arrays: die erste Dimension enthält die jeweiligen Sätze des Abfrageergebnisses, die zweite Dimension enthält die Feldnamen in Kleinschreibung. Beispiel: Zuweisen eines SELECT Ergebnisses SELECT * FROM emp; /* variable emptest */ Damit steht im Template das zweidimensionale Array "emptest" zur Verfügung, über die auf alle Zeilen und Spalten der Ergebnisse zugegriffen werden kann. In JavaScript würde z.b. auf das erste Element der Spalte "JOB" mit emptest[0]["job"] zugegriffen werden. Zu beachten ist die Kleinschreibung des Spaltennamens im Array.

54 Job-Typen 54 Beispiel: SQL-Statements des Beispiels SELECT DATE_SUB(CURRENT_DATE(), INTERVAL ${retrospect} DAY) AS "ENTRY"; /* variable since */ SELECT "SPOOLER_ID" AS "JOB_SCHEDULER", "JOB_NAME", "ERROR", COUNT(*) AS "JOB_COUNT", "END_TIME"-"START_TIME" AS "ELAPSED" FROM SCHEDULER_HISTORY WHERE "START_TIME" >= DATE_SUB(CURRENT_DATE(), INTERVAL ${retrospect} DAY) AND IFNULL("END_TIME", DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)) <= CURRENT_DATE() GROUP BY 1, 2, 3, 5; /* variable overview */ SELECT "SPOOLER_ID" AS "JOB_SCHEDULER", "JOB_NAME", "ERROR", "START_TIME", "END_TIME", "END_TIME"-"START_TIME" AS "ELAPSED" FROM SCHEDULER_HISTORY WHERE "START_TIME" >= DATE_SUB(CURRENT_DATE(), INTERVAL ${retrospect} DAY) AND IFNULL("END_TIME", DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)) <= CURRENT_DATE() GROUP BY 1, 2, 3, 4, 5, 6; /* variable details */ Im Template stehen nun drei zweidimensionale Arrays mit den Namen "since", "overview" und "details" zur Verfügung. Als Parameter verwendet der Auftrag dieselben wie Database Report Job, sowie die folgenden: scheduler_order_report_language: Script-Sprache, die in der Vorlage verwendet wird. Gültige Werte sind JavaScript, PerlScript, VBScript. scheduler_order_report_template: Vorlagendatei (html+script) des Reports. In den SQL-Statements des Beispiels wird der Parameter ${retrospect} verwendet, der neben den Auftrags-Typ-Parametern manuell hinzugefügt werden muss. Beim Auftrag für den täglichen Report ist retrospect 1, beim Auftrag für den wöchentlichen Report 7. Auftragsparameter werden in SQL-Scripten in der Form ${parameter} verwendet. Die Auftragsparameter müssen gültiges SQL sein, sie werden automatisch zum Zeitpunkt der Job-Ausführung substituiert. Wenn man einen Auftrag für den Job Custom Report erstellt, muss in den Auftragsparametern der Pfad einer Musterdatei (Template) angeben werden. Diese Datei im HTML-Format dient der Aufbereitung der Ergebnisse der SQL-Statements. Der Mustertext des HTML-Reports wird im Dateisystem abgelegt, und der Dateiname mit Pfad im Parameter scheduler_order_report_template angegeben. Dateinamen können relativ zum Installationsverzeichnis des Job Schedulers angegeben werden. Die Gestaltung des Mustertextes (Template) für den Report kann mit einem beliebigen HTML-Editor erfolgen. Wie oben beschrieben, kann der Mustertext (Template) Variablen enthalten, die zur Ausführungszeit des Jobs substituiert werden bzw. mit einer Script-Sprache verarbeitet werden: Variablen werden in der Form $(variable) im laufenden HTML-Markup verwendet. Script-Bestandteile werden mit den Zeichen <% und %> geklammert. Innerhalb dieser Zeichen kann mit JavaScript bedingte Verarbeitung bzw. die Ausgabe der Abfrageergebnisse in Schleifen programmiert werden. In JavaScript werden die Zeilen in der ersten Dimension numerisch adressiert. emptest[2] wäre die dritte Zeile des Ergebnisses vom Beispiel. Auf die einzelnen Elemente wird über ihre Spaltennamen zugegriffen, z.b. emptest[2]["job"] für eine Spalte job. In VBScript werden die Zeilen numerisch über ein Array adressiert, also emptest(2). Jede Zeile in VBScript enthält ein Scripting.Dictionary Objekt, so dass man auf die einzelnen Elemente über ihre Name zugreifen kann, z.b. emptest(2).item("job") In Perl werden die Zeilen numerisch adressiert, z.b $emptest[2] Auf die Elemente wird mit Hilfe einer HashMap zugegriffen, z.b. $emptest[2]->{"job"}

55 Job-Typen 55 In der Vorlage werden die Codeblöcke eingeleitet durch <% und beendet mit %>. Um ausserhalb des Codes (also im HTML) eine Variable auszugeben, setzt man ihr ein $ voran, bzw $(variable): Hinweis: Um während der Entwicklung des Templates dieses zu testen, nutzen Sie die "Operationen->Testen"-Funktion im Kontextmenü des Auftrags. Zuvor müssen Sie jedoch gewährleisten, dass obiger Auftrags-Job und obige Job-Kette dem Job Scheduler übermittelt wurden. Zusätzlich wird empfohlen, das Log geöffnet zu haben, um die Job Verabeitung zu verfolgen. Sie öffnen das Log über "Job Scheduler"-> "Monitoring", und klicken Sie dort im Menu auf "Show log". Beispiel: Template zur Ausgabe eines Feldes (in JavaScript) <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=iso "> <title>test</title> </head> <body> <p>javascript test</p> <% var line = emptest[2]; // dritte Zeile var jobname = line["job"]; %> <p>$jobname</p> </body> </html> Liefert eine Abfrage mehrere Ergebnissätze zurück, so kann man diese in einer Tabelle ausgeben, indem man über die erzeugte Variable iteriert und pro Satz eine Tabellenzeile erzeugt. Beispiel: Ausgeben eines Ergebnisses als Tabelle (in JavaScript) <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=iso "> <title>test</title> </head> <body> <p>javascript test</p> <table> <% for(i=0; i<emptest.length; i++ ) {%> <tr> <td>$(emptest[i]["job"])</td> <td>$(emptest[i]["ename"])</td> </tr> <% } %> </table> </body> </html>

56 Job-Typen 56 Beispiel: Ausschnitt des Templates für unser Beispiel... <% var since = (since[0]["entry"]).substring(0,10); %> <p><strong>job Runtimes since $(since)</strong></p> <p><strong>job Overview:</strong><br/> <table width="100%" border="1" class="report"> <tr> <th class="report" width="17%"><strong>job_scheduler</strong></th> <th class="report" width="28%"><strong>job_name</strong></th> <th class="report" width="7%"><strong>error</strong></th> <th class="report"><strong>job_count</strong></th> <th class="report" width="10%"><strong>elapsed</strong></th> </tr> <% for(i=0; i<overview.length; i++ ) { %> <tr> <td>$(overview[i]["job_scheduler"])</td> <td>$(overview[i]["job_name"])</td> <td>$(overview[i]["error"])</td> <td>$(overview[i]["job_count"])</td> <% if (overview[i]["elapsed"]!="") {%> <td>$(overview[i]["elapsed"])</td> <% } else { %> <td>null</td> <% } %> </tr> <% } %> </table> </p>... Das folgende Bild zeigt den täglichen Report als Inhalt einer

Dokumentation: MediaWizard Installationsanleitung

Dokumentation: MediaWizard Installationsanleitung Dokumentation: MediaWizard Installationsanleitung Inhaltsverzeichnis 1 Aufbau von MediaWizard... 2 2 Installation... 2 2.1 Bestehende Installation und Daten... 2 3 Übersicht, wo wird was installiert...

Mehr

TimeMachine. Installation und Konfiguration. Version 1.4. Stand 21.11.2013. Dokument: install.odt. Berger EDV Service Tulbeckstr.

TimeMachine. Installation und Konfiguration. Version 1.4. Stand 21.11.2013. Dokument: install.odt. Berger EDV Service Tulbeckstr. Installation und Konfiguration Version 1.4 Stand 21.11.2013 TimeMachine Dokument: install.odt Berger EDV Service Tulbeckstr. 33 80339 München Fon +49 89 13945642 Mail rb@bergertime.de Versionsangaben Autor

Mehr

eadmin Manual Universitätsstraße 3 56070 Koblenz Deutschland

eadmin Manual Universitätsstraße 3 56070 Koblenz Deutschland DOKUMENT: TYP: ERSTELLT VON: Manual nova ratio AG Universitätsstraße 3 56070 Koblenz Deutschland VERSION: STAND: 9.x 23. September 2015 Inhaltsverzeichnis 1 2 2.1 2.2 2.3 3 3.1 3.2 3.3 4 4.1 4.2 4.3 4.4

Mehr

VisiScan 2011 für cobra 2011 www.papyrus-gmbh.de

VisiScan 2011 für cobra 2011 www.papyrus-gmbh.de Überblick Mit VisiScan für cobra scannen Sie Adressen von Visitenkarten direkt in Ihre Adress PLUS- bzw. CRM-Datenbank. Unterstützte Programmversionen cobra Adress PLUS cobra Adress PLUS/CRM 2011 Ältere

Mehr

HTL-Website. TYPO3- Skriptum II. Autor: RUK Stand: 02.06.2010 Gedruckt am: - Version: V0.1 Status: fertig. Qualitätsmanagement

HTL-Website. TYPO3- Skriptum II. Autor: RUK Stand: 02.06.2010 Gedruckt am: - Version: V0.1 Status: fertig. Qualitätsmanagement HTL-Website TYPO3- Skriptum II Autor: RUK Stand: 02.06.2010 Gedruckt am: - Version: V0.1 Status: fertig Qualitätsmanagement Erstellt Geprüft Freigegeben Name RUK Datum 02.06.2010 Unterschrift Inhaltsverzeichnis

Mehr

In dieser Anleitung zeigen wir Ihnen, wie in TYPO3 Dateien auf dem Server abgelegt werden und wie man einen Download-Link erstellt.

In dieser Anleitung zeigen wir Ihnen, wie in TYPO3 Dateien auf dem Server abgelegt werden und wie man einen Download-Link erstellt. 9 Das Hochladen und Verlinken von Dateien Inhaltsverzeichnis 9 Das Hochladen und Verlinken von Dateien 1 Vorbemerkung... 1 9.1 Anmeldung... 1 9.2 Dateiliste... 1 9.3 Neuen Ordner anlegen... 2 9.4 Datei

Mehr

AixVerein 2.0 - Anleitung zur Einrichtung des

AixVerein 2.0 - Anleitung zur Einrichtung des Seite 1/6 AixVerein 2.0 - Anleitung zur Einrichtung des Datenbank-Servers und der Dokumentenablage Bei der vorliegenden Anwendung handelt es sich um eine Client-Server-Anwendung, d.h. die Software wird

Mehr

Konfigurieren einer Caritas- Startseite für Abteilungen

Konfigurieren einer Caritas- Startseite für Abteilungen Konfigurieren einer Caritas- Startseite für Abteilungen Jürgen Eckert Domplatz 3 96049 Bamberg Tel (09 51) 5 02 2 75 Fax (09 51) 5 02 2 71 Mobil (01 79) 3 22 09 33 E-Mail eckert@erzbistum-bamberg.de Im

Mehr

Programm zur Verwaltung und Auswertung der SchülerStammdaten. Web SchüSta

Programm zur Verwaltung und Auswertung der SchülerStammdaten. Web SchüSta Programm zur Verwaltung und Auswertung der SchülerStammdaten Web SchüSta Web-SchüSta ist eine Web-Applikation, die in zwei Varianten eingesetzt werden kann: a) als EXE-Anwendung mit integriertem WebServer,

Mehr

Administration Gruppen (Institution)

Administration Gruppen (Institution) Administration Gruppen (Institution) Kurzanleitung für den Moderator (mit Administrationsrechten) (1) Loggen Sie sich ein und klicken Sie auf den Reiter Institution. (2) Wählen Sie rechts oben über die

Mehr

TimePunch SQL Server Datenbank Setup

TimePunch SQL Server Datenbank Setup TimePunch TimePunch SQL Server Datenbank Setup Benutzerhandbuch 26.11.2013 TimePunch KG, Wormser Str. 37, 68642 Bürstadt Dokumenten Information: Dokumenten-Name Benutzerhandbuch, TimePunch SQL Server Datenbank

Mehr

Starten Sie das Shopinstallatonsprogramm und übertragen Sie alle Dateien

Starten Sie das Shopinstallatonsprogramm und übertragen Sie alle Dateien 3. Installation Ihres Shops im Internet / Kurzanleitung Kurzanleitung: Starten Sie das Shopinstallatonsprogramm und übertragen Sie alle Dateien Geben Sie während der Webbasierten Installationsroutine alle

Mehr

GS-Programme 2015 Umzug auf einen neuen Computer

GS-Programme 2015 Umzug auf einen neuen Computer GS-Programme 2015 Umzug auf einen neuen Computer Impressum Business Software GmbH Primoschgasse 3 9020 Klagenfurt Copyright 2014 Business Software GmbH Die Inhalte und Themen in dieser Unterlage wurden

Mehr

Dokumentation - Schnelleinstieg FileZilla-FTP

Dokumentation - Schnelleinstieg FileZilla-FTP Dokumentation - Schnelleinstieg FileZilla-FTP Diese Anleitung zeigt Ihnen in aller Kürze die Bedienung des FileZilla-FTP-Clients. Standardmäßig braucht FileZilla nicht konfiguriert zu werden, daher können

Mehr

Outlook 2000 Thema - Archivierung

Outlook 2000 Thema - Archivierung interne Schulungsunterlagen Outlook 2000 Thema - Inhaltsverzeichnis 1. Allgemein... 3 2. Grundeinstellungen für die Auto in Outlook... 3 3. Auto für die Postfach-Ordner einstellen... 4 4. Manuelles Archivieren

Mehr

Bedienungsanleitung. FarmPilot-Uploader

Bedienungsanleitung. FarmPilot-Uploader Bedienungsanleitung FarmPilot-Uploader Stand: V1.20110818 31302736-02 Lesen und beachten Sie diese Bedienungsanleitung. Bewahren Sie diese Bedienungsanleitung für künftige Verwendung auf. Impressum Dokument

Mehr

Installation des edu- sharing Plug- Ins für Moodle

Installation des edu- sharing Plug- Ins für Moodle Installation des edu- sharing Plug- Ins für Moodle [edu-sharing Team] [Dieses Dokument beschreibt die Installation und Konfiguration des edu-sharing Plug-Ins für das LMS Moodle.] edu- sharing / metaventis

Mehr

Einfügen mit Hilfe des Assistenten: Um eine Seite hinzufügen zu können, müssen Sie nur mehr auf ein Symbol Stelle klicken.

Einfügen mit Hilfe des Assistenten: Um eine Seite hinzufügen zu können, müssen Sie nur mehr auf ein Symbol Stelle klicken. 2. SEITE ERSTELLEN 2.1 Seite hinzufügen Klicken Sie in der Navigationsleiste mit der rechten Maustaste auf das Symbol vor dem Seitentitel. Es öffnet sich ein neues Kontextmenü. Wenn Sie nun in diesem Kontextmenü

Mehr

Sichern der persönlichen Daten auf einem Windows Computer

Sichern der persönlichen Daten auf einem Windows Computer Sichern der persönlichen Daten auf einem Windows Computer DIRECTION DES SERVICES IT SERVICE DIT-MI DIREKTION DER IT-DIENSTE DIENSTSTELLE DIT-MI 1/9 1 Inhaltsverzeichnis 2 Einleitung... 3 3 Outlook Daten...

Mehr

DOKUMENTATION ky2help V 3.6 Servertests

DOKUMENTATION ky2help V 3.6 Servertests DOKUMENTATION ky2help V 3.6 Servertests Version: 1.1 Autor: Colin Frick Letzte Änderung: 01.02.2012 Status: Final Fürst-Franz-Josef-Strasse 5 9490 Vaduz Fürstentum Liechtenstein Fon +423 / 238 22 22 Fax

Mehr

RIWA NetUpdater Tool für automatische Daten- und Softwareupdates

RIWA NetUpdater Tool für automatische Daten- und Softwareupdates RIWA NetUpdater Tool für automatische Daten- und Softwareupdates Grundlegendes... 1 Ausführbare Dateien und Betriebsmodi... 2 netupdater.exe... 2 netstart.exe... 2 netconfig.exe... 2 nethash.exe... 2 Verzeichnisse...

Mehr

Administrative Tätigkeiten

Administrative Tätigkeiten Administrative Tätigkeiten Benutzer verwalten Mit der Benutzerverwaltung sind Sie in der Lage, Zuständigkeiten innerhalb eines Unternehmens gezielt abzubilden und den Zugang zu sensiblen Daten auf wenige

Mehr

Für Fragen und Anregungen, Wünsche und Verbesserungsvorschlägen zu diesem Handbuch können Sie mich gerne kontaktieren.

Für Fragen und Anregungen, Wünsche und Verbesserungsvorschlägen zu diesem Handbuch können Sie mich gerne kontaktieren. Inhaltsverzeichnis 1. Inhaltselemente bearbeiten Bild einfügen 2. Inhaltselement anlegen 3. Seite anlegen 4. Dateien verwalten Ordner anlegen Datei hochladen 5. Buttons 6. TYPO3 Backend (Aufbau) Einleitung

Mehr

Teamcenter Rapid Start (Rich Client)

Teamcenter Rapid Start (Rich Client) 15.06.15-1 - E:\Stefan\CAD\Teamcenter\TCRS10\Anleitungen\TeamcenterRich.doc Teamcenter Rapid Start (Rich Client) 1. Starten und Beenden - Teamcenter starten (Desktop-Verknüpfung): - Anmeldeinformationen

Mehr

Handbuch TweetMeetsMage

Handbuch TweetMeetsMage Handbuch TweetMeetsMage für Version 0.1.0 Handbuch Version 0.1 Zuletzt geändert 21.01.2012 Inhaltsverzeichnis 1 Einleitung... 3 1.1 Voraussetzungen... 3 1.2 Funktionsübersicht... 3 2 Installation... 4

Mehr

inoxision ARCHIVE 2.5 Quickstart

inoxision ARCHIVE 2.5 Quickstart inoxision ARCHIVE 2.5 Quickstart 1 Installationsvorbereitungen Für die Installation von inoxision ARCHIVE benötigen Sie einen Microsoft SQL Server der Version 2005 oder 2008, mindestens in der Express

Mehr

Installation des edu-sharing Plug-Ins für Moodle

Installation des edu-sharing Plug-Ins für Moodle Installation des edu-sharing Plug-Ins für Moodle [Matthias Hupfer, Steffen Hippeli] [Dieses Dokument beschreibt die Installation und Konfiguration des edu-sharing Plug-Ins für das LMS Moodle.] edu-sharing.com

Mehr

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2 Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2 1. Benötigte Software Zur Erstellung des Installers wird folgende Software benötigt. Es wird sich in dieser Dokumentation

Mehr

Anleitung für das Content Management System

Anleitung für das Content Management System Homepage der Pfarre Maria Treu Anleitung für das Content Management System Teil 5 Fotogalerien Anlegen neuer Fotoalben Das Anlegen neuer Fotoalben erfolgt in zwei bzw. drei Schritten: Im ersten Schritt

Mehr

Userhandbuch. Version B-1-0-2 M

Userhandbuch. Version B-1-0-2 M Userhandbuch Version B-1-0-2 M Inhaltsverzeichnis 1.0 Was bietet mir SERVRACK?... 3 1.1 Anmeldung... 3 1.2 Passwort vergessen?... 3 1.3 Einstellungen werden in Realtime übernommen... 4 2.0 Die SERVRACK

Mehr

Allgemein. Einrichtung. PHOENIX Tool WinUser2PHOENIXUser. Version: 3.5.2 Stand: 2013-04-16

Allgemein. Einrichtung. PHOENIX Tool WinUser2PHOENIXUser. Version: 3.5.2 Stand: 2013-04-16 PHOENIX Tool WinUser2PHOENIXUser Version: 3.5.2 Stand: 2013-04-16 Allgemein Das Tool ermöglicht es, Benutzerinformationen aus dem Windows Active Directory (AD) in den PHOENIX zu importieren. Dabei können

Mehr

DGNB System Software: Unterschiede zwischen Version 1 und Version 2

DGNB System Software: Unterschiede zwischen Version 1 und Version 2 DGNB System Software: Unterschiede zwischen Version 1 und Version 2 1 DGNB GmbH 2015 Inhaltsverzeichnis (1) 1. Aufteilung in Web-Oberfläche und Client 2. Anmeldung in der Web-Oberfläche 3. Installieren

Mehr

Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein.

Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein. Pfade einstellen Stand: Dezember 2012 Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein. Diese Anleitung soll zeigen, wie man Pfad-Favoriten

Mehr

SiteAudit Knowledge Base. Einrichtung & Verwaltung der Reporting Web Site

SiteAudit Knowledge Base. Einrichtung & Verwaltung der Reporting Web Site SiteAudit Knowledge Base Einrichtung & Verwaltung der Reporting Web Site Mai 2010 In diesem Beitrag: Funktionsübersicht Einrichtung RWS Verwaltung der Report-Ordner Zugriff auf SiteAudit Datenbanken SiteAudit

Mehr

Einrichtung des NVS Calender-Google-Sync-Servers. Installation des NVS Calender-Google-Sync Servers (Bei Neuinstallation)

Einrichtung des NVS Calender-Google-Sync-Servers. Installation des NVS Calender-Google-Sync Servers (Bei Neuinstallation) Einrichtung des NVS Calender-Google-Sync-Servers Folgende Aktionen werden in dieser Dokumentation beschrieben und sind zur Installation und Konfiguration des NVS Calender-Google-Sync-Servers notwendig.

Mehr

6RIW&OHDQ Š 9HUVLRQ8SJUDGHDQOHLWXQJ

6RIW&OHDQ Š 9HUVLRQ8SJUDGHDQOHLWXQJ 6RIW&OHDQ Š 9HUVLRQ8SJUDGHDQOHLWXQJ 6HKUJHHKUWH6RIW&OHDQ $QZHQGHU LQ XQVHUHP 6RIW&OHDQ 8SGDWHV 'RZQORDGEHUHLFK ILQGHQ 6LH ]ZHL $UWHQ YRQ 8SGDWHV 1DFKIROJHQGHUIDKUHQ6LHZHOFKHV8SGDWHI U6LHGDVULFKWLJHLVWXQGZLH6LHGDV8SGDWHDXI,KUHP$UEHLWVSODW]GXUFKI

Mehr

OPC-Server VM OPC. Anleitung. Installation, Konfiguration, Verwendung. Version 1.01

OPC-Server VM OPC. Anleitung. Installation, Konfiguration, Verwendung. Version 1.01 Installation, Konfiguration, Verwendung Version 1.01 Seite 2 von 20 OPC-Server VM OPC Revision Version Erstellt am Versionsnummer Bemerkung 1.00 26.07.2013 Erstellung 1.01 05.11.2013 2.14 - Reiter der

Mehr

Anwenderhandbuch. ipoint - Server

Anwenderhandbuch. ipoint - Server Anwenderhandbuch ipoint - Server Inhaltsverzeichnis 1 ÜBERWACHUNG DES SERVERPROZESSES... 3 1.1 DEN SERVER STARTEN... 3 1.2 DEN SERVER ANHALTEN/BEENDEN... 6 2 DEN SERVER KONFIGURIEREN... 8 3 FIREWALL...11

Mehr

G-Info Lizenzmanager

G-Info Lizenzmanager G-Info Lizenzmanager Version 4.0.1001.0 Allgemein Der G-Info Lizenzmanager besteht im wesentlichen aus einem Dienst, um G-Info Modulen (G-Info Data, G-Info View etc.; im folgenden Klienten genannt) zentral

Mehr

Anleitung. E-Mail Kontenverwaltung auf mail.tbits.net

Anleitung. E-Mail Kontenverwaltung auf mail.tbits.net Anleitung E-Mail Kontenverwaltung auf mail.tbits.net E-Mail Kontenverwaltung auf mail.tbits.net 2 E-Mail Kontenverwaltung auf mail.tbits.net Leitfaden für Kunden Inhaltsverzeichnis Kapitel Seite 1. Überblick

Mehr

Übersichtlichkeit im Dokumentenmanagement

Übersichtlichkeit im Dokumentenmanagement Übersichtlichkeit im Dokumentenmanagement Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 www.workshop-software.de Verfasser: SK info@workshop-software.de Datum: 02/2012

Mehr

Ein + vor dem Ordnernamen zeigt an, dass der Ordner weitere Unterordner enthält. Diese lassen sich mit einem Klick (linke Maustaste) anzeigen.

Ein + vor dem Ordnernamen zeigt an, dass der Ordner weitere Unterordner enthält. Diese lassen sich mit einem Klick (linke Maustaste) anzeigen. Ordner erstellen, Bilder ordnen Um neue Ordner zu erstellen und Bilddateien zu ordnen, bietet es sich an, sich zunächst die Hierarchie der bereits vorhandenen Ordner anzuschauen. Mit einem Klick auf Ordner

Mehr

WinSCP Zugriff auf Daten des Uni-Netzwerkes

WinSCP Zugriff auf Daten des Uni-Netzwerkes WinSCP Zugriff auf Daten des Uni-Netzwerkes Robert Hillig 2013/03 1. Vorwort Das Universitätsnetzwerk ist von außen per SSH (Secure SHell) über login.tu-chemnitz.de auf Port 22 erreichbar. SSH ist ein

Mehr

A-Plan 2010 SQL. Hinweise zur SQL-Version von A-Plan. Copyright. Warenzeichenhinweise

A-Plan 2010 SQL. Hinweise zur SQL-Version von A-Plan. Copyright. Warenzeichenhinweise A-Plan 2010 SQL Hinweise zur SQL-Version von A-Plan Copyright Copyright 1996-2010 braintool software gmbh Kein Teil dieses Handbuches darf ohne ausdrückliche Genehmigung von braintool software gmbh auf

Mehr

32.4 Anpassen von Menüs und Symbolleisten 795i

32.4 Anpassen von Menüs und Symbolleisten 795i 32.4 Anpassen von Menüs und Symbolleisten 795i Fortsetzung der Seiten in der 8. Auflage 32.4 Anpassen von Menüs und Symbolleisten 32.4.1 Anpassen von Menüs Die Menüs können um folgende Typen von Optionen

Mehr

Neues Projekt anlegen... 2. Neue Position anlegen... 2. Position in Statikdokument einfügen... 3. Titelblatt und Vorbemerkungen einfügen...

Neues Projekt anlegen... 2. Neue Position anlegen... 2. Position in Statikdokument einfügen... 3. Titelblatt und Vorbemerkungen einfügen... FL-Manager: Kurze beispielhafte Einweisung In dieser Kurzanleitung lernen Sie die wichtigsten Funktionen und Abläufe kennen. Weitere Erläuterungen finden Sie in der Dokumentation FLManager.pdf Neues Projekt

Mehr

lññáåé=iáåé===pìééçêíáåñçêã~íáçå=

lññáåé=iáåé===pìééçêíáåñçêã~íáçå= lññáåé=iáåé===pìééçêíáåñçêã~íáçå= Wie kann das LiveUpdate durchgeführt werden? Um das LiveUpdate durchzuführen, müssen alle Anwender die Office Line verlassen. Nur so ist gewährleistet, dass die Office

Mehr

TYPO3 Redaktoren-Handbuch

TYPO3 Redaktoren-Handbuch TYPO3 Redaktoren-Handbuch Kontakt & Support: rdv interactive ag Arbonerstrasse 6 9300 Wittenbach Tel. 071 / 577 55 55 www.rdvi.ch Seite 1 von 38 Login http://213.196.148.40/typo3 Username: siehe Liste

Mehr

Acrolinx IQ. Verbindungen mit externen Terminologiedatenbanken 2.9

Acrolinx IQ. Verbindungen mit externen Terminologiedatenbanken 2.9 Acrolinx IQ Verbindungen mit externen Terminologiedatenbanken 2.9 2 Inhalt Einleitung 3 Über diesen Leitfaden...3 Verbinden mit externen Terminologiedatenbanken 4 Erstellen von Sicherungen vorhandener

Mehr

Serverumzug mit Win-CASA

Serverumzug mit Win-CASA Serverumzug mit Win-CASA Wenn Sie in Ihrem Netzwerk einen Umzug der Server-Version durchführen müssen, sollten Sie ein paar Punkte beachten, damit dies ohne Probleme abläuft. 1. Nachweis-Ordner In der

Mehr

Installationsanleitung TOPIX WebSolution Server

Installationsanleitung TOPIX WebSolution Server Installationsanleitung TOPIX WebSolution Server WebSolution Version 1.309 TOPIX:8 Ab Version 8.9.3v2 Stand 08/2014 Inhalt 1 Systemvoraussetzungen...3 2 Vorbereitungen für die Installation...4 Die aktuelle

Mehr

Installation und Einrichtung von MS-SQL-Server zu opus i

Installation und Einrichtung von MS-SQL-Server zu opus i Installation und Einrichtung von MS-SQL-Server zu opus i Wichtig! Vor dem Beginn der Installation muss eine (vorher) fehlgeschlagene oder abgebrochene Installation des SQL-Servers 2005 zu 100% gelöscht

Mehr

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation MySQL-Job-Automation Managed User Jobs JOB SCHEDULER Dokumentation Juli 2005 Software- und Organisations-Service GmbH Giesebrechtstr. 15 D-10629 Berlin Telefon (030) 86 47 90-0 Telefax (030) 861 33 35

Mehr

Migration anhand von Wordpress

Migration anhand von Wordpress Migration anhand von Wordpress 1. Legen Sie eine Datenbank an... 2 1.1. Unterkonto anlegen... 2 2. Übertragen Sie die Dateien mittels FTP... 3 3. Anpassung der Variablen... 4 4. Verbindung zum neuen Server

Mehr

Das Listen Abgleich Interface wird einfach über Doppelklick auf die Datei Listen-Abgleich-Interface.accde gestartet.

Das Listen Abgleich Interface wird einfach über Doppelklick auf die Datei Listen-Abgleich-Interface.accde gestartet. Anleitung Listen Abgleich Interface Was macht das Listen Abgleich Interface? Das Listen Abgleich Interface importiert und gleicht Excel Listen, welche beispielsweise aus Web Kontaktformularen, Adresszukäufen

Mehr

bestinformed Javaclient Version 4.2 Funktionsumfang

bestinformed Javaclient Version 4.2 Funktionsumfang bestinformed Javaclient Version 4.2 Inhaltsverzeichnis 1. Einführung...3 2. Anzeige von Infos...3 2.1 Laufband...3 2.2 Sound...4 2.3 Bilder...4 2.4 Popup...4 3. Javaclient Konfigurationsfenster...5 4.

Mehr

Server: Welche Ausnahmen am Server ergänzt werden müssen, entnehmen Sie bitte dem Punkt 4.

Server: Welche Ausnahmen am Server ergänzt werden müssen, entnehmen Sie bitte dem Punkt 4. Anleitung Net.FX Inhalt 1 Installationshinweise 2 Erste Schritte 3 Arbeiten mit Net.FX 4 Firewall-Einstellungen für den Server 5 Gruppenrichtlinien: Einstellungen für die Clients 1 Installationshinweise

Mehr

Benutzerhandbuch Edith-Aktuelles

Benutzerhandbuch Edith-Aktuelles Benutzerhandbuch Edith-Aktuelles Den eigenen Internetauftritt verwalten so geht s! Eine Orientierungshilfe der NetzWerkstatt Programmierung: Die NetzWerkstatt GbR Geschäftsführer: Dirk Meinke und Sven

Mehr

StickSecurity Home Edition 2006

StickSecurity Home Edition 2006 StickSecurity Home Edition 2006 Inhalt: 1. Konfiguration Sprache wählen Wechseldatenträger wählen 1. 1 Allgemein Bedienung Hotkey 2. Menü Aktionen Passwort Sonstige USB Stick Info USB Explorer USB Backup

Mehr

Tutorial Grundlagen der Softwareverteilung

Tutorial Grundlagen der Softwareverteilung Tutorial Grundlagen der Softwareverteilung Inhaltsverzeichnis 1. Einführung... 3 2. Clientsysteme einrichten... 3 2.1 Den SDI Agent verteilen... 3 2.2 Grundeinstellungen festlegen... 4 3. Softwareverteiler...

Mehr

Die Dateiablage Der Weg zur Dateiablage

Die Dateiablage Der Weg zur Dateiablage Die Dateiablage In Ihrem Privatbereich haben Sie die Möglichkeit, Dateien verschiedener Formate abzulegen, zu sortieren, zu archivieren und in andere Dateiablagen der Plattform zu kopieren. In den Gruppen

Mehr

Überblick - Schnittstellen und Module

Überblick - Schnittstellen und Module * * Newsletter * Newsletter * Newsletter * Newsletter * Newsletter * Newsletter * Newsletter * * Liebe metropolis -Anwender, im Dezember 2013 nachfolgend die News Juli - Dezember 2013: Eine chronologische

Mehr

Acrolinx IQ. Verbindung mit einer externen Terminologiedatenbank herstellen 2.7

Acrolinx IQ. Verbindung mit einer externen Terminologiedatenbank herstellen 2.7 Acrolinx IQ Verbindung mit einer externen Terminologiedatenbank herstellen 2.7 2 Inhalt Einleitung 3 Über diesen Leitfaden...3 Verbinden mit externen Terminologiedatenbanken 4 Erstellen von Sicherungen

Mehr

Anwenderdokumentation AccountPlus GWUPSTAT.EXE

Anwenderdokumentation AccountPlus GWUPSTAT.EXE AccountPlus Inhaltsverzeichnis Inhaltsverzeichnis Anwenderdokumentation AccountPlus GWUPSTAT.EXE (vorläufig) ab Version 6.01 INHALTSVERZEICHNIS...1 1 ALLGEMEINES...2 2 INSTALLATION UND PROGRAMMAUFRUF...2

Mehr

3 ORDNER UND DATEIEN. 3.1 Ordner

3 ORDNER UND DATEIEN. 3.1 Ordner Ordner und Dateien PC-EINSTEIGER 3 ORDNER UND DATEIEN Themen in diesem Kapitel: Erstellung von Ordnern bzw Dateien Umbenennen von Datei- und Ordnernamen Speicherung von Daten 3.1 Ordner Ordner sind wie

Mehr

My.OHMportal Team Collaboration Dokumente in der Library

My.OHMportal Team Collaboration Dokumente in der Library My.OHMportal Team Collaboration Dokumente in der Library Felizitas Heinebrodt Technische Hochschule Nürnberg Rechenzentrum Kesslerplatz 12, 90489 Nürnberg Version 2 September 2013 DokID: teamcoll_library

Mehr

AJAX SSL- Wizard Referenz

AJAX SSL- Wizard Referenz AJAX SSL- Wizard Referenz Version 1.0.2+ - 04.04.2011 Präambel Die vorliegende Dokumentation beschreibt den AJAX basierten SSL- Wizard der CertCenter AG. Der SSL- Wizard kann mit wenigen Handgriffen nahtlos

Mehr

Konfigurationsassistent. Neue FTP-Site anlegen. WISE-FTP aktivieren. Kurzanleitung WISE-FTP

Konfigurationsassistent. Neue FTP-Site anlegen. WISE-FTP aktivieren. Kurzanleitung WISE-FTP 4 164 ist ein so genannter FTP-Client eine Software, die es Ihnen ermöglicht, eine Verbindung zu jedem beliebigen FTP-Server herzustellen und Dateien und Verzeichnisse sowohl herauf- als auch herunterzuladen.

Mehr

AIT AG Leitzstraße 45 70469 Stuttgart Germany +49 (0)711-49066 - 430 Fax:...- 49066-440

AIT AG Leitzstraße 45 70469 Stuttgart Germany +49 (0)711-49066 - 430 Fax:...- 49066-440 Abb. oben zeigt ein mögliches Szenario Seite 1 von 5 Automatisierung mittels Skriptdatei Mit der.net Edition von Visual Localize (V4.X) wurde dem Benutzer die Möglichkeit eröffnet, wiederkehrende Arbeitsschritte

Mehr

Einstellungen des Windows-Explorers

Einstellungen des Windows-Explorers Einstellungen des Windows-Explorers Die Ordnerstruktur des Explorers Der Explorer ist der Manager für die Verwaltung der Dateien auf dem Computer. Er wird mit Rechtsklick auf Start oder über Start Alle

Mehr

Erste Schritte mit Elvis 3 ein Beispielprojekt

Erste Schritte mit Elvis 3 ein Beispielprojekt Erste Schritte mit Elvis 3 ein Beispielprojekt Um Sie mit Elvis 3 vertraut zu machen möchten wir mit Ihnen mit diesem Kapitel ein Beispielprojekt vom ersten Aufruf von Elvis 3 bis zum Testlauf aufbauen.

Mehr

Wirtschafts-Informatik-Wietzorek Ulmweg 7 73117 Wangen 31.10.2009. Programm zur komfortablen Datenauswertung der JTL-WAWI Betaversion

Wirtschafts-Informatik-Wietzorek Ulmweg 7 73117 Wangen 31.10.2009. Programm zur komfortablen Datenauswertung der JTL-WAWI Betaversion Cubeinfo Programm zur komfortablen Datenauswertung der JTL-WAWI Betaversion Kurzbeschreibung Diese Software ist Freeware und darf weitergegeben werden. Zum Öffen der ZIP- Files benötigen Sie ein Kennwort,

Mehr

Installation und Dokumentation. juris Autologon 3.1

Installation und Dokumentation. juris Autologon 3.1 Installation und Dokumentation juris Autologon 3.1 Inhaltsverzeichnis: 1. Allgemeines 3 2. Installation Einzelplatz 3 3. Installation Netzwerk 3 3.1 Konfiguration Netzwerk 3 3.1.1 Die Autologon.ini 3 3.1.2

Mehr

Bedienungsanleitung. Stand: 26.05.2011. Copyright 2011 by GEVITAS GmbH www.gevitas.de

Bedienungsanleitung. Stand: 26.05.2011. Copyright 2011 by GEVITAS GmbH www.gevitas.de GEVITAS-Sync Bedienungsanleitung Stand: 26.05.2011 Copyright 2011 by GEVITAS GmbH www.gevitas.de Inhalt 1. Einleitung... 3 1.1. Installation... 3 1.2. Zugriffsrechte... 3 1.3. Starten... 4 1.4. Die Menü-Leiste...

Mehr

Installation weiterer Format-Arbeitsplätze für FORMAT Fertigteile Export Versandabwicklung (FT-Export genannt)

Installation weiterer Format-Arbeitsplätze für FORMAT Fertigteile Export Versandabwicklung (FT-Export genannt) Installation weiterer Format-Arbeitsplätze für FORMAT Fertigteile Export Versandabwicklung (FT-Export genannt) 1. Datensicherung Voraussetzung für das Einspielen der Installation ist eine rückspielbare,

Mehr

WordPress lokal mit Xaamp installieren

WordPress lokal mit Xaamp installieren WordPress lokal mit Xaamp installieren Hallo und willkommen zu einem weiteren Teil der WordPress Serie, in diesem Teil geht es um die Lokale Installation von WordPress mithilfe von Xaamp. Kurz und knapp

Mehr

FCC - Frilo.Control.Center. FRILO Software GmbH www.frilo.de info@frilo.eu Version 2/2015 Stand: 08.04.2015

FCC - Frilo.Control.Center. FRILO Software GmbH www.frilo.de info@frilo.eu Version 2/2015 Stand: 08.04.2015 FCC - Frilo.Control.Center FRILO Software GmbH www.frilo.de info@frilo.eu Version 2/2015 Stand: 08.04.2015 Frilo.Control.Center Frilo.Control.Center FCC Inhaltsverzeichnis Überblick 4 Start des Frilo.Control.Center

Mehr

Leitfaden zur PowerPoint Präsentation

Leitfaden zur PowerPoint Präsentation Inhalt 1. Voraussetzungen 3 1.1. Office Kenntnisse 3 1.2. MS Office-Version 3 1.3. PowerPoint Optionen 3 1.4. Einfügen von Objekten (Diagramme, Tabellen) 4 1.5. Definition SBS Rewe plus Variablen 5 2.

Mehr

WordPress installieren und erste Einblicke ins Dashboard

WordPress installieren und erste Einblicke ins Dashboard WordPress installieren und erste Einblicke ins Dashboard Von: Chris am 16. Dezember 2013 In diesem Tutorial zeige ich euch wie ihr WordPress in der aktuellen Version 3.7.1 auf eurem Webspace installieren

Mehr

OneSumX AzP 2014 Installation & Quickstart V1.2 2015-03-10

OneSumX AzP 2014 Installation & Quickstart V1.2 2015-03-10 OneSumX AzP 2014 Installation & Quickstart V1.2 2015-03-10 Page 1 1 Inhaltsverzeichnis 2 Versionsinfo Dokument... 3 3 Installationsanleitung (Neuinstallation)... 4 3.1 Voraussetzung... 4 3.1.1 SQL Server...

Mehr

RÖK Typo3 Dokumentation

RÖK Typo3 Dokumentation 2012 RÖK Typo3 Dokumentation Redakteur Sparten Eine Hilfe für den Einstieg in Typo3. Innpuls Werbeagentur GmbH 01.01.2012 2 RÖK Typo3 Dokumentation Inhalt 1) Was ist Typo3... 3 2) Typo3 aufrufen und Anmelden...

Mehr

Installation Anleitung für JTheseus und MS SQL Server 2000

Installation Anleitung für JTheseus und MS SQL Server 2000 Installation Anleitung für JTheseus und MS SQL Server 2000 Inhaltsverzeichnis 1 Installation der Datenbank 3 1.1 Erstellen der Datenbank 3 1.2 Tabellen und Minimal Daten einlesen 4 1.3 Benutzer JTheseus

Mehr

Installation unter LINUX mit PostgreSQL DB

Installation unter LINUX mit PostgreSQL DB Installation unter LINUX mit PostgreSQL DB Inhaltsverzeichnis 1. Installation und Konfiguration der PostgreSQL Datenbank... 3 2. Installation von Intrexx Xtreme 4.5... 5 Schreibkonventionen In diesem Handbuch

Mehr

Persönliche Ordner (*.pst) Persönliche Ordner Best practice für Desktop-Nutzer Best practice für Laptop-Nutzer

Persönliche Ordner (*.pst) Persönliche Ordner Best practice für Desktop-Nutzer Best practice für Laptop-Nutzer Persönliche Ordner (*.pst) Ist die Postfachgröße (z.b. 30 MB) begrenzt, kann es notwendig sein, die E-Mail-Ablage aus dem Exchange-Bereich in Persönliche Ordner (hier Archiv 2006-2008) zu verlagern. Persönliche

Mehr

Klassen-Administration (Stand: November 2006)

Klassen-Administration (Stand: November 2006) Klassen-Administration (Stand: November 2006) Inhaltsverzeichnis Anleitung für den Klassen-Administrator... 3 Eigenschaften editieren...4 Passwort ändern...4 Moderator ändern...5 Logo einbinden...5 Reparieren...6

Mehr

Migration Howto. Inhaltsverzeichnis

Migration Howto. Inhaltsverzeichnis Migration Howto Migration Howto I Inhaltsverzeichnis Migration von Cobalt RaQ2 /RaQ3 Servern auf 42goISP Server...1 Voraussetzungen...1 Vorgehensweise...1 Allgemein...1 RaQ...1 42go ISP Manager Server...2

Mehr

Joomla! - Installation

Joomla! - Installation Joomla! - Installation Grundlagen zum Thema Joomla! - Installation Joomla! ist ein leistungsfähiges, einfach zu konfigurierendes und populäres Open-Source Web Content Management System (WCMS). Es ist die

Mehr

Zeiterfassung-Konnektor Handbuch

Zeiterfassung-Konnektor Handbuch Zeiterfassung-Konnektor Handbuch Inhalt In diesem Handbuch werden Sie den Konnektor kennen sowie verstehen lernen. Es wird beschrieben wie Sie den Konnektor einstellen und wie das System funktioniert,

Mehr

http://www.cis.upenn.edu/~bcpierce/unison/download/stable/unison- 2.9.1/

http://www.cis.upenn.edu/~bcpierce/unison/download/stable/unison- 2.9.1/ Einführung Was ist Unison? Unison ist ein Dateisynchronisationsprogramm für Windows und Unix. Es teilt sich viele Funktionen mit anderen Programmen, wie z.b. CVS und rsync. Folgend einige Vorteile des

Mehr

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen Um die maximale Sicherheit für das Betriebssystem und Ihre persönlichen Daten zu gewährleisten, können Sie Programme von Drittherstellern

Mehr

Checkliste Installation. Novaline Bautec.One

Checkliste Installation. Novaline Bautec.One Checkliste Installation Novaline Bautec.One Juli 2013 Inhaltsverzeichnis Neuinstallation Einzelplatz - Start ohne Daten... 3 Einplatz System Mit / Ohne SQL Server installieren... 3 Einplatz / Mehrplatz

Mehr

Sicheres Upgrade von DocuWare 5.1b auf 5.1c

Sicheres Upgrade von DocuWare 5.1b auf 5.1c Sicheres Upgrade von DocuWare 5.1b auf 5.1c 12.04.2011 1 Inhaltsverzeichnis 1. Vorwort... 3 2. Umgebungstyp DocuWare ist auf einem Server installiert... 4 2.1. Virtualisierung... 4 2.2. Hinweise zur Virtualisierung...

Mehr

SCHÄF SYSTEMTECHNIK GMBH 05/10 HANDBUCH

SCHÄF SYSTEMTECHNIK GMBH 05/10 HANDBUCH SCHÄF SYSTEMTECHNIK GMBH 05/10 HANDBUCH Copyright 1997 2010 Schäf Sytemtechnik GmbH Alle Rechte vorbehalten. Dieses Handbuch darf nur nach vorheriger schriftlicher Zustimmung der Firma Schäf Systemtechnik

Mehr

crm-now/ps Anwenderhandbuch für die Thunderbird Erweiterung Zweite Ausgabe

crm-now/ps Anwenderhandbuch für die Thunderbird Erweiterung Zweite Ausgabe crm-now/ps Anwenderhandbuch für die Thunderbird Erweiterung Zweite Ausgabe crm-now/ps: Copyright 2006 crm-now Versionsgeschichte Version 02 08.09.2006 Release Version Version 01 16.06.2005 crm-now c/o

Mehr

FastViewer Remote Edition 2.X

FastViewer Remote Edition 2.X FastViewer Remote Edition 2.X Mit der FastViewer Remote Edition ist es möglich beliebige Rechner, unabhängig vom Standort, fernzusteuern. Die Eingabe einer Sessionnummer entfällt. Dazu muß auf dem zu steuernden

Mehr

Das Windows-Dateien-System Seite 1 von 10 Arbeiten mit USB-Stick oder CD und dem Windows-Explorer

Das Windows-Dateien-System Seite 1 von 10 Arbeiten mit USB-Stick oder CD und dem Windows-Explorer Das Windows-Dateien-System Seite 1 von 10 Arbeiten mit USB-Stick oder CD und dem Windows-Explorer Nach Einstecken des USB-Sticks in den USB-Anschluss oder Einlegen der CD in das CD-Rom-Laufwerk erschein

Mehr

Windows 7. Der Desktop und seine Elemente. Der Desktop

Windows 7. Der Desktop und seine Elemente. Der Desktop Windows 7 Der Desktop und seine Elemente Der Desktop Nach der erfolgten Anmeldung an den Computer wird der DESKTOP angezeigt Der Desktop ist mit einem Schreibtisch zu vergleichen auf welchem Dokumente

Mehr

telemail 2.5 Benutzerhandbuch

telemail 2.5 Benutzerhandbuch telemail 2.5 Benutzerhandbuch Seite 1 von 26 1. telemail-navigation 1.1 Datei 1.1.1 Beenden telemail wird beendet. 1.2 Bearbeiten 1.2.1 Alles markieren Alle E-Mails in dem aktuellen Ordner werden markiert.

Mehr

Installation von Typo3 CMS

Installation von Typo3 CMS Installation von Typo3 CMS TYPO3 Version 6.2.x unter Windows Eigenen lokalen Webserver mit XAMPP installieren Für die Installation von Typo3 wird eine passende Systemumgebung benötig. Diese besteht aus

Mehr