Wiki-Quellcode von Autista

Version 2.1 von MACH ProForms GmbH am 17.12.2020

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