Beruflich Dokumente
Kultur Dokumente
Knowledge Space
Table of Contents
1 logLevel (ActionList und JobScheduler) ............................................................8
2 Schreibweise .......................................................................................................9
3 Updates und Bugfixes .......................................................................................10
4 PDK-Whitepaper................................................................................................11
4.1 Einleitung ............................................................................................................................... 11
4.2 PDK Übersicht ........................................................................................................................ 11
4.2.1 Verwendete Komponenten ..................................................................................................................................11
4.2.2 Genereller Prozess ................................................................................................................................................12
4.3 PDK Komponenten ................................................................................................................ 13
4.3.1 Prozessprotokoll ...................................................................................................................................................13
4.3.1.1 Anforderungen ......................................................................................................................................................13
4.3.1.2 Datenmodell..........................................................................................................................................................14
4.3.1.3 Integration in EPIM ...............................................................................................................................................15
4.3.2 ActionList...............................................................................................................................................................16
4.3.2.1 Allgemein...............................................................................................................................................................16
4.3.2.2 Actions ...................................................................................................................................................................16
4.3.2.3 Actions-Methoden.................................................................................................................................................16
4.3.3 ProcessLogger.......................................................................................................................................................24
4.3.4 SOS JobScheduler Zitiert von der Webseite www.sos-berlin.com ....................................................................25
4.4 Technische Dokumentation .................................................................................................. 25
4.4.1 Doku-Beispiel ........................................................................................................................................................25
4.4.1.1 Start des Prozesses ...............................................................................................................................................26
4.4.1.2 Job-Kette...............................................................................................................................................................26
4.4.1.3 Job .........................................................................................................................................................................27
4.4.1.4 ActionList...............................................................................................................................................................28
4.4.2 JobScheduler ........................................................................................................................................................29
4.4.3 XML Schema Dateien ............................................................................................................................................29
4.4.4 JavaDoc .................................................................................................................................................................30
4.4.5 Process Logger WebService API ...........................................................................................................................30
4.4.6 Anwendungsbeispiel.............................................................................................................................................31
4.4.6.1 Grafische Visualisierung des Gesamtprozesses ..................................................................................................31
4.4.6.2 ActionList aufbauen ..............................................................................................................................................31
– 2
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
5 PDK-Module.......................................................................................................35
5.1 PDK-AssetProcess .................................................................................................................. 35
5.2 PDK-Dispatcher ...................................................................................................................... 35
5.3 PDK-Housekeeping ................................................................................................................ 35
5.4 PDK-Indesign.......................................................................................................................... 35
6 Installation ........................................................................................................36
6.1 Upgrade des PDK ................................................................................................................... 36
6.2 Installation des PDK............................................................................................................... 37
6.2.1 Anlage der Standardverzeichnisse.......................................................................................................................37
6.2.2 Installation der mariadb in VMPROGRAMS/PDK/MariaDB .................................................................................38
6.2.2.1 Schritt 1: ................................................................................................................................................................38
6.2.2.2 Schritt 2: ................................................................................................................................................................39
6.2.2.3 Schritt 3:................................................................................................................................................................40
6.2.2.4 Schritt 4:................................................................................................................................................................41
6.2.2.5 Schritt 5: ................................................................................................................................................................42
6.2.3 DB-Script ausführen..............................................................................................................................................42
6.2.4 Anpassen der my.ini..............................................................................................................................................43
6.2.5 Ausführen der JobScheduler-Auto-Installation ..................................................................................................43
6.2.6 Anpassen von sos.ini, factory.ini und scheduler.xml ..........................................................................................44
6.2.7 Den JDBC-Treiber tauschen .................................................................................................................................45
6.2.8 Altes Jobverzeichnis leeren..................................................................................................................................45
6.2.9 SOS JobScheduler-Dienst namens „SOS JobScheduler -id=scheduler“ starten ..............................................45
6.2.10 Deinstallation möglich machen ...........................................................................................................................46
6.2.11 Konfiguration der Actionlist .................................................................................................................................46
6.2.12 Installation des JobScheduler Operations Center (JOC-Cockpit)......................................................................46
6.2.13 //Horst, 2017-12-05, erstmals auf Rehau_TEST ..................................................................................................46
7 Standardverzeichnisse .....................................................................................51
7.1 Standardverzeichnisse in der Kunden-Umgebung .............................................................. 51
7.1.1 Übersicht ...............................................................................................................................................................51
7.1.2 Erläuterung............................................................................................................................................................53
– 3
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
– 4
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
– 5
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
– 6
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
– 7
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
2 Schreibweise
Prozesse, Properties, etc. werden auf Basis von British English gebildet (British English: initialise anstatt
initialize).
ActionLists Innerhalb von ActionLists, JobKetten und Jobs wird als sessionId
Schreibweise →camelCase1 verwendet (Namen von Properties,
JobKetten nextValue
etc.)
Jobs
Dateinamen Bei Dateinamen werden hingegen die einzelnen "Fragement" mit - ecom-interface
(Minus) getrennt, generell werden die Namen nur mittels
erp-interface
Kleinbuchstaben gebildet.
Namenskonvention: [Name1]-[Name2]-[Name3].
[Dateiendung]
JobKetten Bei JobKetten wird bei den einzelnen JobKetten sowie Jobs eine 100_standard-
Nummerierung (3-stellig) - entsprechend dem Aufbau der JobKette process.job_chain.xml
Jobs
- mit einem _ (Unterstricht) vorangestellt.
110_initialise.job.xml
Namenskonvention: [Nummerierung]_[Name1]-[Name2].
[job_chain|job].xml
Dies hat den Vorteil, dass im entsprechenden Verzeichnis die
Dateien entsprechend dem Aufbau der JobKette sortiert angezeigt
werden
OrderDateien Der Name von OrderDateien zum Starten einer JobKette werden 100_standard-
analog zu den JobKetten und Jobs aufgebaut. process,daily.order.xml
Namenskonvention: [Nummerierung]_[Name der JobKette],
[Name].order.xml
1 https://en.wikipedia.org/wiki/CamelCase
Schreibweise – 9
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
4 PDK-Whitepaper
4.1 Einleitung
Die Viamedici Software GmbH hat ein Framework zur Prozessunterstützung realisiert: das Process Development Kit
(PDK).
Das PDK soll Pre- und Post-Prozesse zwischen EPIM und Drittsystemen
• schneller, zuverlässiger, flexibler und plattform-neutral implementieren.
• überwachen und automatisch auf Ereignisse, Warnungen und Fehler reagieren.
• darstellen und Kennzahlen wie Durchlaufzeiten transparenter machen.
Beispiele für den Einsatzbereich sind uni- und bidirektionale Schnittstellen zu ERP Systemen, MAM Systemen, TM
Systemen, Print-Systemen (wie z.B. Adobe InDesign Server), WebCMS und Shops. Außerdem ist/wird die Lösung
Grundlage für weitere Viamedici Lösungen sein wie z.B. das Review Portal und die automatisierte
Attributkonvertierung.
Per WebService API ist sichergestellt, dass auch Drittsysteme Prozesse anlegen und Fortschritte aktualisieren
können.
Das PDK besteht aus den folgenden Komponenten:
• Prozessprotokoll: EPIM Servermodul zur Anzeige und Recherche von Prozessen. Hauptanwendung ist die
Prozessüberwachung als Grundlage für die Analyse von Prozessfehlern.
• ActionList: XML-basiertes Konfigurationsmodul für die Konfiguration von Prozesseinzelschritten
• ProcessLogger: Modul zum Befüllen und Verwalten der Einträge im Prozessprotokoll.
• SOS JobScheduler: Automatisierte Steuerung und Überwachung von Prozessen auf Basis von Jobs oder
Job-Ketten.
Hinweis: Das Modul „Prozessprotokoll" wird basierend auf dem Patch 12 für Release 3.8 an die Kunden
ausgeliefert. Der Einsatz des „Prozessprotokolls" ist immer zwingend mit den oben aufgeführten Komponenten
(SOS JobScheduler, ActionList, ProcessLogger) gekoppelt.
Die vorliegende Dokumentation erläutert das generelle Zusammenspiel der Komponenten. Außerdem wird das
Dokument ergänzt durch die Integration einer Beispielkonfiguration anhand der die Nutzung der technischen
Dokumentation erläutert wird.
PDK-Whitepaper – 11
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
PDK-Whitepaper – 12
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
4.3.1 Prozessprotokoll
4.3.1.1 Anforderungen
Allgemeine Anforderungen sind:
• Lokalisierung (in de, en und fr)
• EPIM-Look&Feel inklusive Nutzung desselben GUI-Frameworks (extJS)
• Integration in EPIM Standard Entwicklungsprozesse (Qualitätssicherung, Upgrades, Patches, Deployment)
Spezifische Anforderungen für das Prozessprotokoll sind:
PDK-Whitepaper – 13
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
• Mengengerüst/Performance: Bis zu 100000 Root-Prozesse pro Tag (z.B. Einzelaufrufe einer MAM-
Schnittstelle). Ein Root-Prozess hat geschätzt im Durchschnitt bis zu 1000 verschachtelte Kind-Prozesse, es
gibt jedoch keine Einschränkung nach oben.
• Datenmodell: Das Prozessprotokoll liest die relevanten Daten aus den Tabellen PDK_PROCESSES
(Prozessdaten) und PDK_DETAILS (Detaildaten). Ein Prozess kann mehrere Detail-Datensätze besitzen. Die
Prozessdatensätze können eine Baumstruktur abbilden.
• Deep Link: Das Prozessprotokoll kann direkt mit einer Prozess-ID als Parameter im Web Browser aufgerufen
werden. Der Baum zum Prozess wird direkt angezeigt.
• Menu-Eintrag: Das Prozessprotokoll kann via Menu (Benutzer->Protokoll->Prozessprotokoll) aufgerufen
werden.
• Prozessdarstellung: Die Prozesse werden im Prozessprotokoll als Baumstruktur in einem Tree Grid
dargestellt
• Recherche: Der Anwender kann Prozesse recherchieren (z.B. ID, Start-/Ende-Datum, Status, System)
4.3.1.2 Datenmodell
PDK-Whitepaper – 14
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
PDK-Whitepaper – 15
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
4.3.2 ActionList
4.3.2.1 Allgemein
Die ActionList ist eine in Java realisierte Bibliothek, mit welcher einzelne Aktionen über eine XML Datei konfiguriert
und als JobScheduler-Job gestartet werden können. Damit ist die ActionList das Herzstück für die Konfiguration
der Schnittstellenprozesse, die im JobScheduler letztendlich gesteuert und überwacht werden.
Die aktuelle freigegebene Version ist 2.2.
4.3.2.2 Actions
Der Aufbau einer ActionList, deren Actions, E-Mail-Schablonen und SAP-Konfigurationsdateien sind in XML Schema
Dateien dokumentiert.
Im Folgenden werden die vorhandenen Actions für Version 2.2 in Kürze beschrieben. Eine entwicklungstechnische
Dokumentation findet sich im JavaDoc.
Folgende Methoden stehen innerhalb der ActionList zur Verfügung:
4.3.2.3 Actions-Methoden
callWebService
Ruft einen WebService auf.
PDK-Whitepaper – 16
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Beispiel callWebService
choose
Bietet die Möglichkeit, einfache Programmlogik auf Action-Ebene abzubilden.
Beispiel choose
<choose>
<when test="'${FileCounter}' = '0'">
<echo message="Bei 0"/>
</when>
<when test="'${FileCounter}' > '0'">
<echo message="Bei größer 0"/>
</when>
<otherwise>
<echo message="Falls nichts zurtifft"/>
</otherwise>
</choose>
cleanupEPIM
Löscht Protokolleinträge in EPIM.
Beispiel cleanupEPIM
copy
Kopiert Dateien in ein Zielverzeichnis. Kann zu kopierende Dateien über einen regulären Ausdruck einschränken.
PDK-Whitepaper – 17
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Beispiel copy
createList
Erzeugt aus einer Verzeichnisstruktur eine Liste.
Beispiel createList
delete
Löscht Dateien und Verzeichnisse. Kann zu löschende Dateien über einen regulären Ausdruck einschränken.
Beispiel delete
echo
Gibt eine Nachricht an die Konsole und an das Prozessprotokoll aus.
Beispiel echo
email
Sendet eine E-Mail über SMTP. Text- und HTML-basierte Emails sowie Anhänge werden unterstützt.
PDK-Whitepaper – 18
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
executeJobschedulerXml
Führt ein JobScheduler XML Kommando aus (z.B. Order oder Job erstellen)
Beispiel executeJobschedulerXml
executeShell
Ruft ein Shellskript oder eine Windowskommandodatei auf. An die aufgerufene Datei können Parameter übergeben
werden.
Beispiel executeShell
exit
Beendet die aktuelle ActionList erfolgreich (z.B. innerhalb einer choose-Action).
Beispiel exit
extractValue
Extrahiert einen Wert aus einer XML Datei und stellt ihn als Property für die weitere Verarbeitung zur Verfügung.
Kann auch als Order-Variable an den JobScheduler eskaliert werden, um diese Variable in folgenden Jobs zu
nutzen.
Beispiel extractValue
Fail
Beendet eine ActionList kontrolliert (z.B. innerhalb einer choose-Action) mit einem Fehler.
PDK-Whitepaper – 19
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Beispiel Fail
Fop
Ruft den Apache FOP auf, um ein PDF automatisch zu erstellen.
Beispiel Fop
forEachItemListXml / forEachItemList
Durchläuft für jedes item-Element einer angegebenen XML-Datei eine ActionList oder einzelne Actions. Alle
Attribute innerhalb des item-Elementes werden innerhalb der Schleife als Properties ausgeprägt und stehen dort
zur Verarbeitung bereit.
Beispiel forEachItemList
forEachList
Durchläuft für jedes Listenelement einer angegebenen Listproperty eine ActionList oder einzelne Actions. Das
aktuelle Listelement wird als Property ausgeprägt und zur weiteren Bearbeitung bereit.
Beispiel forEachList
getDataFromSAP
Ruft Daten von SAP mittels RFC ab.
Beispiel getDataFromSAP
mkDir
Erzeugt ein Verzeichnis.
PDK-Whitepaper – 20
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Beispiel mkDir
move
Verschiebt Dateien in ein Zielverzeichnis. Kann zu verschiebende Dateien über einen regulären Ausdruck
einschränken.
Beispiel move
moveRootProcess
Verschiebt im Prozessprotokoll einen Prozessknoten inklusive dessen Kindelemente an die angegebene
Prozessknoten-ID. Dabei wird der angegebene Prozessknoten durch den verschobenen Knoten ersetzt.
Beispiel moveRootProcess
plannedProcessNode
Bildet innerhalb des Gesamtprozesses einen Prozessknoten ohne Funktionalität ab. In der Regel wird diese Action
eingesetzt, um als Anker für asynchrone Prozesse zu dienen.
Beispiel plannedProcessNode
property
Erzeugt/setzt eine Variable, die von folgenden Actions genutzt werden kann. Kann auch als Order-Variable an den
JobScheduler eskaliert werden, um diese Variable in folgenden Jobs zu nutzen.
PDK-Whitepaper – 21
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Beispiel property
rename
Benennt ein Verzeichnis um.
Beispiel rename
reportEPIM
Gibt das Ergebnis einer SQL-Abfrage im EPIM Standard-Report-Format für XML oder CSV aus.
Beispiel reportEPIM
searchAndReplace
Sucht und ersetzt Zeichenketten. Arbeitet mit regulären Ausdrücken. Durch zeilenbasiertes Vorgehen können
beliebig große Dateien behandelt werden.
Beispiel searchAndReplace
<searchandreplace>
<sourceFolder>${sessionTempDir}\sessionDir\</sourceFolder>
<sourceFile>export-list-sessionID.xml</sourceFile>
<searchReplacePair searchPattern ="exportID=""" replacePattern="exportID="$
{vmexportID}""/>
</searchandreplace>
setOrderBack
Setzt die derzeit aktive Order des aktiven Jobs zurück. Über den Parameter delay_after_order_setback kann
innerhalb einer Jobkette eine Schleife realisiert werden.
PDK-Whitepaper – 22
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Beispiel setOrderBack
setOrderState
Setzt den Status des aktuellen Jobs. Damit kann eine Verzweigung in Abhängigkeit des Prozessablaufs realisiert
werden.
Beispiel setOrderState
sleep
Unterbricht die Verarbeitung für den angegebenen Zeitraum.
Beispiel sleep
touch
Erzeugt eine leere Datei.
Beispiel touch
transform
Transformiert eine XML-Datei. Unterstützte Prozessoren sind:
• Xalan
• Saxon für XSLT 1.0
• Saxon für XSLT 2.0
• Xalan für STX
• Saxon für STX und XSLT 1.0
• Saxon für STX und XSLT 2.0
PDK-Whitepaper – 23
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Beispiel transform
unzip
Entpackt eine ZIP-Datei
Beispiel unzip
validateXML
Validiert eine XML Datei gegen ein XML Schema (XSD).
Beispiel validateXML
zip
Erzeugt aus Dateien oder Verzeichnissen eine ZIP-Datei
Beispiel zip
4.3.3 ProcessLogger
Der ProcessLogger ist die Schnittstelle für die Kommunikation zwischen Drittsystemen und Prozessprotokoll.
Das Logging ist in die ActionList in Verbindung mit dem SOS JobScheduler integriert. Dabei werden automatisiert
Prozesse und Sub-Prozesse für Job-Ketten, Jobs, ActionLists und Actions erzeugt. Ebenso werden Meldungen
weitergereicht und frei konfigurierbare Nachrichten übertragen.
Drittsysteme können per WebService-Aufrufe
• neue Prozesse und Sub-Prozesse erzeugen.
• Prozesse und Sub-Prozesse aktualisieren (z.B. Statusänderungen).
• Detailinformationen typisiert (Error, Warning, Info, Debug) eintragen.
PDK-Whitepaper – 24
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
4.4.1 Doku-Beispiel
Ein ERP-Interface ist ein Beispiel für die Abbildung eines komplexeren Prozesses unter Verwendung des PDK. Das
ERP-Interface dient deshalb als Grundlage für die Erläuterung der eines Gesamtprozesses bestehend aus
Schemadateien und Java.doc.
Die nachfolgende Abbildung stellt den Gesamtprozess der ERP-Schnittstelle mit seinen Job-Ketten, den Einzeljobs
und der konfigurierten ActionList dar. Für den Job „ERP-InterfaceGetData" wird exemplarisch ins Detail gegangen.
PDK-Whitepaper – 25
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
4.4.1.2 Job-Kette
Die Job-Kette schlägt dann in ihrer Konfiguration nach, welcher Job starten soll (hier: initialize, der innerhalb des
JobScheduler-live-Verzeichnisses unter /vm/erp-interface/initialize zu finden ist).
Job-Kette
Hinweis: Über die JobScheduler GUI können Konfigurationen von Job-Ketten und Jobs eingesehen werden.
PDK-Whitepaper – 26
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
4.4.1.3 Job
In der Job-Konfigurationsdatei ist die Job-Implementierung hinterlegt Hier handelt es sich um einen in Java
implementierten Job, der die JobScheduler übergebenen Konfigurationsdatei ausliest und aus den Name-Werte-
Paaren JobScheduler Order-Variablen setzt, die in nachfolgenden Jobs genutzt werden können.
PDK-Whitepaper – 27
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Job
Für dieses Beispiel gehen wir davon aus, dass das Auslesen fehlerlos gelingt. Da der Job erfolgreich verlief, findet
die Job-Kette unter next_state den Job getdata und startet diesen.
4.4.1.4 ActionList
Der Job getdata ist als ActionList implementiert. Dazu wird die ActionList-Library eingebunden und die ActionList
Konfigurationsdatei angegeben.
ActionList
Wenn der Job gestartet wird, wird die ActionList Konfigurationsdatei eingelesen. Für die folgende ActionList gilt ein
granularer logLevel, der alle debug-Informationen über den Prozess Logger an das Prozess Protokoll meldet. Dabei
bleiben die erzeugten Prozesse sowie die Meldungen zwei Tage (logLifetime) stehen. Die einzelnen Actions werden
nacheinander ausgeführt. In dem folgenden Beispiel wird zunächst eine zeitstempelbasierte sessionID als
ActionList-Property deklariert, dabei vorhandenen Properties überschrieben sowie Name und Wert der Property für
die Übergabe an die Job-Kette als Ordervariable vorgemerkt. Anschließend wird die SessionID für den
ProcessLogger explizit ausgegeben.
PDK-Whitepaper – 28
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Mittels der Action fail ist für dieses Beispiel sichergestellt, dass die ActionList mit Fehler abgebrochen wird. Damit
ist auch der Job mit Fehler beendet. Dementsprechend verzweigt die Job-Kette nun in den Job mit der
Fehlerbehandlung (error_state). Da an diesem Job die Endnote error als next_state angegeben ist, ist die
Abarbeitung der Job-Kette nach dem Verschieben des ursprünglichen Konfigurationsdatei nach D:/VMBACKUP/erp-
interface/orders/errordamit abgeschlossen.
4.4.2 JobScheduler
Für die Konfiguration des JobSchedulers lesen Sie bitte die technische Beschreibung unter http://www.sos-
berlin.com/doc/de/scheduler.pdf.
PDK-Whitepaper – 29
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
4.4.4 JavaDoc
Die XML Schema Dateien werden ergänzt durch eine JavaDoc. Dort werden die erlaubten XML Elemente und
Attribute der einzelnen Actions im Detail beschrieben. Öffnen Sie dazu die JavaDoc über index.html mit einem
Browser.
PDK-Whitepaper – 30
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
4.4.6 Anwendungsbeispiel
In diesem Kapitel wird ein kleines Beispiel für die Lösung einer Aufgabe mit Hilfe des PDK beschrieben.
Aufgabe:
Es soll eine XML-Datei von A nach B kopiert werden. Im Zielverzeichnis wird diese Datei 2 Mal transformiert und
anschließend eine Mail versendet.
PDK-Whitepaper – 31
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
ActionList aufbauen
<choose>
<when test="${wert}=5" title="analyse property wert">
<echo message="Meldung 1 ausgeben"/>
</when>
<otherwise>
<echo message="Meldung 2 ausgeben"/>
</otherwise>
</choose>
</actions>
</actionList>
PDK-Whitepaper – 32
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Job definieren
PDK-Whitepaper – 33
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
4.4.6.5 Prozessprotokoll
Nach dem Aufruf über den JobScheduler wird die gesamte Struktur des Jobs als Prozesskette abgebildet:
PDK-Whitepaper – 34
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
5 PDK-Module
5.1 PDK-AssetProcess
5.2 PDK-Dispatcher
5.3 PDK-Housekeeping
5.4 PDK-Indesign
PDK-Module – 35
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
6 Installation
actionlist\global.properties
Einträge bzw. Werte, welche in der neuen Standard-Datei nicht enthalten sind, müssen übernommen
werden.
jobscheduler\scheduler\scheduler_data\config\factory.ini
Folgende Einträge müssen in die neue Installation übernommen werden:
mail_on_error
mail_on_warning
mail_on_success
mail_on_process
log_mail_from
log_mail_to
log_mail_cc
log_mail_bcc
smtp
log_level
mail.smtp.user
mail.smtp.password
mail.smtp.port
jobscheduler\scheduler\scheduler_data\config\scheduler.xml
Eventuell vorhandene <http_server > - Elemente müssen mit in die neue Datei.
Installation – 36
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Installation – 37
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
6.2.2.1 Schritt 1:
Installation – 38
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
6.2.2.2 Schritt 2:
Installation – 39
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
6.2.2.3 Schritt 3:
Installation – 40
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
6.2.2.4 Schritt 4:
Installation – 41
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
6.2.2.5 Schritt 5:
Installation – 42
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Die Zeile „log-bin=mysql-bin“ unbedingt auskommentieren! (Dies ist in der neuen my.ini aus VMINSTALL
bereits der Fall)
CMD öffnen:
cd /d D:\VMINSTALL\<DATUM>-PDK-
Installation\<Version>\03_JobScheduler\jobscheduler_x64_<Betriebssystem>
<Betriebssystem> steht dabei für Linux oder Windows (nicht den "Universal Agent" nehmen!).
Nun folgenden Befehl ausführen (ggf. JRE_Home in setup.cmd oder setup.sh vorher anpassen):
setup ../autosetup/jobscheduler_install.xml
Installation – 43
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
WICHTIG: Der Dienst startet NICHT (es erscheint die untenstehende Fehlermeldung). Zum Dienststart
müssen wir die sos.ini und factory.ini anpassen – siehe nächster Schritt.
Diese Meldung ist also „normal“:
Installation – 44
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Ergebnis:
vm = "d:\VMPROGRAMS\PDK\java\jdk_linux\jre\lib\amd64\server\libjvm.so" (Installation auf
Linux)
vm = "d:\VMPROGRAMS\PDK\java\jdk\bin\server\jvm.dll" (Installation auf Windows)
log_dir = D:/VMLOGS/jobscheduler
log = D:/VMLOGS/jobscheduler/scheduler.log
scheduler.xml:
im Element "config" das Attribut "configuration_directory" wie folgt anpassen:
<config mail_xslt_stylesheet = "config/scheduler_mail.xsl" port = "4444" configuration_directory="D:/
VMPROCESSES/scheduler-live">
----------------------------------------------------------------------------------------------------------------------------------------------------------
------------------
Installation – 45
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
------------------------------------------------------------
Nur Sichtpunkte bei der Installation des JobScheduler 1.11.5 (Mindestvoraussetzung ist 1.11.4)
Installation – 46
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Installation – 47
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Installation – 48
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Installation – 49
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Test am Ende:
http://localhost:4446/joc/
JOC-Anmeldung mit root/root
Installation – 50
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
7 Standardverzeichnisse
7.1.1 Übersicht
Standardverzeichnisse – 51
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Standardverzeichnisse – 52
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
7.1.2 Erläuterung
Das übergeordnete Verzeichnis "KUNDENSERVER_ROOT" muss nicht für alle Fälle auf dem selben Server liegen. So
sind z.B. EPIMFS und EPIMHOME normalerweise auf dem Applicationserver zu finden, wohingegen sämtliche VM* -
Verzeichnisse auf dem (ersten) Daemonserver liegen.
Verzeic Erklärung
hnis
EPIMH Wurzelverzeichnis für (Java-)Anwendungen, welche innerhalb des von EPIM genutzten Apache
OME WebServer deployt werden sollen.
Enthält damit auch EPIM. Für PS wesentlich sind hier die Properties-Dateien unter %EPIMHOME%/
viaMEDICI/WEB-INF/classes/resources.
Enthält auch weitere kundenspezifische Webapplikationen (z.B. Review Portal, Interaktive
Vorschau,...). In der httpd des Apaches dann httpd-vm%NameApplikation%.conf (liegt in
%APACHEHOME%/conf/extra) einhängen. Ob die EPIM-Tomcats mitgenutzt werden oder eigene
deployt werden, muss je Applikation mit der IT abgestimmt werden.
VMBAC Backups von einzelnen Anwendungen und Prozessen werden hier abgelegt.
KUP
Je Prozess ist ein Unterverzeichnis einzurichten.
Wichtig:
Es gibt keine implizite Archivierungsfunktion! Wenn etwas langfristig gesichert werden muss, dann
muss dies kundenspezifisch eingerichtet werden.
VMHAN Prozessspezifische Übergabeverzeichnisstruktur. Der detaillierte Aufbau hängt von dem gewählten
DOVER Übergabeverfahren ab.
Übergebende Anwendungen und Prozesse legen inhaltliche Dateien innerhalb input in einem
Sessionverzeichnis ab.
Konfigurationsdateien (aka starter-Dateien) werden in start abgelegt.
Standardverzeichnisse – 53
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Verzeic Erklärung
hnis
VMTOO Sämtliche weitere Tools und Anwendungen, welche nicht direkt für den Betrieb von EPIM notwendig
LS sind. z.B. Notepad++, sqldeveloper, curl o.ä.
Standardverzeichnisse – 54
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Verzeic Erklärung
hnis
Für die Verzeichnisse VMBACKUP/VMLOGS/VMHANDOVER/VMTEMP/VMWORK gilt grundsätzlich, dass darununter
für jeden Prozess ein Verzeichnis ${processName} angelegt wird, in welchem dann einzelne Sessionverzreichnisse
liegen (z.B. D:/VMWORK/template-process/20161012_123427).
SV-PS- %KUNDENNAM Archiv Ablage für Daten aus dem alten SVN, welche nicht
Implementieru E% verifiziert sind oder noch nicht auf aktuelle PDK-
ng Strukturen angepasst wurden.
Standardverzeichnisse – 55
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Standardverzeichnisse – 56
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
8 actionlist
Generierung für xml-Schema-Dateienfür actionlist/email-Template/SAPConnectionConfiguration/SAP
RFCConfiguration:
d:\VMPROGRAMS\PDK\actionlist>java -cp actionlist.jar org.vm.actionlist.CreateXMLSchema
8.1 Actions
In den folgenden Kapiteln sind Beschreibungen sämtlicher actions inklusive Beispielen zu finden.
Neben den action-spezifischen Attributen gibt es noch allgemeine, welche bei allen actions verwendet werden
können.
Diese sind:
Attribut Beschreibung
logLevel Gibt den Detailierungsgrad des Logging an. Näheres dazu im Kapitel "Logging"
logLifetime Wert (in Tagen), der angibt, wie lange Prozessprotokolleinträge behalten werden sollen. Nicht
auf ganze Tage beschränkt (0,25 = 6 Stunden)
errorOffset Wert (in Tagen), der angibt, wie lange Prozessprotokolleinträge im Fehlerfall zusätzlich zur
logLifetime behalten werden sollen.
Anwendungsbeispiel
actionlist – 57
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Beispiel Config-Datei
Als Pflicht-Attribute müssen "name" und "value" gesetzt werden. Bei "value" kann Bezug genommen werden auf
davor bereits gesetzte Variablen.
Zusätzlich gibt es noch folgende, optionale Attribute:
Attribut Beschreibung
handout handout legt fest, ob die property an die nächste actionlist mitgegeben werden soll.
Mögliche Werte: true/false
overwrite overwrite legt fest, ob die property überschrieben werden soll, falls sie bereits existiert.
Mögliche Werte: true/false
mode mode definiert einen Modus, der beim laden einer Config-Datei mit angegeben werden
kann.Wenn mode nicht vorhanden oder auf "all" gesetzt ist, dann wird die property immer
geladen.
Ansonsten wird der mode-Wert mit dem in der action angegebenen Wert verglichen.
Standardmässig wird als mode die location-Variable (siehe Konfiguration/global.properties)
verwendet, es kann aber jeder beliebeige Wert gesetzt werden.
actionlist – 58
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Anwendungsbeispiel
Beim Laden (action="load") funktionieren die Attribute "handout" und "overwrite" als Standardvorgabe für die
gesamte Datei und werden von abweichenden Werten für einzelne properties übersteuert.
Beim Speichern (action="save") werden entweder alle bekannten properties gespeichert oder es kann eine
"propertyList" angegeben werden. Dabei handelt es sich um eine Semikolon-getrennte Liste von properties, welche
als Filter für zu speichernde properties dient. Beim Speichern werden handout und overwrite nicht gesetzt.
Attribut P Beschreibung
f
li
c
h
t
?
2 http://192.168.1.222:8090/display/VD/.REST_Aufruf+v3.9.28
3 http://192.168.1.222:8090/display/VD/.login_Web_Service_Operation+v3.9.28
actionlist – 59
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Attribut P Beschreibung
f
li
c
h
t
?
cookieP
roperty
outputF Datei in der die Antwort / das Ergebnis des Services gespeichert/dokumentiert wird
ile
request Parameter die beim Service-Aufruf übergeben werden. Abhängig vom gerufenen Service siehe
Paramet Dokumentation der einzelnen Services
er
httpHead
ers
ignoreEr
ror
inputFil
e
actionlist – 60
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Anwendungsbeispiel
8.1.3 choose
"choose" wird verwendet um Teile des scripts nur unter bestimmten Bedingungen auszuführen.
Unterhalb von "choose" können die actions "when" und "otherwise" verwendet werden.
Die action "choose" verwendet folgende Parameter:
otherwis Ele nei Kind-actions werden ausgeführt, falls kein "when"-Block "true" war.
e me n
nt
Die action "when" verwendet folgende Parameter:
actionlist – 61
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
file Att nei Falls "file" gefüllt ist wird der xpath-Ausdruck auf die Datei angewendet.
rib n
ut
Sobald der "test" in einem "when"-Block "true" ist werden die anderen Blöcke nicht mehr ausgeführt.
Der Syntax der choose-action ist wie folgt:
Anwendungsbeispiel
<choose>
<when test="'${FileCounter}' = '0'">
<echo message="Bei 0"/>
</when>
<when test="count(//item) > 0" file="D:/VMWORK/temp/somefile.xml">
<echo message="Bei größer 0"/>
</when>
<otherwise>
<echo message="Falls nichts zurtifft"/>
</otherwise>
</choose>
8.1.4 config
"config" lädt oder speichert Variablen von/in Dateien.
Config-Dateien müssen wie folgt aufgebaut sein:
actionlist – 62
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Beispiel Config-Datei
Als Pflicht-Attribute müssen "name" und "value" gesetzt werden. Bei "value" kann Bezug genommen werden auf
davor bereits gesetzte Variablen.
Zusätzlich gibt es noch folgende, optionale Attribute:
Attribut Beschreibung
handout handout legt fest, ob die property an die nächste actionlist mitgegeben werden soll.
Mögliche Werte: true/false
overwrite overwrite legt fest, ob die property überschrieben werden soll, falls sie bereits existiert.
Mögliche Werte: true/false
mode mode definiert einen Modus, der beim laden einer Config-Datei mit angegeben werden kann.
Wenn mode nicht vorhanden oder auf "all" gesetzt ist, dann wird die property immer geladen.
Ansonsten wird der mode-Wert mit dem in der action angegebenen Wert verglichen.
Standardmässig wird als mode die location-Variable (siehe Konfiguration/global.properties)
verwendet, es kann aber jeder beliebeige Wert gesetzt werden.
action Att ja Definiert, ob eine config-Datgei geladen oder gespeichert werden soll (Werte:
rib load / save)
ut
actionlist – 63
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
file Att ja Pfad und Name der Config-Datei (laden oder speichern)
rib
ut
mode Att nei loc Definiert, welche properties aus der Config-Datei geladen werden.
rib n ati
ut on
fro
m
glo
bal
.pr
op
ert
ies
property Att nei Definiert die Liste der zu speichernden properties (nur bei action="save")
List rib n
ut
property Att nei Name einer property in die die config Daten zusätzlich zum file gespeichert
Name rib n werden (nur bei action="save")
ut
overwrit Att nei fal Definiert, ob bestehende properties überschrieben werden (nur bei
e rib n se action="load")
ut
handout Att nei fal Definiert, ob die geladenen properties nach Beenden der actionlist an den
rib n se JobScheudler übergeben werden (nur bei action="load")
ut
actionlist – 64
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Anwendungsbeispiel
Beim Laden (action="load") funktionieren die Attribute "handout" und "overwrite" als Standardvorgabe für die
gesamte Datei und werden von abweichenden Werten für einzelne properties übersteuert.
Beim Speichern (action="save") werden entweder alle bekannten properties gespeichert oder es kann eine
"propertyList" angegeben werden. Dabei handelt es sich um eine Semikolon-getrennte Liste von properties, welche
als Filter für zu speichernde properties dient. Beim Speichern werden handout und overwrite nicht gesetzt.
file Pfad inkl. Dateinamen und Dateiart der Datei die kopiert werden soll.
targetDir Zielverzeichnis
append
ignoreNoFilesFound
actionlist – 65
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
sourcePattern
Der Syntax der copy-action ist wie folgt:
Anwendungsbeispiel
8.1.6 createList
"createList" erstellt Dateilisten im xml-Format (Itemlist).
Die Ausgabe-Datei sieht wie folgt aus:
Beispiel List-Datei
listDirs Att nei fal Legt fest, ob Verzeichnisse auch aufgelistet werden. In diesem Fall ist "fileName"
rib n se leer und nur "path" gefüllt.
ut
actionlist – 66
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
pathIsRe Att nei fal Definiert, ob relativer oder absoluter Pfad in "path" eingetragen wird.
lative rib n se
ut
ignoreE Att nei tru Entscheidet, ob action einen Fehler wirft, wenn keine Dateien gefunden werden
mptyList rib n e (auch dann, wenn listFolders=true ist und Verzeichnisse gefunden werden).
ut
listFileP Ele nei Regulärer Ausdruck, mit dem Dateien gefunden werden. Falls nicht angegeben
attern me n werden alle Dateien gelistet.
nt
outputFi Ele nei Gibt Datei an, in die die Liste geschrieben wird. (File und/oder Property muss
le me n angegeben werden.)
nt
outputP Ele nei Gibt Property an, in die die Liste geschrieben wird.
roperty me n
nt
Der Syntax der createList-action ist wie folgt:
Anwendungsbeispiel
8.1.7 delete
"delete" löscht Dateien und Verzeichnisse
Die action verwendet folgende Parameter:
actionlist – 67
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
dir Att ja Definiert das Quellverzeichnis. Falls weder recursive noch pattern angegeben ist,
rib wird versucht, das angegebene Verzeichnis zu löschen (welches leer sein muss).
ut
recursive Att nei f Legt fest, ob das angegebene "dir" rekursiv gelöscht werden soll. Dabei wird das
rib n a "pattern" nicht beachtet. Falls recursive=true gesetzt wird, muss der angegebene
ut l Pfad in der Property "deleteBase" vorhanden sein (global.properties). Default-
s Wert: false
e
pattern Att nei Regulärer Ausdruck, mit dem Dateien im angegebenen "dir" gefunden und
rib n gelöscht werden. Falls "pattern" und "recursive" angegeben werden, wird
ut "recursive" ignoriert.
ignoreNo Att nei t Entscheidet, ob ein Fehler geworfen wird, wenn keine zu löschenden Dateien
FilesFoun rib n r existieren. Ist nur relevant bei "pattern". Default-Wert: false
d ut u
e
Der Syntax der delete-action ist wie folgt:
Anwendungsbeispiel
8.1.8 echo
"echo" gibt Nachrichten entweder ins Log oder in Dateien aus.
Die action verwendet folgende Parameter:
actionlist – 68
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
file Att nei Pfad und Name einer Dateifür die Ausgabe.
rib n
ut
appendF Att nei fal Nur wenn "file" gesetzt: Definiert, ob an bestehende Datei angehängt werden soll
ile rib n se
ut
overwrit Ele nei fal Nur wenn "propertyName" gesetzt: Bestimmt, ob bestehende property
e me n se überschrieben wird.
nt
Der Syntax der echo-action ist wie folgt:
Anwendungsbeispiel
actionlist – 69
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Beispiel Config-Datei
Als Pflicht-Attribute müssen "name" und "value" gesetzt werden. Bei "value" kann Bezug genommen werden auf
davor bereits gesetzte Variablen.
Zusätzlich gibt es noch folgende, optionale Attribute:
Attribut Beschreibung
handout handout legt fest, ob die property an die nächste actionlist mitgegeben werden soll.
Mögliche Werte: true/false
overwrite overwrite legt fest, ob die property überschrieben werden soll, falls sie bereits existiert.
Mögliche Werte: true/false
mode mode definiert einen Modus, der beim laden einer Config-Datei mit angegeben werden
kann.Wenn mode nicht vorhanden oder auf "all" gesetzt ist, dann wird die property immer
geladen.
Ansonsten wird der mode-Wert mit dem in der action angegebenen Wert verglichen.
Standardmässig wird als mode die location-Variable (siehe Konfiguration/global.properties)
verwendet, es kann aber jeder beliebeige Wert gesetzt werden.
actionlist – 70
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Anwendungsbeispiel
Beim Laden (action="load") funktionieren die Attribute "handout" und "overwrite" als Standardvorgabe für die
gesamte Datei und werden von abweichenden Werten für einzelne properties übersteuert.
Beim Speichern (action="save") werden entweder alle bekannten properties gespeichert oder es kann eine
"propertyList" angegeben werden. Dabei handelt es sich um eine Semikolon-getrennte Liste von properties, welche
als Filter für zu speichernde properties dient. Beim Speichern werden handout und overwrite nicht gesetzt.
Beispiel Config-Datei
Als Pflicht-Attribute müssen "name" und "value" gesetzt werden. Bei "value" kann Bezug genommen werden auf
davor bereits gesetzte Variablen.
Zusätzlich gibt es noch folgende, optionale Attribute:
actionlist – 71
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Attribut Beschreibung
handout handout legt fest, ob die property an die nächste actionlist mitgegeben werden soll.
Mögliche Werte: true/false
overwrite overwrite legt fest, ob die property überschrieben werden soll, falls sie bereits existiert.
Mögliche Werte: true/false
mode mode definiert einen Modus, der beim laden einer Config-Datei mit angegeben werden
kann.Wenn mode nicht vorhanden oder auf "all" gesetzt ist, dann wird die property immer
geladen.
Ansonsten wird der mode-Wert mit dem in der action angegebenen Wert verglichen.
Standardmässig wird als mode die location-Variable (siehe Konfiguration/global.properties)
verwendet, es kann aber jeder beliebeige Wert gesetzt werden.
Anwendungsbeispiel
Beim Laden (action="load") funktionieren die Attribute "handout" und "overwrite" als Standardvorgabe für die
gesamte Datei und werden von abweichenden Werten für einzelne properties übersteuert.
Beim Speichern (action="save") werden entweder alle bekannten properties gespeichert oder es kann eine
"propertyList" angegeben werden. Dabei handelt es sich um eine Semikolon-getrennte Liste von properties, welche
als Filter für zu speichernde properties dient. Beim Speichern werden handout und overwrite nicht gesetzt.
actionlist – 72
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Beispiel Config-Datei
Als Pflicht-Attribute müssen "name" und "value" gesetzt werden. Bei "value" kann Bezug genommen werden auf
davor bereits gesetzte Variablen.
Zusätzlich gibt es noch folgende, optionale Attribute:
Attribut Beschreibung
handout handout legt fest, ob die property an die nächste actionlist mitgegeben werden soll.
Mögliche Werte: true/false
overwrite overwrite legt fest, ob die property überschrieben werden soll, falls sie bereits existiert.
Mögliche Werte: true/false
mode mode definiert einen Modus, der beim laden einer Config-Datei mit angegeben werden
kann.Wenn mode nicht vorhanden oder auf "all" gesetzt ist, dann wird die property immer
geladen.
Ansonsten wird der mode-Wert mit dem in der action angegebenen Wert verglichen.
Standardmässig wird als mode die location-Variable (siehe Konfiguration/global.properties)
verwendet, es kann aber jeder beliebeige Wert gesetzt werden.
actionlist – 73
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Anwendungsbeispiel
Beim Laden (action="load") funktionieren die Attribute "handout" und "overwrite" als Standardvorgabe für die
gesamte Datei und werden von abweichenden Werten für einzelne properties übersteuert.
Beim Speichern (action="save") werden entweder alle bekannten properties gespeichert oder es kann eine
"propertyList" angegeben werden. Dabei handelt es sich um eine Semikolon-getrennte Liste von properties, welche
als Filter für zu speichernde properties dient. Beim Speichern werden handout und overwrite nicht gesetzt.
Beispiel Config-Datei
Als Pflicht-Attribute müssen "name" und "value" gesetzt werden. Bei "value" kann Bezug genommen werden auf
davor bereits gesetzte Variablen.
Zusätzlich gibt es noch folgende, optionale Attribute:
actionlist – 74
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Attribut Beschreibung
handout handout legt fest, ob die property an die nächste actionlist mitgegeben werden soll.
Mögliche Werte: true/false
overwrite overwrite legt fest, ob die property überschrieben werden soll, falls sie bereits existiert.
Mögliche Werte: true/false
mode mode definiert einen Modus, der beim laden einer Config-Datei mit angegeben werden
kann.Wenn mode nicht vorhanden oder auf "all" gesetzt ist, dann wird die property immer
geladen.
Ansonsten wird der mode-Wert mit dem in der action angegebenen Wert verglichen.
Standardmässig wird als mode die location-Variable (siehe Konfiguration/global.properties)
verwendet, es kann aber jeder beliebeige Wert gesetzt werden.
Anwendungsbeispiel
Beim Laden (action="load") funktionieren die Attribute "handout" und "overwrite" als Standardvorgabe für die
gesamte Datei und werden von abweichenden Werten für einzelne properties übersteuert.
Beim Speichern (action="save") werden entweder alle bekannten properties gespeichert oder es kann eine
"propertyList" angegeben werden. Dabei handelt es sich um eine Semikolon-getrennte Liste von properties, welche
als Filter für zu speichernde properties dient. Beim Speichern werden handout und overwrite nicht gesetzt.
actionlist – 75
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Beispiel Config-Datei
Als Pflicht-Attribute müssen "name" und "value" gesetzt werden. Bei "value" kann Bezug genommen werden auf
davor bereits gesetzte Variablen.
Zusätzlich gibt es noch folgende, optionale Attribute:
Attribut Beschreibung
handout handout legt fest, ob die property an die nächste actionlist mitgegeben werden soll.
Mögliche Werte: true/false
overwrite overwrite legt fest, ob die property überschrieben werden soll, falls sie bereits existiert.
Mögliche Werte: true/false
mode mode definiert einen Modus, der beim laden einer Config-Datei mit angegeben werden
kann.Wenn mode nicht vorhanden oder auf "all" gesetzt ist, dann wird die property immer
geladen.
Ansonsten wird der mode-Wert mit dem in der action angegebenen Wert verglichen.
Standardmässig wird als mode die location-Variable (siehe Konfiguration/global.properties)
verwendet, es kann aber jeder beliebeige Wert gesetzt werden.
actionlist – 76
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Anwendungsbeispiel
Beim Laden (action="load") funktionieren die Attribute "handout" und "overwrite" als Standardvorgabe für die
gesamte Datei und werden von abweichenden Werten für einzelne properties übersteuert.
Beim Speichern (action="save") werden entweder alle bekannten properties gespeichert oder es kann eine
"propertyList" angegeben werden. Dabei handelt es sich um eine Semikolon-getrennte Liste von properties, welche
als Filter für zu speichernde properties dient. Beim Speichern werden handout und overwrite nicht gesetzt.
Beispiel Config-Datei
Als Pflicht-Attribute müssen "name" und "value" gesetzt werden. Bei "value" kann Bezug genommen werden auf
davor bereits gesetzte Variablen.
actionlist – 77
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Attribut Beschreibung
handout handout legt fest, ob die property an die nächste actionlist mitgegeben werden soll.
Mögliche Werte: true/false
overwrite overwrite legt fest, ob die property überschrieben werden soll, falls sie bereits existiert.
Mögliche Werte: true/false
mode mode definiert einen Modus, der beim laden einer Config-Datei mit angegeben werden
kann.Wenn mode nicht vorhanden oder auf "all" gesetzt ist, dann wird die property immer
geladen.
Ansonsten wird der mode-Wert mit dem in der action angegebenen Wert verglichen.
Standardmässig wird als mode die location-Variable (siehe Konfiguration/global.properties)
verwendet, es kann aber jeder beliebeige Wert gesetzt werden.
Anwendungsbeispiel
Beim Laden (action="load") funktionieren die Attribute "handout" und "overwrite" als Standardvorgabe für die
gesamte Datei und werden von abweichenden Werten für einzelne properties übersteuert.
Beim Speichern (action="save") werden entweder alle bekannten properties gespeichert oder es kann eine
"propertyList" angegeben werden. Dabei handelt es sich um eine Semikolon-getrennte Liste von properties, welche
als Filter für zu speichernde properties dient. Beim Speichern werden handout und overwrite nicht gesetzt.
actionlist – 78
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Beispiel Config-Datei
Als Pflicht-Attribute müssen "name" und "value" gesetzt werden. Bei "value" kann Bezug genommen werden auf
davor bereits gesetzte Variablen.
Zusätzlich gibt es noch folgende, optionale Attribute:
Attribut Beschreibung
handout handout legt fest, ob die property an die nächste actionlist mitgegeben werden soll.
Mögliche Werte: true/false
overwrite overwrite legt fest, ob die property überschrieben werden soll, falls sie bereits existiert.
Mögliche Werte: true/false
mode mode definiert einen Modus, der beim laden einer Config-Datei mit angegeben werden
kann.Wenn mode nicht vorhanden oder auf "all" gesetzt ist, dann wird die property immer
geladen.
Ansonsten wird der mode-Wert mit dem in der action angegebenen Wert verglichen.
Standardmässig wird als mode die location-Variable (siehe Konfiguration/global.properties)
verwendet, es kann aber jeder beliebeige Wert gesetzt werden.
actionlist – 79
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Anwendungsbeispiel
Beim Laden (action="load") funktionieren die Attribute "handout" und "overwrite" als Standardvorgabe für die
gesamte Datei und werden von abweichenden Werten für einzelne properties übersteuert.
Beim Speichern (action="save") werden entweder alle bekannten properties gespeichert oder es kann eine
"propertyList" angegeben werden. Dabei handelt es sich um eine Semikolon-getrennte Liste von properties, welche
als Filter für zu speichernde properties dient. Beim Speichern werden handout und overwrite nicht gesetzt.
8.1.16 exit
"exit" beendet die actionlist ohne Fehler.
Die action verwendet folgende Parameter:
Anwendungsbeispiel
actionlist – 80
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Beispiel Config-Datei
Als Pflicht-Attribute müssen "name" und "value" gesetzt werden. Bei "value" kann Bezug genommen werden auf
davor bereits gesetzte Variablen.
Zusätzlich gibt es noch folgende, optionale Attribute:
Attribut Beschreibung
handout handout legt fest, ob die property an die nächste actionlist mitgegeben werden soll.
Mögliche Werte: true/false
overwrite overwrite legt fest, ob die property überschrieben werden soll, falls sie bereits existiert.
Mögliche Werte: true/false
mode mode definiert einen Modus, der beim laden einer Config-Datei mit angegeben werden
kann.Wenn mode nicht vorhanden oder auf "all" gesetzt ist, dann wird die property immer
geladen.
Ansonsten wird der mode-Wert mit dem in der action angegebenen Wert verglichen.
Standardmässig wird als mode die location-Variable (siehe Konfiguration/global.properties)
verwendet, es kann aber jeder beliebeige Wert gesetzt werden.
actionlist – 81
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Anwendungsbeispiel
Beim Laden (action="load") funktionieren die Attribute "handout" und "overwrite" als Standardvorgabe für die
gesamte Datei und werden von abweichenden Werten für einzelne properties übersteuert.
Beim Speichern (action="save") werden entweder alle bekannten properties gespeichert oder es kann eine
"propertyList" angegeben werden. Dabei handelt es sich um eine Semikolon-getrennte Liste von properties, welche
als Filter für zu speichernde properties dient. Beim Speichern werden handout und overwrite nicht gesetzt.
8.1.18 fail
"fail" bricht die actionlist mit Fehler ab.
Die action verwendet folgende Parameter:
listDirs Att nei Legt fest, ob Verzeichnisse auch aufgelistet werden. In diesem Fall ist "fileName"
rib n leer und nur "path" gefüllt.
ut
Anwendungsbeispiel
actionlist – 82
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Beispiel Config-Datei
Als Pflicht-Attribute müssen "name" und "value" gesetzt werden. Bei "value" kann Bezug genommen werden auf
davor bereits gesetzte Variablen.
Zusätzlich gibt es noch folgende, optionale Attribute:
Attribut Beschreibung
handout handout legt fest, ob die property an die nächste actionlist mitgegeben werden soll.
Mögliche Werte: true/false
overwrite overwrite legt fest, ob die property überschrieben werden soll, falls sie bereits existiert.
Mögliche Werte: true/false
mode mode definiert einen Modus, der beim laden einer Config-Datei mit angegeben werden
kann.Wenn mode nicht vorhanden oder auf "all" gesetzt ist, dann wird die property immer
geladen.
Ansonsten wird der mode-Wert mit dem in der action angegebenen Wert verglichen.
Standardmässig wird als mode die location-Variable (siehe Konfiguration/global.properties)
verwendet, es kann aber jeder beliebeige Wert gesetzt werden.
actionlist – 83
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Anwendungsbeispiel
Beim Laden (action="load") funktionieren die Attribute "handout" und "overwrite" als Standardvorgabe für die
gesamte Datei und werden von abweichenden Werten für einzelne properties übersteuert.
Beim Speichern (action="save") werden entweder alle bekannten properties gespeichert oder es kann eine
"propertyList" angegeben werden. Dabei handelt es sich um eine Semikolon-getrennte Liste von properties, welche
als Filter für zu speichernde properties dient. Beim Speichern werden handout und overwrite nicht gesetzt.
Beispiel Config-Datei
Als Pflicht-Attribute müssen "name" und "value" gesetzt werden. Bei "value" kann Bezug genommen werden auf
davor bereits gesetzte Variablen.
Zusätzlich gibt es noch folgende, optionale Attribute:
actionlist – 84
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Attribut Beschreibung
handout handout legt fest, ob die property an die nächste actionlist mitgegeben werden soll.
Mögliche Werte: true/false
overwrite overwrite legt fest, ob die property überschrieben werden soll, falls sie bereits existiert.
Mögliche Werte: true/false
mode mode definiert einen Modus, der beim laden einer Config-Datei mit angegeben werden
kann.Wenn mode nicht vorhanden oder auf "all" gesetzt ist, dann wird die property immer
geladen.
Ansonsten wird der mode-Wert mit dem in der action angegebenen Wert verglichen.
Standardmässig wird als mode die location-Variable (siehe Konfiguration/global.properties)
verwendet, es kann aber jeder beliebeige Wert gesetzt werden.
Anwendungsbeispiel
Beim Laden (action="load") funktionieren die Attribute "handout" und "overwrite" als Standardvorgabe für die
gesamte Datei und werden von abweichenden Werten für einzelne properties übersteuert.
Beim Speichern (action="save") werden entweder alle bekannten properties gespeichert oder es kann eine
"propertyList" angegeben werden. Dabei handelt es sich um eine Semikolon-getrennte Liste von properties, welche
als Filter für zu speichernde properties dient. Beim Speichern werden handout und overwrite nicht gesetzt.
actionlist – 85
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
ignoreErrorsInIteration
Der Syntax der forEachItemListXml-action ist wie folgt:
Anwendungsbeispiel
8.1.22 forEachKeyValueList
Die action liest in einer Schleife werte aus key-value Listen. Dabei werden Leerzeichen entfernt und Zeilen, die mit
"#" beginnen oder leer sind werden ignoriert.
Bei keys ohne value wird der value-Wert leer gesetzt. In jedem Schleifendurchlauf wird die Properties "key" und
"value" mit dem Wert der aktuellen Zeile belegt.
Wie in allen forEach-Schleifen werden die Properties "position" und "total" mit der aktuellen Position und der
Gesamtzahl der Durchläufe gesetzt.
Die action verwendet folgende Parameter:
file Att ja Text-Datei, die Key-Value Paare im Format "key = value" enthält. Die einzelnen
rib Wertepaare werden in einer Schleife nacheinander geladen.
ut
actionlist – 86
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Anwendungsbeispiel
<forEachKeyValueList file="D:/VMPROCESSES/VIAMEDICI/test-cases/resources/global.properties">
<echo message="(${position}/${total}) - key: ${key} value: ${value}" />
</forEachKeyValueList>
Beispiel Config-Datei
Als Pflicht-Attribute müssen "name" und "value" gesetzt werden. Bei "value" kann Bezug genommen werden auf
davor bereits gesetzte Variablen.
Zusätzlich gibt es noch folgende, optionale Attribute:
Attribut Beschreibung
handout handout legt fest, ob die property an die nächste actionlist mitgegeben werden soll.
Mögliche Werte: true/false
overwrite overwrite legt fest, ob die property überschrieben werden soll, falls sie bereits existiert.
Mögliche Werte: true/false
actionlist – 87
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Attribut Beschreibung
mode mode definiert einen Modus, der beim laden einer Config-Datei mit angegeben werden
kann.Wenn mode nicht vorhanden oder auf "all" gesetzt ist, dann wird die property immer
geladen.
Ansonsten wird der mode-Wert mit dem in der action angegebenen Wert verglichen.
Standardmässig wird als mode die location-Variable (siehe Konfiguration/global.properties)
verwendet, es kann aber jeder beliebeige Wert gesetzt werden.
Anwendungsbeispiel
Beim Laden (action="load") funktionieren die Attribute "handout" und "overwrite" als Standardvorgabe für die
gesamte Datei und werden von abweichenden Werten für einzelne properties übersteuert.
Beim Speichern (action="save") werden entweder alle bekannten properties gespeichert oder es kann eine
"propertyList" angegeben werden. Dabei handelt es sich um eine Semikolon-getrennte Liste von properties, welche
als Filter für zu speichernde properties dient. Beim Speichern werden handout und overwrite nicht gesetzt.
actionlist – 88
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Beispiel Config-Datei
Als Pflicht-Attribute müssen "name" und "value" gesetzt werden. Bei "value" kann Bezug genommen werden auf
davor bereits gesetzte Variablen.
Zusätzlich gibt es noch folgende, optionale Attribute:
Attribut Beschreibung
handout handout legt fest, ob die property an die nächste actionlist mitgegeben werden soll.
Mögliche Werte: true/false
overwrite overwrite legt fest, ob die property überschrieben werden soll, falls sie bereits existiert.
Mögliche Werte: true/false
mode mode definiert einen Modus, der beim laden einer Config-Datei mit angegeben werden
kann.Wenn mode nicht vorhanden oder auf "all" gesetzt ist, dann wird die property immer
geladen.
Ansonsten wird der mode-Wert mit dem in der action angegebenen Wert verglichen.
Standardmässig wird als mode die location-Variable (siehe Konfiguration/global.properties)
verwendet, es kann aber jeder beliebeige Wert gesetzt werden.
actionlist – 89
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Anwendungsbeispiel
Beim Laden (action="load") funktionieren die Attribute "handout" und "overwrite" als Standardvorgabe für die
gesamte Datei und werden von abweichenden Werten für einzelne properties übersteuert.
Beim Speichern (action="save") werden entweder alle bekannten properties gespeichert oder es kann eine
"propertyList" angegeben werden. Dabei handelt es sich um eine Semikolon-getrennte Liste von properties, welche
als Filter für zu speichernde properties dient. Beim Speichern werden handout und overwrite nicht gesetzt.
Beispiel Config-Datei
Als Pflicht-Attribute müssen "name" und "value" gesetzt werden. Bei "value" kann Bezug genommen werden auf
davor bereits gesetzte Variablen.
Zusätzlich gibt es noch folgende, optionale Attribute:
actionlist – 90
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Attribut Beschreibung
handout handout legt fest, ob die property an die nächste actionlist mitgegeben werden soll.
Mögliche Werte: true/false
overwrite overwrite legt fest, ob die property überschrieben werden soll, falls sie bereits existiert.
Mögliche Werte: true/false
mode mode definiert einen Modus, der beim laden einer Config-Datei mit angegeben werden
kann.Wenn mode nicht vorhanden oder auf "all" gesetzt ist, dann wird die property immer
geladen.
Ansonsten wird der mode-Wert mit dem in der action angegebenen Wert verglichen.
Standardmässig wird als mode die location-Variable (siehe Konfiguration/global.properties)
verwendet, es kann aber jeder beliebeige Wert gesetzt werden.
Anwendungsbeispiel
Beim Laden (action="load") funktionieren die Attribute "handout" und "overwrite" als Standardvorgabe für die
gesamte Datei und werden von abweichenden Werten für einzelne properties übersteuert.
Beim Speichern (action="save") werden entweder alle bekannten properties gespeichert oder es kann eine
"propertyList" angegeben werden. Dabei handelt es sich um eine Semikolon-getrennte Liste von properties, welche
als Filter für zu speichernde properties dient. Beim Speichern werden handout und overwrite nicht gesetzt.
8.1.26 mkDir
"mkDir" erstellt ein Verzeichnis.
Falls der verwendete Pfad nicht vorhanden sein sollte, werden alle dafür benötigten Verzeichnisse erstellt.
Die action verwendet folgende Parameter:
actionlist – 91
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Anwendungsbeispiel
<mkDir dir="D:\VMWORK\processname\sessiondir"/>
overwrite
Der Syntax der move-action ist wie folgt:
Anwendungsbeispiel
actionlist – 92
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Attrib P Beschreibung
ut f
li
c
h
t
?
name Name der Variable mit dem diese angesprochen werden kann.
file
overw legt fest, ob die property überschrieben werden kann, falls sie bereits existiert. Mögliche Werte:
rite true/false
hand gibt an ob die property übergeben werden kann. Mögliche Werte: true/false
out
Der Syntax der config-action ist wie folgt:
Anwendungsbeispiel
actionlist – 93
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Beispiel Config-Datei
Als Pflicht-Attribute müssen "name" und "value" gesetzt werden. Bei "value" kann Bezug genommen werden auf
davor bereits gesetzte Variablen.
Zusätzlich gibt es noch folgende, optionale Attribute:
Attribut Beschreibung
handout handout legt fest, ob die property an die nächste actionlist mitgegeben werden soll.
Mögliche Werte: true/false
overwrite overwrite legt fest, ob die property überschrieben werden soll, falls sie bereits existiert.
Mögliche Werte: true/false
mode mode definiert einen Modus, der beim laden einer Config-Datei mit angegeben werden
kann.Wenn mode nicht vorhanden oder auf "all" gesetzt ist, dann wird die property immer
geladen.
Ansonsten wird der mode-Wert mit dem in der action angegebenen Wert verglichen.
Standardmässig wird als mode die location-Variable (siehe Konfiguration/global.properties)
verwendet, es kann aber jeder beliebeige Wert gesetzt werden.
actionlist – 94
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Anwendungsbeispiel
Beim Laden (action="load") funktionieren die Attribute "handout" und "overwrite" als Standardvorgabe für die
gesamte Datei und werden von abweichenden Werten für einzelne properties übersteuert.
Beim Speichern (action="save") werden entweder alle bekannten properties gespeichert oder es kann eine
"propertyList" angegeben werden. Dabei handelt es sich um eine Semikolon-getrennte Liste von properties, welche
als Filter für zu speichernde properties dient. Beim Speichern werden handout und overwrite nicht gesetzt.
Beispiel Config-Datei
Als Pflicht-Attribute müssen "name" und "value" gesetzt werden. Bei "value" kann Bezug genommen werden auf
davor bereits gesetzte Variablen.
Zusätzlich gibt es noch folgende, optionale Attribute:
actionlist – 95
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Attribut Beschreibung
handout handout legt fest, ob die property an die nächste actionlist mitgegeben werden soll.
Mögliche Werte: true/false
overwrite overwrite legt fest, ob die property überschrieben werden soll, falls sie bereits existiert.
Mögliche Werte: true/false
mode mode definiert einen Modus, der beim laden einer Config-Datei mit angegeben werden
kann.Wenn mode nicht vorhanden oder auf "all" gesetzt ist, dann wird die property immer
geladen.
Ansonsten wird der mode-Wert mit dem in der action angegebenen Wert verglichen.
Standardmässig wird als mode die location-Variable (siehe Konfiguration/global.properties)
verwendet, es kann aber jeder beliebeige Wert gesetzt werden.
Anwendungsbeispiel
Beim Laden (action="load") funktionieren die Attribute "handout" und "overwrite" als Standardvorgabe für die
gesamte Datei und werden von abweichenden Werten für einzelne properties übersteuert.
Beim Speichern (action="save") werden entweder alle bekannten properties gespeichert oder es kann eine
"propertyList" angegeben werden. Dabei handelt es sich um eine Semikolon-getrennte Liste von properties, welche
als Filter für zu speichernde properties dient. Beim Speichern werden handout und overwrite nicht gesetzt.
actionlist – 96
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Attribut Pf Beschreibung
lic
ht
?
sourceFile Name und Typ der Datei in der gesucht werden soll.
encoding
ignoreNoFilesFound
sourcePattern
targetFile
Der Syntax der searchandreplace-action ist wie folgt:
Anwendungsbeispiel
<!-- Im Bsp der Wert aus der Variable "vmexportID" eingefügt -->
<searchandreplace>
<sourceFolder>${sessionTempDir}\sessionDir\</sourceFolder>
<sourceFile>export-list-sessionID.xml</sourceFile>
<searchReplacePair searchPattern ="exportID=""" replacePattern="exportID="${vmexportID}
""/>
</searchandreplace
actionlist – 97
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Attribut Beschreibung
handout handout legt fest, ob die property an die nächste actionlist mitgegeben werden soll.
Mögliche Werte: true/false
overwrite overwrite legt fest, ob die property überschrieben werden soll, falls sie bereits existiert.
Mögliche Werte: true/false
mode mode definiert einen Modus, der beim laden einer Config-Datei mit angegeben werden
kann.Wenn mode nicht vorhanden oder auf "all" gesetzt ist, dann wird die property immer
geladen.
Ansonsten wird der mode-Wert mit dem in der action angegebenen Wert verglichen.
Standardmässig wird als mode die location-Variable (siehe Konfiguration/global.properties)
verwendet, es kann aber jeder beliebeige Wert gesetzt werden.
Anwendungsbeispiel
Anwendungsbeispiel
actionlist – 98
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
TO_DO:
Config-Dateien müssen wie folgt aufgebaut sein:
Beispiel Config-Datei
Als Pflicht-Attribute müssen "name" und "value" gesetzt werden. Bei "value" kann Bezug genommen werden auf
davor bereits gesetzte Variablen.
Zusätzlich gibt es noch folgende, optionale Attribute:
Attribut Beschreibung
handout handout legt fest, ob die property an die nächste actionlist mitgegeben werden soll.
Mögliche Werte: true/false
overwrite overwrite legt fest, ob die property überschrieben werden soll, falls sie bereits existiert.
Mögliche Werte: true/false
mode mode definiert einen Modus, der beim laden einer Config-Datei mit angegeben werden
kann.Wenn mode nicht vorhanden oder auf "all" gesetzt ist, dann wird die property immer
geladen.
Ansonsten wird der mode-Wert mit dem in der action angegebenen Wert verglichen.
Standardmässig wird als mode die location-Variable (siehe Konfiguration/global.properties)
verwendet, es kann aber jeder beliebeige Wert gesetzt werden.
actionlist – 99
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Anwendungsbeispiel
Beim Laden (action="load") funktionieren die Attribute "handout" und "overwrite" als Standardvorgabe für die
gesamte Datei und werden von abweichenden Werten für einzelne properties übersteuert.
Beim Speichern (action="save") werden entweder alle bekannten properties gespeichert oder es kann eine
"propertyList" angegeben werden. Dabei handelt es sich um eine Semikolon-getrennte Liste von properties, welche
als Filter für zu speichernde properties dient. Beim Speichern werden handout und overwrite nicht gesetzt.
Beispiel Config-Datei
Als Pflicht-Attribute müssen "name" und "value" gesetzt werden. Bei "value" kann Bezug genommen werden auf
davor bereits gesetzte Variablen.
Zusätzlich gibt es noch folgende, optionale Attribute:
actionlist – 100
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Attribut Beschreibung
handout handout legt fest, ob die property an die nächste actionlist mitgegeben werden soll.
Mögliche Werte: true/false
overwrite overwrite legt fest, ob die property überschrieben werden soll, falls sie bereits existiert.
Mögliche Werte: true/false
mode mode definiert einen Modus, der beim laden einer Config-Datei mit angegeben werden
kann.Wenn mode nicht vorhanden oder auf "all" gesetzt ist, dann wird die property immer
geladen.
Ansonsten wird der mode-Wert mit dem in der action angegebenen Wert verglichen.
Standardmässig wird als mode die location-Variable (siehe Konfiguration/global.properties)
verwendet, es kann aber jeder beliebeige Wert gesetzt werden.
Anwendungsbeispiel
Beim Laden (action="load") funktionieren die Attribute "handout" und "overwrite" als Standardvorgabe für die
gesamte Datei und werden von abweichenden Werten für einzelne properties übersteuert.
Beim Speichern (action="save") werden entweder alle bekannten properties gespeichert oder es kann eine
"propertyList" angegeben werden. Dabei handelt es sich um eine Semikolon-getrennte Liste von properties, welche
als Filter für zu speichernde properties dient. Beim Speichern werden handout und overwrite nicht gesetzt.
actionlist – 101
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
file
targetBaseDir
targetDirName
ignoreNoFilesFound
Der Syntax der unzip-action ist wie folgt:
Anwendungsbeispiel
Beispiel Config-Datei
Als Pflicht-Attribute müssen "name" und "value" gesetzt werden. Bei "value" kann Bezug genommen werden auf
davor bereits gesetzte Variablen.
actionlist – 102
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Attribut Beschreibung
handout handout legt fest, ob die property an die nächste actionlist mitgegeben werden soll.
Mögliche Werte: true/false
overwrite overwrite legt fest, ob die property überschrieben werden soll, falls sie bereits existiert.
Mögliche Werte: true/false
mode mode definiert einen Modus, der beim laden einer Config-Datei mit angegeben werden
kann.Wenn mode nicht vorhanden oder auf "all" gesetzt ist, dann wird die property immer
geladen.
Ansonsten wird der mode-Wert mit dem in der action angegebenen Wert verglichen.
Standardmässig wird als mode die location-Variable (siehe Konfiguration/global.properties)
verwendet, es kann aber jeder beliebeige Wert gesetzt werden.
Anwendungsbeispiel
Beim Laden (action="load") funktionieren die Attribute "handout" und "overwrite" als Standardvorgabe für die
gesamte Datei und werden von abweichenden Werten für einzelne properties übersteuert.
Beim Speichern (action="save") werden entweder alle bekannten properties gespeichert oder es kann eine
"propertyList" angegeben werden. Dabei handelt es sich um eine Semikolon-getrennte Liste von properties, welche
als Filter für zu speichernde properties dient. Beim Speichern werden handout und overwrite nicht gesetzt.
actionlist – 103
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Beispiel Config-Datei
Als Pflicht-Attribute müssen "name" und "value" gesetzt werden. Bei "value" kann Bezug genommen werden auf
davor bereits gesetzte Variablen.
Zusätzlich gibt es noch folgende, optionale Attribute:
Attribut Beschreibung
handout handout legt fest, ob die property an die nächste actionlist mitgegeben werden soll.
Mögliche Werte: true/false
overwrite overwrite legt fest, ob die property überschrieben werden soll, falls sie bereits existiert.
Mögliche Werte: true/false
mode mode definiert einen Modus, der beim laden einer Config-Datei mit angegeben werden
kann.Wenn mode nicht vorhanden oder auf "all" gesetzt ist, dann wird die property immer
geladen.
Ansonsten wird der mode-Wert mit dem in der action angegebenen Wert verglichen.
Standardmässig wird als mode die location-Variable (siehe Konfiguration/global.properties)
verwendet, es kann aber jeder beliebeige Wert gesetzt werden.
actionlist – 104
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Anwendungsbeispiel
Beim Laden (action="load") funktionieren die Attribute "handout" und "overwrite" als Standardvorgabe für die
gesamte Datei und werden von abweichenden Werten für einzelne properties übersteuert.
Beim Speichern (action="save") werden entweder alle bekannten properties gespeichert oder es kann eine
"propertyList" angegeben werden. Dabei handelt es sich um eine Semikolon-getrennte Liste von properties, welche
als Filter für zu speichernde properties dient. Beim Speichern werden handout und overwrite nicht gesetzt.
sourceFolder Quellpfad
targetDir Zielpfad
file
ignoreNoFilesFound
Der Syntax der zip-action ist wie folgt:
actionlist – 105
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Anwendungsbeispiel
8.2 Konfiguration
In den folgenden Kapiteln wird die Konfiguration der actionlist und von Prozessen beschrieben.
Für die Konfiguration sind folgende Dateien relevant:
global.properties
Basiskonfiguration der actionlist
%CUSTOMER%-config-%location%.xml
Beispiel: METABO-config-PROD.xml
Diese Konfigurationsdateien enthalten die Basiskonfiguration sämtlicher Pfade und sind im VMPROCESSES-
Verzeichnis zu finden.
%CUSTOMER% ist dabei der Kundenname (gesetzt in global.properties oder job)
%location% ist die Umgebung, auf dem das PDK läuft. (siehe global.properties)
Mögliche Werte für %location% sind:
DEVLOCAL
DEVSERVER
QA
PROD
process-config.xml
Hier sind die prozessspezifischen Konfigurationseinträge zu finden.
Die Datei liegt standardmäßig in D:/VMPROCESSES/%processName%/config
Sie enthält sämtliche Konfigurationseinträge unabhänging von location und runMode.
8.2.1 global.properties
Die Datei global.properties enthält die Basiskonfiguration der actionlist und liegt im selben Verzeichnis wie die
actionlist.jar (Normalerweise D:\VMPROGRAMS\PDK\actionlist).
Der Aufbau ist wie folgt:
actionlist – 106
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
global.properties
#actionListAppDir - Normally actionlist determines its own execution path. If this is not possible, this
variable needs to be set.
#actionListAppDir=D:/VMPROGRAMS/PDK/actionlist
#Name of the customer(upper case), used to build paths to config files
#Can be set here globally, but should be set in job definition for use with local/customer dev systems
#param entries in jobs override global.properties
customer=VIAMEDICI
#Directory where the PDK processes directory is located
#parent directory of VMPROCESSES (customer) or VMPROCESSES/%CUSTOMER% (local)
rootDir=D:
#location means the location where the actionlist is running
# available values:
# DEVLOCAL - local development system
# DEVSERVER - customer development system
# QA - customer QA system
# PROD - customer production system
# This decides which customer configuration file is used.
location=DEVLOCAL
#runMode describes if the process is running in TEST or LIVE mode
# TEST mode means it will not run with exports or SAP connetcs, but with previously provided test
files
# TEST files are to be placed in VMPROCESSES/%process-name%/resources
# default value is "LIVE". TEST mode should be set in process as job-param for initialize
runMode=LIVE
#debug describes if the process is running in debug mode (NOT YET IMPLEMENTED)
# debug=true means that logLevel will default to -9, no matter what is set in job/actionlist/action
# and that the email action will send mails to DEBUG_redirectAllMailsTo (see below)
# default value is "false". debug mode should be set in process as job-param for initialize
debug=false
# Directory where to look for an actionlist file if no full path is specified (can be used in jobs as base
dir for actionlists. processName must be added)
# Defaults (depending on location):
# DEVLOCAL : ${rootDir}/VMPROCESSES/${customer}
# DEVSERVER/QA/PROD : ${rootDir}/VMPROCESSES
actionListsDir=${rootDir}/VMPROCESSES/${customer}
# Directory where fonts for FOP are stored
fopFonts=${actionListsDir}/common/resources/fopFonts
#List directories under which recursive deletion should be allowed. Diretories are separated by semicolon ;
deleteBase=D:/VMWORK;D:/VMTEMP
# JDBC connection string for EPIM data base.
# Examples: "jdbc:oracle:thin:@//DB:1521/via"
# jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=xe)))
actionlist – 107
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
EPIM_ConnectString=jdbc:jtds:sqlserver://CHLYSDB10:1433;instance=IT
# JDBC data base driver class name for EPIM connection
# Oracle: oracle.jdbc.driver.OracleDriver
EPIM_JdbcDriver=net.sourceforge.jtds.jdbc.Driver
# EPIM data base user name
EPIM_User=epim
# EPIM data base user password (of course encrypted)
EPIM_PasswordCrypted=GPWgiOfrKLY1NnVvfg3yFA==
#Use a connection pool when opening the database ?
connectionPool.enabled=false
#Controls how many active database connections are on the connection pool. In order to debug non-closed DB
connections, set this to 1 (or to 2 if an additional db connection is used for PDK logging). Default: 8
connectionPool.maxActive=8
# Web service connection settings:
EPIM_WebServerHost=10.19.4.113
# Important: there must be a trailing / in the url <- NO! always fill slashes in between manually...
EPIM_WebServices_BaseURL=http://${EPIM_WebServerHost}:5555/axis2/services
EPIM_WebServices_User=system
EPIM_WebServices_PasswordCrypted=fSYukREsGxjwOASgKR5Q6g==
#PDK logging switch
PDK_enable=false
#PDK logging connection Settings:
PDK_ConnectString=${EPIM_ConnectString}
PDK_JdbcDriver=${EPIM_JdbcDriver}
PDK_User=${EPIM_User}
PDK_PasswordCrypted=${EPIM_PasswordCrypted}
#set this to true if you want to ignore it when no pdk database connection can be established or if you
want to run the actionlist without pdk logging.
PDK_ignoreErrors=true
#global default log-lifetime: Number of days after which PDK process entries will expire and be cleaned up
by the CleanupPDK Job. 0 = cleaned up immediately after execution.
logLifetime=1
#TODO: doku
errorOffset=1
#TODO: doku
keepLoopLogs=10
### Mail Settings: ###
# set this to the email address you like to recieve all the mail instead. Unset/comment-out to arm for
golive.
#DEBUG_redirectAllMailsTo=
# Set to true to disable all mails in case of testing on a system with no mailserver connection.
#DEBUG_disableMails=true
# Additional SMTP Settings can be found here: http://javamail.kenai.com/nonav/javadocs/com/sun/mail/smtp/
package-summary.html
#The SMTP server to connect to.
mail.smtp.host=mail.viamedici.de
# Port of the SMTP server port to connect to. Use 465 for secure connections
mail.smtp.port=25
actionlist – 108
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
# Set these 2 parameters to true to use STARTTLS. Required for viamedici mail server
mail.smtp.starttls.enable=false
mail.smtp.starttls.required=false
#Set this to * to trust the mail host. Otherwise a valid certificate for the mail host has to be installed
on this system.
mail.smtp.ssl.trust=*
# set this only to false if you don't want any authentication
mail.smtp.auth=true
# Username for SMTP
mail.smtp.user=
# Password for SMTP
mail.smtp.password=
8.2.2 Customer-Config
Die %CUSTOMER%-config - Dateien enthalten sämtliche Basispfade, welche für PDK-Prozesse benötigt werden und
liegen im VMPROCESSES-Verzeichnis (Normalerweise D:\VMPROCESSES).
Der Aufbau ist wie folgt:
actionlist – 109
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
</config>
8.2.3 Process-Config
Die process-config - Dateien enthalten sämtliche Basispfade, welche für PDK-Prozesse benötigt werden und liegen
im Prozess-Verzeichnis (Normalerweise D:\VMPROCESSES\%process-name%\config).
Im Gegensatz zur Customer-Config gibt es nur eine Datei (nicht eine pro location). Falls bestimmte properties sich je
nach location unterscheiden erfolgt dies über das "mode"-Attribut. (siehe Beschreibung der "config"-action.)
actionlist – 110
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
<!-- process specific properties for all location-->
<property name="processVariable1" value="something" handout="true" overwrite="true" mode="all"/>
<property name="processVariable2" value="somethingElse" handout="true" overwrite="true" mode="all"/>
</config>
actionlist – 111
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
handout(true/false) steuert, ob eine property in einer Jobkette an den nächsten Job übergeben wird. In diesem Fall
kann gesteuert werden ob die property nur für die actionlist, in der die config geladen wird, relevant ist oder auch
für alle folgenden actionlists.
Syntax
${function-name,parameter1[,parameter2][,parameter_n]}
Achtung!
Die Parameter dürfen keine Kommas beinhalten (z.B. Kommas in Dateinamen)
Anwendungsbeispiele
Filesystem:
actionlist – 112
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Anwendungsbeispiele
<!-- ifExists - Prüft ob ein Pfad existiert. Ob es sich dabei um eine Datei oder ein Verzeichnis
handelt ist egal. -->
<!-- Rückgabewerte sind 'true' oder 'false' -->
<property name="ifExists" value="${ifExists,D:/VMPROCESSES}" />
<!-- getFileName - liefert das letzte Element eines Pfades (also Datei- oder Verzeichnisname) -->
<property name="getFileName" value="${getFileName,D:/VMPROCESSES/viamedici.txt}" />
<!-- Ergebnis: "viamedici.txt" -->
<property name="getFileName" value="${getFileName,D:/VMPROCESSES}" />
<!-- Ergebnis: "VMPROCESSES" -->
<!-- getParentDirectoryPath - liefert das Eltern-Verzeichnis aus einem Pfad -->
<property name="getParentDirectoryPath" value="${getParentDirectoryPath,D:/VMPROCESSES/
viamedici.txt}" />
<!-- Ergebnis: "D:/VMPROCESSES" -->
<property name="getParentDirectoryPath" value="${getParentDirectoryPath,D:/VMPROGRAMS/PDK}" />
<!-- Ergebnis: "D:/VMPROGRAMS" -->
<!-- pathToURL - liefert URL-Format für einen angegebenen Pfad -->
<property name="pathToURL" value="${pathToURL,D:/VMPROGRAMS/PDK}" />
<!-- Ergebnis: "file:///D:/VMPROGRAMS/PDK" -->
<!-- getFreeSpace - liefert den freien Speicherplatz in einem angegebenen Pfad -->
<!-- Parameter: Einheit (KB, MB, GB), Pfad -->
<property name="getFreeSpace" value="${getFreeSpace,MB,D:}" />
<!-- getUsableSpace - liefert den verwendbaren Speicherplatz in einem angegebenen Pfad -->
<!-- Es wird empfohlen, diese Funktion zu verwenden anstatt von getFreeSpace,
da in einigen Konstellationen der freie und der verwendbare Speicherplatz voneinander
abweichen können -->
<!-- Parameter: Einheit (KB, MB, GB), Pfad -->
<property name="getUsableSpace " value="${getUsableSpace,MB,D:}" />
<!-- getTotalSpace - liefert den gesamten Speicherplatz in einem angegebenen Pfad -->
<!-- Parameter: Einheit (KB, MB, GB), Pfad -->
<property name="getTotalSpace " value="${getTotalSpace,MB,D:}" />
String-Operationen
actionlist – 113
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Anwendungsbeispiele
<!-- urlEncode - liefert die URL-encodierte Version des angegebenen Strings -->
<!-- Parameter: string, encoding -->
<property name="urlEncode" value="${urlEncode,The string ü@foo-bar,UTF-8}" />
<!-- Ergebnis: "The+string+%C3%BC%40foo-bar" -->
<!-- split - liefert ein token eines gesplitteten strings -->
<!-- Parameter: string, position (0 = erstes Token, 1 = zweites, -1 =letztes, -2 = vorletztes, ...),
Trenner (regEx, ACHTUNG: Darf keine Kommas enthalten)-->
<property name="split" value="${split,das;ist;ein;string,1,;}" />
<!-- Ergebnis: "ist" -->
<!-- generateUUID - liefert einen Version 4 UUID (Universally Unique IDentifier) string -->
<!-- Es handelt sich dabei um einen mit Sicherheit eindeutigen String, z.B. für den Fall, dass
Zeitstempel nicht ausreichen -->
<property name="generateUUID" value="${generateUUID}" />
<!-- Ergebnis (z.B.): "48558202-d65f-4b99-844c-13ce0496a2e3" -->
Sonstige
Anwendungsbeispiele
8.4 Standard-Variablen
Neben den in den Konfig-Dateien verwendeten properties stellt die actionlist noch folgende Variablen zu
Verfügung:
Property-Name Bedeutung
actionListFile Pfad zur auszuführenden actionlist.xml Datei. Wird in Jobs gesetzt. Dort ist nur der relative
Pfad ab ${actionListsDir} (gesetzt in global.properties) notwendig.
actionlist – 114
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Property-Name Bedeutung
sessionId Bei start durch den Jobscheduler wird hier die Jobscheduler SessionID übernommen.
Andernfalls wird ein timestamp gesetzt (yyyyMMdd_HHmmss_SSS)
orderId Bei Start durch Jobscheduler wird hier hier ID der Order übernommen. Bei einer fest
definierten Order wird der Order-Name verwendet. Bei einer fileOrderSource wird Pfad/
Dateiname der Orderfiles übergeben.
inputRequest Falls Jobkette über einen JobScheduler-Webservice gestartet wird, wird hier die
Webservice-Payload übergeben. Format entweder key-value (bei GET-Aufruf) oder xml (bei
SOAP)
inputFile Eingangsdatei. Bei Start durch fileOrderSource wird der Pfad des OrderFile übergeben.
actionlist – 115
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
9 Prozess-Templates
9.1 remoteActionlist
Dabei handelt es sich um eine Vorlage, mit der man einzelne actionlists (also keine längeren Prozesse) auf dem
DaemonServer (bei Multiserver-Installation) aus einer Exportformatgruppen per Batch anstoßen kann.
Das Template liegt im SVN unter
SV-PS-Implementierung\VIAMEDICI\VMPROCESSES\remoteActionlist
die zugehörige Jobkette liegt in
SV-PS-Implementierung\VIAMEDICI\VMPROCESSES\scheduler-live\remoteActionlist\
Eine Beispiel-Batch-Datei liegt im scripts-Ordner. Diese Batch-Datei erstellt ein config-File, welches dann in ein
JobScheduler hotfolder (file_order_source der zugehörigen Jobkette) kopiert wird
Dort müssen einige Variablen geplfegt werden:
CUSTOMER
PROCESSNAME (Name des Prozesses, der die auszuführende actionlist beinhaltet. Standardmäßig
"remoteActionlist". Wird im Pfad des HANDOVER Verzeichnis verwendet.)
REMOTE_ACTIONLIST_PATH (Pfad zur auszuführenden actionlist)
REMOTE_ACTIONLIST_NAME (Name der auszuführenden actionlist (ohne .actionlist.xml)
Die Variablen, welche EPIM übergibt werden, zusätzlich zu actionlist-Name/Pfad und einer sessionID, welche im
Batch generiert wird, in das config-File übernommen.
Die Jobkette liest das config-File aus und startet die konfigurierte actionlist.
Prozess-Templates – 116
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
10 Logging
Es gibt grundsätzlich 2 Stellen, an denen Logs vorhanden sein können:
Prozessprotokoll
Das Prozessprotokoll ist ein Loggingmechanismus innerhalb des EPIM, welcher in der global.properties der
actionlist Konfiguriert/Aktiviert wird.
JobScheduler-Log
Hier wird die Standard-Ausgabe der actionlist gelogt, falls diese über den jobScheduler gestartet wurde.
Der Detailierungsgrad des Loggings kann, abhängig vom Aufruf der actionlist, wie folgt eingestellt werden:
LogLevel Bedeutung
0 Info (alle Nachrichten mit Level Info, Warnung und Fehler werden ausgegeben)
1 Warning (alle Nachrichten mit Level Warnung und Fehler werden ausgegeben)
Logging – 117
Knowledge Space – PDK - Process Development Kit [Produkt] [PS]
Logging – 118