Von Version 1.40
bearbeitet von gru
am 31.03.2022, 16:56
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 1.31
bearbeitet von gru
am 31.03.2022, 16:27
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -8,21 +8,13 @@
8 8  
9 9  == Workflow im Beispiel ==
10 10  
11 -{{figure image="workflow_full_de.png" clear="h3"}}
12 -Workflow im Beispielformular, mit dem die entsprechen
13 -{{/figure}}
14 -
15 -Im Formularstore kann das Beispielformular mit dem Namen "ALVA Sonn- und Feiertagsverbot" importiert oder heruntergeladen werden. In diesem werden Informationen gesammelt und diese nach dem Absenden des Formulars im [[Workflow>>doc:Formcycle.Designer.Workflow.WebHome]] über eine [[XSL-Transformation>>https://de.wikipedia.org/wiki/XSL_Transformation]] in ein für ALVA9 importierbares XML-Format umgewandelt. Anschließend erstellt der Workflow aus diese XML-Datei, allen im Formular übertragenen Daten und einer PDF-Druckquittung ein ZIP-Archiv.
11 +Im Formularstore kann das Beispielformular mit dem Namen "ALVA Sonn- und Feiertagsverbot" importiert oder heruntergeladen werden. In diesem werden Informationen gesammelt und diese nach dem Absenden des Formulars im [[Workflow>>doc:Formcycle.Designer.Workflow.WebHome]] über eine [[XSL-Transformation>>doc:Formcycle.UserInterface.FilesAndTemplates.XSLTransformation]] in ein für ALVA9 importierbares XML-Format umgewandelt. Anschließend erstellt der Workflow aus diese XML-Datei, allen im Formular übertragenen Daten und einer PDF-Druckquittung ein ZIP-Archiv.
16 16  Dieses wird anschließend in das Austauschverzeichnis gespeichert. Das Austauschverzeichnis ist im Beispielformular noch nicht konfiguriert und muss in den jeweiligen Aktionen zunächst noch festgelegt werden. Der Grund dafür ist, dass der Pfade nicht allgemengültig sind und vom jeweiligen System abhängen, in welches das Beispielformular importiert wurde.
17 17  
18 18  === Inhalt und Erstellung der XML-Datei ===
19 19  
20 -{{figure image="workflow_xml_de.png" clear="h3"}}
21 -Konfiguration der Workflow-Aktion vom Typ //Als XML exportieren//, mit der die an ALVA9 zu sendenden Daten in eine XML-Datei überführt werden.
22 -{{/figure}}
16 +Die XML-Datei mit allen im Formular eingegebenen Daten wird über eine sagenannte [[XSL-Transformation>>https://de.wikipedia.org/wiki/XSL_Transformation]] erzeugt. Die Struktur der erzeugten XML-Datei wird dabei von ALVA9 vorgegeben und besteht im Beispiel aus den Konten //daten// und //datensatz//, wobei in letzteren die einzelnen Informationen als eigene Unterknoten eingefügt werden.
23 23  
24 -Die XML-Datei mit allen im Formular eingegebenen Daten wird durch eine Aktion vom Typ [[//Als XML exportieren//>>doc:Formcycle.Designer.Workflow.Actions.ExportXML]] mithilfe einer in {{formcycle/}} definierten [[XSL-Transformation>>doc:Formcycle.UserInterface.FilesAndTemplates.XSLTransformation]] erzeugt. Die Struktur der erzeugten XML-Datei wird dabei von ALVA9 vorgegeben und besteht im Beispiel aus den Konten //daten// und //datensatz//, wobei in letzteren die einzelnen Informationen als eigene Unterknoten eingefügt werden.
25 -
26 26  Die vollständige XSL-Transformation für das Beispiel sieht wie folgt aus:
27 27  
28 28  {{panel title="XSL-Transformation des Beispielformulars" triggerable="true" initial="hidden"}}
... ... @@ -76,24 +76,24 @@
76 76   <ERS2KENNZ1><xsl:value-of select="form/field[@name='tfERS2KENNZ1']/plainValue"/></ERS2KENNZ1>
77 77   <ERS2KENNZ2><xsl:value-of select="form/field[@name='tfERS2KENNZ2']/plainValue"/></ERS2KENNZ2>
78 78   <LKW_GEWICH>
79 - <xsl:call-template name="formatWeight">
80 - <xsl:with-param name="weight" select="form/field[@name='tfLKW_GEWICH']/plainValue" />
81 - </xsl:call-template>
71 + <xsl:call-template name="formatWeight">
72 + <xsl:with-param name="weight" select="form/field[@name='tfLKW_GEWICH']/plainValue" />
73 + </xsl:call-template>
82 82   </LKW_GEWICH>
83 83   <ANH_GEWICH>
84 - <xsl:call-template name="formatWeight">
85 - <xsl:with-param name="weight" select="form/field[@name='tfANH_GEWICH']/plainValue" />
86 - </xsl:call-template>
76 + <xsl:call-template name="formatWeight">
77 + <xsl:with-param name="weight" select="form/field[@name='tfANH_GEWICH']/plainValue" />
78 + </xsl:call-template>
87 87   </ANH_GEWICH>
88 88   <ZUG_GEWICH>
89 - <xsl:call-template name="formatWeight">
90 - <xsl:with-param name="weight" select="form/field[@name='tfZUG_GEWICH']/plainValue" />
91 - </xsl:call-template>
81 + <xsl:call-template name="formatWeight">
82 + <xsl:with-param name="weight" select="form/field[@name='tfZUG_GEWICH']/plainValue" />
83 + </xsl:call-template>
92 92   </ZUG_GEWICH>
93 93   <AUF_GEWICH>
94 - <xsl:call-template name="formatWeight">
95 - <xsl:with-param name="weight" select="form/field[@name='tfAUF_GEWICH']/plainValue" />
96 - </xsl:call-template>
86 + <xsl:call-template name="formatWeight">
87 + <xsl:with-param name="weight" select="form/field[@name='tfAUF_GEWICH']/plainValue" />
88 + </xsl:call-template>
97 97   </AUF_GEWICH>
98 98   <!--
99 99   <LKW_LEER><xsl:value-of select="form/field[@name='']/plainValue"/></LKW_LEER>
... ... @@ -102,34 +102,34 @@
102 102   <AUF_LEER><xsl:value-of select="form/field[@name='']/plainValue"/></AUF_LEER>
103 103   -->
104 104   <ERS_GEWI_1>
105 - <xsl:call-template name="formatWeight">
106 - <xsl:with-param name="weight" select="form/field[@name='tfERS_GEWI_1']/plainValue" />
107 - </xsl:call-template>
97 + <xsl:call-template name="formatWeight">
98 + <xsl:with-param name="weight" select="form/field[@name='tfERS_GEWI_1']/plainValue" />
99 + </xsl:call-template>
108 108   </ERS_GEWI_1>
109 109   <ERS_GEWI_2>
110 - <xsl:call-template name="formatWeight">
111 - <xsl:with-param name="weight" select="form/field[@name='tfERS_GEWI_2']/plainValue" />
112 - </xsl:call-template>
102 + <xsl:call-template name="formatWeight">
103 + <xsl:with-param name="weight" select="form/field[@name='tfERS_GEWI_2']/plainValue" />
104 + </xsl:call-template>
113 113   </ERS_GEWI_2>
114 114   <ART><xsl:value-of select="form/field[@name='tfART']/plainValue"/></ART>
115 115   <ART_GEWICH>
116 - <xsl:call-template name="formatWeight">
117 - <xsl:with-param name="weight" select="form/field[@name='tfART_GEWICH']/plainValue" />
118 - </xsl:call-template>
108 + <xsl:call-template name="formatWeight">
109 + <xsl:with-param name="weight" select="form/field[@name='tfART_GEWICH']/plainValue" />
110 + </xsl:call-template>
119 119   </ART_GEWICH>
120 120   <STARTORT><xsl:value-of select="form/field[@name='tfSTARTORT']/plainValue"/></STARTORT>
121 121   <ZIELORT><xsl:value-of select="form/field[@name='tfZIELORT']/plainValue"/></ZIELORT>
122 122   <UEBER><xsl:value-of select="form/field[@name='tfUEBER']/plainValue"/></UEBER>
123 123   <ZEIT_VON>
124 - <xsl:call-template name="formatDate">
125 - <xsl:with-param name="dateTime" select="form/field[@name='tfZEIT_VON']/plainValue" />
126 - </xsl:call-template>
116 + <xsl:call-template name="formatDate">
117 + <xsl:with-param name="dateTime" select="form/field[@name='tfZEIT_VON']/plainValue" />
118 + </xsl:call-template>
127 127   </ZEIT_VON>
128 128   <VON_UHR><xsl:value-of select="form/field[@name='tfVON_UHR']/plainValue"/></VON_UHR>
129 129   <ZEIT_BIS>
130 - <xsl:call-template name="formatDate">
131 - <xsl:with-param name="dateTime" select="form/field[@name='tfZEIT_BIS']/plainValue" />
132 - </xsl:call-template>
122 + <xsl:call-template name="formatDate">
123 + <xsl:with-param name="dateTime" select="form/field[@name='tfZEIT_BIS']/plainValue" />
124 + </xsl:call-template>
133 133   </ZEIT_BIS>
134 134   <BIS_UHR><xsl:value-of select="form/field[@name='tfBIS_UHR']/plainValue"/></BIS_UHR>
135 135   <ORT_LEERFA><xsl:value-of select="form/field[@name='tfORT_LEERFA']/plainValue"/></ORT_LEERFA>
... ... @@ -173,13 +173,20 @@
173 173  
174 174  === Speichern von zusätzlichen Dokumenten ===
175 175  
176 -{{figure image="workflow_zip_de.png"}}Konfiguration der Workflow-Aktion vom Typ //ZIP Komprimieren//, welche ein Archiv mit alle Dateien erzeugt.{{/figure}}{{figure image="workflow_save_de.png"}}Beispielhafte Konfiguration der Workflow-Aktion vom Typ //Speichern im Dateisystem//, mit der das Archiv mit allen Daten im Dateisystem gespeichert wird.{{/figure}}
177 -Im Beispiel wird zunächst über eine Aktion vom Typ [[ZIP Komprimieren>>doc:Formcycle.Designer.Workflow.Actions.CompressFiles]] ein ZIP-Archiv erzeugt, welches alle an das Formualar angehangenen Dateien, eine mithilfe einer [[PDF-Print-Aktion>>doc:Formcycle.PluginDocumentation.PrintServicePlugin]] generierte PDF-Quittung des Formulars und die erstellte XML-Datei beinhaltet. Dieses Archiv wird dann über eine Aktion vom Typ [[Speichern im Dateisystem>>doc:Formcycle.Designer.Workflow.Actions.SaveToFileSystem]] an eine Stelle im Dateisystem des Servers gespeichert, die als Austauschverzeichnis für ALVA9 gedacht ist und von der aus sich das System dann die Datei selbstständig abholt. Es ist wichtig, dass alle Dokumente, die zu den in der XML-Datei enthaltenen Daten gehören und zu ALVA9 übertragen werden sollen, mit im gleichen ZIP-Archiv enthalten sind. Falls nur Informationen aus Formularfeldern und keine Dateien an ALVA9 übertragen werden sollen, muss nur die zuvor erzeugte XML-Datei im das ZIP-Archiv gespeichert werden.
168 +Im Beispiel wird zunächst über eine Aktion vom Typ [[ZIP Komprimieren>>doc:Formcycle.Designer.Workflow.Actions.CompressFiles]] ein ZIP-Archiv mit allen an das Formualar angehangenen Dateien und einer mithilfe einer [[PDF-Print-Aktion>>doc:Formcycle.PluginDocumentation.PrintServicePlugin]] generierte PDF-Quittung des Formulars sowie der erstellten XML-Datei erzeugt. Dieses Archiv wird dann über eine Aktion vom Typ [[Speichern im Dateisystem>>doc:Formcycle.Designer.Workflow.Actions.SaveToFileSystem]] an eine Stelle im Dateisystem des Servers gespeichert, die als Austauschverzeichnis für ALVA9 gedacht ist und von der aus sich das System dann die Datei selbstständig abholt. Es ist wichtig, dass alle Dokumente, die zu den in der XML-Datei enthaltenen Daten gehören und zu ALVA9 übertragen werden sollen, mit im gleichen ZIP-Archiv enthalten sind.
178 178  
179 179  === Benennung der erzeugten Dateien ===
180 180  
181 -Im Beispiel wird die XML-Datei //ALVA_SONNTAG_[%$PROCESS_ID%].xml// und das ZIP-Archiv //ALVA_SONN_[%$PROCESS_ID%].zip// genannt. Es ist wichtig, dass der Dateiname der ZIP-Datei eindeutig ist und nicht bei verschiedenen Vorgängen gleich ist. Im Beispiel wird dafür der Platzhalter für die Prozess-ID verwendet, welche bei jedem Vorgang unterschiedlich ist. Grundsätzlich können hierfür aber auch andere Werte wie zum Beispiel Werte von [[Zählern>>doc:Formcycle.UserInterface.Data.Counter]] verwendet werden. Auch bei der XML-Datei empfiehlt es sich, auch einen eindeutigen Namen zu verwenden.
172 +Im Beispiel wird die XML-Datei //ALVA_SONNTAG_[%$PROCESS_ID%].xml// und das ZIP-Archiv //ALVA_SONN_[%$PROCESS_ID%].zip// genannt. Es ist wichtig, dass der Dateiname der ZIP-Datei eindeutig ist und nicht bei verschiedenen Vorgängen gleich ist. Im Beispiel wird dafür der Platzhalter für die Prozess-ID verwendet, welche bei jedem Vorgang unterschiedlich ist. Grundsätzlich können hierfür aber auch andere Werte wie zum Beispiel Werte von [[Zählern>>doc:Formcycle.UserInterface.Data.Counter]] verwendet werden.
182 182  
174 +das ist wichtig weil
175 +
176 +Selbe, eindeutige ID -> Es empfiehlt sich, Process_ID zu verwenden
177 +
178 +---Hierbei ist die Verwendung gl dateinamen
179 +
180 +
181 +
183 183  == Ansprechpartner für Fragen ==
184 184  
185 185  Für weitere Fragen zur Anbindung und der nötigen Konfiguration für den Import in ALVA9 steht folgender Ansprechpartner auf Seiten der Ascherslebener Computer GmbH zur Verfügung: