Wiki-Quellcode von Steuerung Einreichungsprozess
Version 1.1 von MACH ProForms GmbH am 26.02.2020
Zeige letzte Bearbeiter
author | version | line-number | content |
---|---|---|---|
1 | ## Automatische E-Mail Antwort | ||
2 | |||
3 | Standardmäßig erhält der Absender nach dem Einreichen eines Assistenten **keine** automatische E-Mail Antwort von der Behörde. Soll jedoch der Absender eine E-Mail Antwort erhalten muss hierzu im entsprechenden Assistenten sowie im E-Mailserver bei der Behörde Konfigurationen vorgenommen werden. | ||
4 | |||
5 | ***Hinweis: Bitte beachten Sie, wenn Sie ein Autoreply in Outlook hinterlegen möchten, dann müssen zu nachfolgenden Punkten noch zusätzlich ein Registry Eintrag und ein VB-Makro-Script hinterlegt werden.*** | ||
6 | |||
7 | ___ | ||
8 | |||
9 | ### Anpassung im Assistenten für die automatische E-Mail Antwort | ||
10 | |||
11 | #### Möglichkeit 1: Einfaches Verfahren (kein Wert im Export) | ||
12 | |||
13 | Hierzu muss im Assistenten in das Panel, z. B. „Persönliche Daten“ auf dem die E-Mail-Adresse während des Ausfüllvorgangs erfasst wird, die [[„Bezeichnung technisch“|Main.05_Assistenten.04_Assistentenbauoberfläche.04_KonfigurationvonKomponenten]] der Komponente in **ofsXX1_from_smail3** umbenannt werden. | ||
14 | |||
15 | ![[Ansicht der Änderung des Objektnamen der E-Mail-Adresse|@VeröffentlichungEmailKomponente.jpg]] | ||
16 | |||
17 | Anschließend kann der Assistent normal [[gespeichert|Main.05_Assistenten.04_Assistentenbauoberfläche.13_Assistentenspeichern]], freigegeben und [[veröffentlicht|Main.05_Assistenten.02_VeröffentlichungvonAssistenten]] werden. Das Resultat ist dann, dass die im Assistenten eingetragene E-Mail-Adresse als Replyto-Adresse verwendet wird. Dies ermöglicht gerade im Payment- oder Bewerbungsbereich eine automatisierte Antwort bei eingehenden Anträgen. Wenn allerdings bei z. B. Bewerbungen nach dem Ablauf der Frist die eingegangenen Bewerbungen aus dem Kundenbereich exportiert werden, wird dieses Feld nicht angezeigt, da es ein Steuerungsfeld (ofsXX1_from_smail3) vom Formularserver ist. Das führt zu Möglichkeit 2. | ||
18 | |||
19 | #### Möglichkeit 2: Erweitertes Verfahren mit Exportmöglichkeit | ||
20 | |||
21 | Zusätzlich zu der Möglichkeit 1 muss für diese Möglichkeit noch ein „[[verstecktes Feld|Main.05_Assistenten.04_Assistentenbauoberfläche.03_Bibliothek]]“ im Assistenten eingebaut werden, das mit dem Wert aus dem Feld „E-Mail (ofsXX1_from_smail3)“ automatisch befüllt wird. Das hat den Effekt, dass die vom Ausfüller eingetragene E-Mail-Adresse zumal als Replyto-Adresse fungiert, als auch, dass der Wert zum Export zur Verfügung steht. Hierzu muss die „Bezeichnung technisch“ der Komponente, in der die E-Mail-Adresse im Ausfüllprozess eingetragen wird, auf **ofsXX1_from_smail3** abgeändert werden. | ||
22 | |||
23 | ***Hinweis: Beachten Sie bitte, dass das versteckte Feld zwingend auf einem anderen Panel platziert werden muss, da ansonsten die Regel zur Befüllung nicht greift.*** | ||
24 | |||
25 | ![[Ansicht der Änderung des Objektnamen der E-Mail-Adresse|@VeröffentlichungEmailKomponente.jpg]] | ||
26 | |||
27 | Auf einem nachfolgenden Panel muss ein „verstecktes Feld“ platziert und die „Bezeichnung technisch“ des versteckten Feldes in „E-Mail“ abgeändert werden. Weiterhin muss in dem versteckten Feld unter den speziellen Einstellungen der Wert geleert werden. | ||
28 | |||
29 | ![[Ansicht der Änderung des Objektnamen der E-Mail-Adresse|@VeröffentlichungEmailKomponenteWert.jpg]] | ||
30 | |||
31 | Zusätzlich muss mittels einer [[Expertenregel|Main.05_Assistenten.04_Assistentenbauoberfläche.07_Regelbau.04_Expertenmodus]] dafür gesorgt werden, dass die eingetragene E-Mail-Adresse in das versteckte Feld übertragen wird. Die nachfolgende Regel muss auf dem Panel eingefügt werden, in dem sich das versteckte Feld befindet. | ||
32 | |||
33 | Expertenregel: | ||
34 | |||
35 | ```javascript | ||
36 | package de.formsolutions.metaform | ||
37 | import de.formsolutions.metaform.model.* | ||
38 | |||
39 | rule "Mail" | ||
40 | when | ||
41 | Panel(identifier == "Persönliche Daten", $c0:getInputComponent("ofsXX1_from_smail3"), $c0 != null) | ||
42 | Panel(identifier == "Zweites Panel", $c1:getInputComponent("E-Mail"), $c1 != null) | ||
43 | then | ||
44 | $c1.setStringValue($c0.getStringValue()); | ||
45 | end | ||
46 | ``` | ||
47 | |||
48 | Erläuterung: | ||
49 | - Die Definition`rule` „Mail“ ist der Name der Regel und ist frei definierbar. | ||
50 | - In der Definition `Panel(identifier == "Persönliche Daten"` muss der Panelname eingetragen werden auf dem die E-Mail-Adresse erfasst wird. | ||
51 | - Der in der Definition `$c0:getInputComponent("ofsXX1_from_smail3")` befindliche Wert wird ausgelesen und in der Variablen $c0 zwischengespeichert. | ||
52 | - In der Definition `Panel(identifier == "Zweites Panel"` muss das Panel angegeben werden, auf dem sich das versteckte Feld befindet. | ||
53 | |||
54 | ***Hinweis: In diesem Fall befinden sich die Komponenten in keiner Objektgruppe. Wenn Sie mit [[Objektgruppen|Main.05_Assistenten.04_Assistentenbauoberfläche.04_KonfigurationvonKomponenten]] arbeiten, muss der vollständige Pfad eingetragen werden, in der sich das jeweilige Feld befindet.*** | ||
55 | |||
56 | Nach dem Einpflegen der Regel kann der Assistent normal [[gespeichert|Main.05_Assistenten.04_Assistentenbauoberfläche.13_Assistentenspeichern]], freigegeben und [[veröffentlicht|Main.05_Assistenten.02_VeröffentlichungvonAssistenten]] werden. | ||
57 | |||
58 | #### Möglichkeit 3: Erweitertes Verfahren mit Export und Validierung | ||
59 | |||
60 | Mit der Hilfe von zwei E-Mailfeldern kann geprüft werden, ob die angegebenen Werte (E-Mail-Adressen) identisch sind. Diese Möglichkeit kann verwendet werden, um sicherzustellen, dass der Antragsteller eine korrekte E-Mail-Adresse angibt. Es werden hierzu zwei E-Mailfelder auf einem Panel benötigt. Eines der E-Mailfelder muss mit der „Bezeichnung technisch“ **ofsXX1_from_smail3** versehen sein. Das zweite E-Mail-Feld kann beispielsweise E-Mail benannt werden. | ||
61 | |||
62 | ![[Ansicht der zwei E-Mailfelder|@VeröffentlichungEmailMöglichkeit3.jpg]] | ||
63 | |||
64 | Zusätzlich zu den beiden E-Mailfeldern wird nachfolgende [[Validierungsregel|Main.05_Assistenten.04_Assistentenbauoberfläche.07_Regelbau.05_Validierungsregeln]] auf dem Panel benötigt, die die beiden Werte miteinander vergleicht. | ||
65 | |||
66 | ```javascript | ||
67 | package de.formsolutions.metaform | ||
68 | import de.formsolutions.metaform.model.* | ||
69 | |||
70 | rule "Emailvergleich" | ||
71 | when | ||
72 | Panel(identifier == "Panel", $f1:getInputComponent("ofsXX1_from_smail3"), | ||
73 | $f2:getInputComponent("E-Mail"), $f1.getStringValue() != $f2.getStringValue()) | ||
74 | then | ||
75 | RuleValidationError error = new RuleValidationError("Emailungueltig"); | ||
76 | insert(error); | ||
77 | end | ||
78 | ``` | ||
79 | |||
80 | In dieser Validierungsregel befindet sich ein sogenannter Fehlerschlüssel, der bei einer Eingabe, die nicht identisch ist, dem Antragsteller einen Fehler anzeigt. Der Fehlerschlüssel (Emailungueltig) muss zusätzlich unter der Rubrik „Fehlermeldung“ eingetragen werden. Hierzu muss der Schlüssel (Emailungueltig) eingetragen und in dem Feld „Beschriftung“ eine vom Ersteller definierte Fehlermeldung. | ||
81 | |||
82 | ***Hinweis: Bitte beachten Sie, dass der Schlüssel identisch sein muss, wie in der Validierungsregel hinterlegt. Die von Ersteller definierte Fehlermeldung wird dem Bürger angezeigt, wenn die angegebenen E-Mail-Adressen nicht übereinstimmen.*** | ||
83 | |||
84 | ![[Ansicht der Fehlermeldung|@VeröffentlichungMöglichkeit3.jpg]] | ||
85 | |||
86 | ___ | ||
87 | |||
88 | ### Anpassung im E-Mailserver für die automatische E-Mail Antwort | ||
89 | |||
90 | **Der Vorgang:** | ||
91 | Der Bürger füllt den Assistenten online aus, trägt bei persönlichen Daten die E-Mail-Adresse ein. Die erfasste E-Mail-Adresse wird als Replyto-Adresse verwendet. Der Assistent wird direkt online an den zuständigen Sachbearbeiter verschickt. Der E-Mailserver verschickt nun mit einem Alias als Absender die E-Mail an den Empfänger. Im Betreff befindet sich ein eindeutiger Betreff, der sich wie folgt zusammensetzt: | ||
92 | |||
93 | OFS: Neues Formular: **Name des Assistenten** Abs.: AS_Name AS_Nachname | ||
94 | |||
95 | Beim entgegennehmenden E-Mailserver kann nun folgendes Szenario eintreten: | ||
96 | |||
97 | **Szenario 1:** | ||
98 | Die Empfänger E-Mail-Adresse ist ein Postfach, das speziell für die Entgegennahme dieses Assistenten angelegt wurde, dann kann vermutliche ohne Regel ein Autorespond erfolgen. | ||
99 | |||
100 | **Szenario 2:** | ||
101 | Die Empfänger E-Mail-Adresse gehört einem Sachbearbeiter und nimmt sämtliche E-Mails entgegen. Dann muss bei eingehenden E-Mails auf dem Server nach einem eindeutigen Betreff gefiltert werden. Dazu kann der eindeutige Teil der Betreffzeile genommen werden: | ||
102 | |||
103 | OFS: Neues Formular: **Name des Assistenten** | ||
104 | |||
105 | Heißt nun, dass eine Regel greift und eine Aktion bei eingehenden E-Mails die den eindeutigen Betreff | ||
106 | |||
107 | OFS: Neues Formular: **Bestellung Personenstandsurkunde** | ||
108 | |||
109 | eingerichtet werden muss. Kommt also eine E-Mail mit diesem eindeutigen Betreff lokal am Mailserver an, wird der eindeutige Betreff erkannt und anhand dessen eine automatische Eingangsbestätigung per E-Mail an den Antragssteller versandt. | ||
110 | |||
111 | ___ | ||
112 | |||
113 | ## Änderung Empfänger Benachrichtigungsadresse | ||
114 | |||
115 | Standardmäßig erhält der bei der [[Veröffentlichung|Main.05_Assistenten.02_VeröffentlichungvonAssistenten]] hinterlegte Sachbearbeiter nach der Einreichung eine E-Mail mit den eingereichten Daten. Soll jedoch ein anderer Empfänger die E-Mail mit den eingereichten Daten erhalten, muss im Ausfüllprozess des Assistenten eine entsprechende Konfiguration vorgenommen werden. | ||
116 | |||
117 | Hierzu muss im Assistenten in das Panel, z.B. „Persönliche Daten“ auf dem die E-Mail-Adresse während des Ausfüllvorgangs erfasst wird, die [[„Bezeichnung technisch“|Main.05_Assistenten.04_Assistentenbauoberfläche.04_KonfigurationvonKomponenten]] der Komponente in **ofsXX1_to_smail3** umbenannt werden. | ||
118 | |||
119 | ![[Ansicht der Änderung des Objektnamen der E-Mail-Adresse|@VeröffentlichungEmailKomponenteToMail.jpg]] | ||
120 | |||
121 | Anschließend kann der Assistent normal [[gespeichert|Main.05_Assistenten.04_Assistentenbauoberfläche.13_Assistentenspeichern]], freigegeben und [[veröffentlicht|Main.05_Assistenten.02_VeröffentlichungvonAssistenten]] werden. Das Resultat ist dann, dass die im Assistenten eingetragene E-Mail-Adresse als Empfänger-Adresse verwendet wird. Die hinterlegten Sachbearbeiter-E-Mail-Adressen werden nicht mehr berücksichtigt. Lediglich geht eine Einreichung noch in die Inbox. | ||
122 | |||
123 | ***Hinweis: Bitte beachten Sie, dass Feld ofsXX1_to_smail3 wird nicht bei beispielsweise Excel Exporten aus dem Kundenbereich berücksichtigt, da es ein Steuerungsfeld vom Formularserver ist.*** | ||
124 | |||
125 | ___ | ||
126 | |||
127 | ## Einreichungsoptionen ein-/ausblenden | ||
128 | |||
129 | Standardmäßig werden am Ende eines Ausfüllprozesses die Schaltflächen „Einreichen“ und „Drucken“ dem Ausfüller zur Verfügung gestellt. In Fällen in denen der Assistent nur online oder nur postalisch gesendet werden soll, steht die Möglichkeit die Schaltflächen mittels einer Expertenregel einzublenden/auszublenden. | ||
130 | |||
131 | Hierzu muss in dem betreffenden Assistenten ein [[neues Panel hinzugefügt|Main.05_Assistenten.04_Assistentenbauoberfläche.01_PanelhinzufügenPanelwerkzeugleiste]] und mit einer Steuerungsfrage versehen werden. Für die Steuerungsfrage kann beispielsweise eine [[Dropdownkomponente|Main.05_Assistenten.04_Assistentenbauoberfläche.03_Bibliothek]] verwendet werden, in der die Frage gestellt wird, ob der Antrag online gesendet/gedruckt werden soll oder nicht. Weiterhin wird ein verstecktes Feld benötigt, das die „Bezeichnung technisch“ "ofsXX1_send", um die Schaltfläche "Senden" bzw. "ofsXX1_print" um die Schaltfläche "Drucken" auszublenden. | ||
132 | |||
133 | Zum Abschluss muss nachfolgende Regel in den [[Expertenmodus|Main.05_Assistenten.04_Assistentenbauoberfläche.07_Regelbau.04_Expertenmodus]] der versteckten Komponente eingefügt werden. | ||
134 | |||
135 | ```javascript | ||
136 | package de.formsolutions.metaform | ||
137 | import de.formsolutions.metaform.model.* | ||
138 | |||
139 | rule "<Eindeutige Bezeichnung für die Regel>" | ||
140 | |||
141 | no-loop | ||
142 | when | ||
143 | Component($c0:searchInputComponent("<KOMPONENTENNAME>"), $c0 != null, $c0.getStringValue() != null) and | ||
144 | $target: Component($c1:searchInputComponent("ofsXX1_send"), $c1 != null) | ||
145 | then | ||
146 | $target.setStringValue($c0.getStringValue()); | ||
147 | update($target); | ||
148 | end | ||
149 | ``` | ||
150 | |||
151 | Mittels der Steuerungsfrage wird nun beim Ausfüllprozess, je nach Auswahl, die Schaltfläche eingeblendet bzw. ausgeblendet. Der Exportwert "0" steht für das Ausblenden und der Exportwert "1" für das Einblenden. | ||
152 | |||
153 | ___ | ||
154 | |||
155 | ## Änderung des Betreffs eingehender E-Mails | ||
156 | |||
157 | Standardmäßig wird im Betreff einer E-Mail, die beim Einreichen eines Assistenten an den Sachbearbeiter gesendet wird, der Vorname und Name des Antragstellers, sofern die Komponenten AS_Name und/oder AS_Vorname verwendet wird, angezeigt. In einigen Fällen kann es notwendig sein zusätzlich zu diesen Daten weitere Daten im Betreff aufzuführen. Hierzu müssen im Assistenten entsprechende Komponenten angelegt und eine [[Expertenregel|Main.05_Assistenten.04_Assistentenbauoberfläche.07_Regelbau.04_Expertenmodus]] hinterlegt werden. | ||
158 | |||
159 | ```javascript | ||
160 | package de.formsolutions.metaform | ||
161 | import de.formsolutions.metaform.model.* | ||
162 | |||
163 | rule "<Eindeutige Bezeichnung für die Regel>" | ||
164 | no-loop | ||
165 | when | ||
166 | Panel(identifier == "<PANELNAME>", $c0:getInputComponent("<KOMPONENTENNAME/WEITERE KOMPONENTE>"), $c0 != null, $c2:getInputComponent("<VERSTECKTES FELD>"), $c2 != null, $c1:getInputComponent("<KOMPONENTENNAME/ANTRAGSTELLERNAME>"), $c1 != null, $c3:getInputComponent("<KOMPONENTENNAME/ANTRAGSTELLERVORNAME>"), $c1 != null) | ||
167 | then | ||
168 | $c2.setStringValue($c3.getStringValue() + $c1.getStringValue() + " " + $c0.getStringValue()); | ||
169 | end | ||
170 | ``` | ||
171 | |||
172 | Im vorgehenden Beispiel werden die Daten, Antragstellervorname ($c3), Antragstellername ($c1) und der weitere Inhalt aus der zusätzlichen Komponente ($c0), in ein verstecktes Feld ($c2) geschrieben. | ||
173 | |||
174 | ***Hinweis: Bitte beachten Sie, in diesem Fall dürfen die Antragstellerdaten Name und Vorname nicht als AS_Name/AS_Vorname deklariert werden. Dafür muss das versteckte Feld AS_Name benannt werden.*** | ||
175 | |||
176 | ___ | ||
177 | |||
178 | ## Generierung einer laufenden Nummer im Assistenten | ||
179 | |||
180 | Es besteht die Möglichkeit in einem Assistenten eine sogenannte laufende Nummer über eine Regel erstellen zu lassen. Diese laufende Nummer kann beispielsweise für einen Verwendungszweck, der aus einem "Grundaufbau" und einer fortlaufenden Nummer bestehen soll, genutzt werden. Die fortlaufende Nummer wird beim Start eines Assistenten hochgezählt. Um diese Funktion nutzen zu können, muss im entsprechenden Assistenten folgende [[Expertenregel|Main.05_Assistenten.04_Assistentenbauoberfläche.07_Regelbau.04_Expertenmodus]] auf Panelebene hinterlegt werden. | ||
181 | |||
182 | ```javascript | ||
183 | package de.formsolutions.metaform | ||
184 | import de.formsolutions.metaform.model.* | ||
185 | import de.formsolutions.metaform.counter.service.LocalCounterService | ||
186 | |||
187 | rule "<Eindeutige Bezeichnung für die Regel>" | ||
188 | salience 0 | ||
189 | when | ||
190 | Panel(identifier == "<PANELNAME>", | ||
191 | $n:getInputComponent("<KOMPONENTENNAME>"), $n != null) | ||
192 | $counter:LocalCounterService() | ||
193 | then | ||
194 | $n.setStringValue($counter.next("1861RK1%04d")); | ||
195 | end | ||
196 | ``` | ||
197 | |||
198 | **Hinweis: Bitte beachten Sie, die Generierung der laufenden Nummer findet pro Mandant statt. Sofern beispielsweise ein Verlagsassistent mit einer solchen Generierung ausgestattet ist, wird für jeden Mandanten separat eine Generierung der laufenden Nummer vorgehalten.** | ||
199 | |||
200 | ___ | ||
201 | |||
202 | ## Weiterleitung per sucessURL | ||
203 | |||
204 | Standardmäßig wird nach dem Einreichen eines Assistenten der Nutzer auf die sogenannte "Einreichebestätigungsseite" weitergeleitet. Hier erhält der Nutzer die Erfolgsmeldung, dass der Antrag erfolgreich eingereicht wurde und kann das ausgefüllte Dokument herunterladen. Es besteht die Möglichkeit jedoch den Nutzer nach dem Einreichen auf eine vordefinierte URL weiterzuleiten. Hierzu muss der veröffentlichte Assistentenlink um einen Parameter sowie die entsprechende URL ergänzt werden. | ||
205 | |||
206 | **Parameter:** | ||
207 | ?successUrl= | ||
208 | |||
209 | **Beispiel:** | ||
210 | https://pdf.form-solutions.net:443/metaform/Form-Solutions/sid/assistant/5d72590e5b583f582295316b?successUrl=https://form-solutions.de | ||
211 | |||
212 | ***Hinweis: Bitte beachten Sie, wenn eine automatische Assistentenantwortgenerierung hinterlegt wurde mit der Angabe "Herunterladen erzwingen", wird der Ausfüller zuerst auf die Einreichebestätigungsseite geleitet. Hier muss dieser das entsprechende Antwort PDF-Formular downloaden. Nach dem Downloaden und einem Klick auf die Schaltfläche "Beenden" wird der Nutzer dann auf die hinterlegte URL weitergeleitet.*** |