Version 1.1 von MACH ProForms GmbH am 26.02.2020

Zeige letzte Bearbeiter
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.***