Wiki-Quellcode von Autista

Version 1.1 von MACH ProForms GmbH am 08.10.2020

Verstecke letzte Bearbeiter
MACH ProForms GmbH 1.1 1 # Auswahl des Inhalts-Schema
2 Ab der Version 4.33.0 wird die Inhaltsnachricht im xPersonenstandsformat an Autista übergeben.
3 Für einen selbstgebauten Assistenten heißt, dies dass je Urkundenart ein Mapping vorgenommen werden muss.
4
5 Damit der Formularserver unabhängig von der Art der Einreichung (siehe unten) weiss welches Mapping-Schema
6 bei der Übergabe an Autista verwendet werden soll, benötigt er ein Feld namens mappingSchemaFilter.
7
8 Über das Feld mappingSchemaFilter wird definiert, welche Mapping-Schema für die Inhaltsnachricht verwendet werden soll.
9
10 Dabei kommen im Verlagsassistent die folgenden Werte zum Einsatz
11
12 //Formatierung noch schauen wegen Aufzählung
13 portal2StA.Geburt.081030#@#1.7.4 für Geburtsurkunden
14 portal2StA.Ehe.082030#@#1.7.4 für Eheurukunden
15 portal2StA.Geburt.081030#@#1.7.4 für Geburtsurkunden
16 portal2StA.LP.083030#@#1.7.4 für Lebenspartnerschaftsurkunden
17 portal2StA.Sterbefall.084030#@#1.7.4 für Sterbefallurkunden
18
19 Sollten Sie die Schema-Dateien unter einem anderen Namen und Version hochgeladen haben, so sind die Werte von oben entsprechend zu
20 ersetzen. Als Trennzeichen zwischen Schema-Namen und Schema-Version ist immer #@# zu verwenden.
21
22 Das Feld mappingSchemaFilter wird aus einer Konfigurationsliste gezogen, welche von uns (Form-Solutions) gepflegt wird!
23 Falls eigenständige Anpassungen an der Liste vorgenommen werden und sich daraus Fehler ergeben, sind die daraus entstehenden Kosten selbst zu tragen!
24 Damit die richtigen Daten aus der Konfigurationsliste gezogen werden, benötigen wir von Ihnen folgende Informationen:
25 - Mandantennummer
26 - Mandantenbezeichnung
27 - die eingesetzte Versionsnummer von Autista und xPersonenstand
28 - Standesamtsnummer
29
30 # Konfiguration der Autista Push-Variante auf Seiten des Form-Solutions Formularservers.
31
32 Das Autista Push System steht ab Version 4.22.0 des Formularservers zur Verfügung.
33
34 Bei Verwendung der Push-Variante werden die Inhaltsdaten, beim Einreichen des Assistenten, an einen Webservice verschickt.
35 Für einen erfolgreichen Versand ist es notwendig, dass die Inhaltsdaten zunächst in ein XML (nach xSta Standard) gemappt werden.
36 Anschließend wird dieses XML als Inhalt einer WebService-Nachricht (nach XTA Standard) an die Autista-Webservice-Schnittstelle des Empfängers verschickt.
37
38 Die Dokumentation zur Konfiguration sowie Veröffentlichung des Assistenten finden Sie [hier](https://wiki.form-solutions.de/wiki/docwiki/view/Main/12_Anbindungen/02_Autista)
39
40 ___
41
42 # Konfiguration der Autista Pull-Variante auf Seiten des Form-Solutions Formularservers
43
44 Das Autista Pull System steht ab Version 4.22.0 des Formularservers zur Verfügung.
45
46 ## 1) Konfiguration des Apache Reverse Proxy
47
48 Der Apache Reverse Proxy muss folgendermaßen konfiguriert werden (siehe vhost-ofs.conf, im Unterverzeichnis customerArea/httpd.conf.d):
49
50 ## 1.1) Konfiguration der ProxyPass Einträge
51
52 Falls die folgenden ProxyPass Einträge nicht vorhanden sind, so müssen diese hinzugefügt werden (falls auf dem System bereits Autista in der Version 1 eingesetzt wurde, so sollte diese Einträge bereits vorhanden sein):
53
54 ```
55 ProxyPass /autista-webservice http://servername:8080/autista-webservice
56 ProxyPassReverse /autista-webservice http://servername:8080/autista-webservice
57 ```
58
59 Der Servername muss durch Ihre konkrete Domain ersetzt werden.
60
61 ## 1.2) Konfiguration der Zertifikatsweiterleitung
62
63 Für die korrekte Weiterleitung von Client Zertifikaten an den Wildfly Applikationsserver müssen die nachfolgenden Einträge hinzugefügt werden:
64 Diese Einstellungen sollten im `<IfModule ssl_module>` Block stehen, am besten direkt nach den Server-Zertifikatseinstellungen ("SSLCertificate*File")
65
66 ```
67 # pass SSL client certificates to wildfly (required for Autista Webservice)
68 SSLVerifyClient optional_no_ca
69
70 RequestHeader set SSL_CLIENT_CERT ""
71 RequestHeader set SSL_CLIENT_VERIFY ""
72 RequestHeader set SSL_CLIENT_S_DN ""
73 RequestHeader set SSL_CLIENT_I_DN ""
74 RequestHeader set SSL_SERVER_S_DN_OU ""
75 RequestHeader set SSL_CLIENT_CERT "%{SSL_CLIENT_CERT}s"
76 RequestHeader set SSL_CLIENT_VERIFY "%{SSL_CLIENT_VERIFY}s"
77 RequestHeader set SSL_CLIENT_S_DN "%{SSL_CLIENT_S_DN}s"
78 RequestHeader set SSL_CLIENT_I_DN "%{SSL_CLIENT_I_DN}s"
79 RequestHeader set SSL_SERVER_S_DN_OU "%{SSL_SERVER_S_DN_OU}s"
80 ```
81
82 ## 2) Konfiguration der Mandanten (Kundenbereich)
83
84 Die folgenden Konfigurationen müssen zum jetzigen Zeitpunkt manuell durch Manipulation auf Datenbankebene vorgenommen werden.
85
86 ### 2.1) Konfiguration des Client
87
88 Damit Ausfülldaten über den Autista Webservice abgeholt werden können, muss für jedes abholende Autista System (Autista Backend) das verwendete Client Zertifikat oder alternativ die Remote-IP je Mandant hinterlegt werden.
89
90 Wird ein und dasselbe Client Zertifikat oder Remote-IP bei mehreren Mandanten hinterlegt, so kann das zugehörige Autista System die Ausfülldaten für all diese Mandanten abholen.
91
92 Client Zertifikaten und Remote-IP werden momentan direkt durch manuelle Änderungen an der Datenbank im System hinterlegt.
93 Der entsprechende Datenbankname lautet "fsadministrationCenter" und die Collection wird als "apiKey" bezeichnet.
94
95 ### 2.2) Einrichten mit Client-Zertifikat
96
97 Ein Eintrag in der apiKey Collection muss die Attribute "certificate" und "certificateSha1Fingerprint" enthalten.
98 `certificate` enthält das base64-codiert (.pem) Zertifikat (zu beachten ist, dass Zeilenumbrüche durch `\n` ersetzt werden müssen).
99 `certificateSha1Fingerprint` enthält den SHA-1 Fingerabdruck des Zertifikats.
100
101 Zum Anlegen eines entsprechenden Eintrages in der apiKey Tabelle muss wie folgt aussehen (der Zertifikat-Eintrag ist gekürzt):
102
103 ```
104 use fsadministrationCenter
105 ```
106
107 ```
108 db.apiKey.save({
109 "_id" : "CMS_Key...",
110 "_class" : "de.formsolutions.administrationcenter.model.entities.ApiKey",
111 "organizationId" : "22222222-2222",
112 "validUntil" : ISODate("2020-06-14T13:16:27.626Z"),
113 "createdAt" : ISODate("2017-06-14T13:16:27.626Z"),
114 "description" : "Test Key",
115 "certificate" : "-----BEGIN CERTIFICATE-----\nMIIDxzCCAq+gAwIBAgIEGdOgVzANBgkqhkiG9w0BAQsFADCBkzELMAkGA1UEBhMC\n___BEISPIELEINTRAG_GEKÜRZT___\nZ1UA5Z7b0EYYTOY=\n-----END CERTIFICATE-----",
116 "certificateSha1Fingerprint" : "dfa4139224337185428ebf8d7d4eeed93a6f0000"
117 });
118 ```
119
120 ### 2.2) Konfiguration dies Clients mit Remote-IP
121
122 Sollte es mit der zertifikatsbasierten Abholung Probleme geben, gibt es alternativ noch die Möglichkeit die Abholung via Remote-IP abzusichern. Dazu muss der API-Key wie folgt angelegt werden:
123
124 ```
125 use fsadministrationCenter
126 ```
127
128 ```
129 db.apiKey.save({
130
131 "_id" : "CMS_Key...",
132 "_class" : "de.formsolutions.administrationcenter.model.entities.ApiKey",
133 "organizationId" : "22222222-2222",
134 "validUntil" : ISODate("2020-06-14T13:16:27.626Z"),
135 "createdAt" : ISODate("2017-06-14T13:16:27.626Z"),
136 "description" : "Test Key",
137 "remoteIp" : "<IP-Adresse>"
138 });
139 ```
140
141 Die entsprechende Remote-IP-Adresse können Sie aus dem access-Log des Formularservers ermitteln.
142
143 ### 2.2) Konfiguration von Standesamtzuweisungen
144
145 Welche Standesämter zu einem Mandanten gehören, wird in der Mandantenkonfiguration hinterlegt. Diese Konfiguration enthält eine Menge von Modulkonfigurationen und eine davon (de.formsolutions.administrationcenter.organization.OrganizationAutistaConfiguration) enthält die Standesamtnummern eines Mandanten.
146 Diese befindet sich in der Datenbank `administrationCenter` und hier in der Collection `organizationConfiguration`.
147 Diese Modulkonfiguration hat ein Attribut `civilRegistryOfficeIds`, welches eine Liste von Standesamtnummern enthält.
148
149 Ein Beispieleintrag in der Mandantenkonfiguration für den Mandanten "12345678-1234" würde wie folgt aussehen:
150
151 ```
152 {
153 "_id" : "12345678-1234",
154 "_class" : "de.formsolutions.administrationcenter.organization.OrganizationConfiguration",
155 "moduleConfigurations" : [
156 ... GEKÜRZTER_EINTRAG ...
157 {
158 "civilRegistryOfficeIds" : [
159 "05362020"
160 ],
161 "_class" : "de.formsolutions.administrationcenter.organization.OrganizationAutistaConfiguration"
162 }
163
164 ]
165 }
166 ```
167
168 Beispiele für das Anlegen der Struktur
169
170 ```
171 use administrationCenter
172 ```
173
174 Sofern für den Mandanten bereits eine Modulkonfiguration wie z.B. Payment vorliegt können Sie den Eintrag wie folgt hinzufügen:
175
176 ```
177 db.organizationConfiguration.update({"_id" : "organizationid"}, {$push: {"moduleConfigurations" : {"civilRegistryOfficeIds" : ["standesamtsnummer"], "_class" : "de.formsolutions.administrationcenter.organization.OrganizationAutistaConfiguration"}}})
178 ```
179
180 Sollte noch keine Modulkonfiguration für den Mandanten vorhanden sein, bitte wie folgt vorgehen:
181
182 ```
183 db.organizationConfiguration.insert({
184 "_id" : "organiazationID",
185 "_class" : "de.formsolutions.administrationcenter.organization.OrganizationConfiguration",
186 "moduleConfigurations" : [
187 {
188 "civilRegistryOfficeIds" : [
189 "standesamtsnummer"
190 ],
191 "_class" : "de.formsolutions.administrationcenter.organization.OrganizationAutistaConfiguration"
192 }
193
194 ]
195 })
196 ```
197
198 In beiden Fällen sind die Werte für `_id` und `civilRegistryOfficeIds`durch die entsprechenden Werte Kundennummer und Standesamtsnummer zu ersetzen.
199
200
201