Update-Informationen

enaio® 11.10 »

Wie üblich müssen alle Komponenten gleichzeitig aktualisiert werden – Server, Clients, Dienste und Microservices.

Falls einige Komponenten nicht aktualisiert wurden, dann können nicht nur funktionale Fehler, sondern auch sicherheitsrelevante Fehler beim Zugriff auf Daten auftreten.

Die Installationsdaten erhalten Sie über das Serviceportal. Dort können Sie ebenfalls Testlizenzen anfordern.

Datenbankanpassungen vor der Aktualisierung

Vor der Aktualisierung von Installationen mit einem großen Workflow-Datenbestand empfehlen wir für eine zügige Aktualisierung vorbereitende Schritte in der enaio®-Datenbank.

Auf der Datenbank sollten Indizes angebracht werden, die die Laufzeiten der Statements im Setup optimieren und es sollte das Anlegen neuer Tabellenspalten vorweg genommen werden.

Nachfolgend sind die einzelnen Schritte und die Kriterien, ab denen wir diese Schritte für relevant erachten, aufgeführt. Wir gehen davon aus, dass alle unten benannten Statements vor der Aktualisierung ausgeführt werden und die dabei erzeugten Indizes nach dem Update wieder entfernt werden.

Auszuführende Statements

Führen Sie folgende Statements aus, bevor sie das Setup von enaio® 11.10 starten:

  1. create Nonclustered index tmp_oswfactivities_1 on oswfactivities (containerid) INCLUDE (activityid,ractivityid,processid, name)
  2. create Nonclustered index tmp_history on oswfhistory (processid,entrynr) INCLUDE (histid)
  3. create Nonclustered index tmp_history_2 on oswfhistory (histtype) INCLUDE (histid,processid,ractivityid)
  4. alter table oswfhdatafields add resourceflags int default(0) with values
  5. insert into osmaintenance (osmaintguid, description, osverguid) values('28A6F66903384EC7903FF96E9231526C','Update der Historientabellen für 11.10 Teil3', 'C78218D0FBE64CB18BFC817840D36A9D')
  6. create Nonclustered index tmp_mskflds on oswfmaskfields (id, org_id, workflowid) INCLUDE (maskid)
  7. alter table oswfactivities add resourceflags int default(0) with values
  8. insert into osmaintenance (osmaintguid, description, osverguid) values('27E69C5A8EA54B758CC0491FD59E7B37', 'Gescriptete Aktivitätsname in die ResourceStorage Tabelle kopieren Teil 1' ,'C78218D0FBE64CB18BFC817840D36A9D')

Löschen aller temporären Indizes nach der Installation

  1. drop index if exists tmp_history on oswfhistory
  2. drop index if exists tmp_history_2 on oswfhistory
  3. drop index if exists tmp_oswfactivities_1 on oswfactivities
  4. drop index if exists tmp_mskflds on oswfmaskfields

Erläuterungen

Die im Folgenden aufgeführten Grenzwerte sind Schätzungen und können je nach Ausstattung des Datenbankservers variieren. Weiterhin gehen wir davon aus, dass der vorhandene Datenbankserver so ausgestattet ist, dass er im bisherigen Regelbetrieb bei Lastspitzen nicht die Auslastungsgrenzen erreicht. Die Statements gelten für den Microsoft SQL Server. Für andere Datenbanksysteme müssen die Statements gegebenenfalls entsprechend angepasst werden.

  1. Folgende Indizes (siehe Statements 1, 2, 3) erhöhen die Performance des Update der Workflow-Tabellen im Allgemeinen. Nach dem Ausführen des Setups sollten diese Indizes wieder aus der Datenbank entfernt werden.
  2. Enthält die zu aktualisierende Installation viele bereits erledigte Workflowprozesse, die aber noch nicht über die Workflow-Historienbereinigung gelöscht wurden, dann sollten folgende Statements (siehe Statements 4, 5) vor dem Aufruf des Setups auf der Datenbank aufgerufen werden.
    Das Kriterium für viele Workflowprozesse wäre mit folgendem Statement zu ermitteln: select count(*) from oswfhdatafields. Als relevante Größe sehen wir hier ca. 20 Millionen Einträge.
  3. Enthält die Installation sehr viele Workflows bzw. sehr große Masken mit vielen Feldern in diesen Workflows, dann sollte folgendes Statement (siehe Statements 6) vor dem Aufruf des Setups auf der Datenbank ausgeführt werden. Nach dem Ausführen des Setups sollte der Index wieder aus der Datenbank entfernt werden.
    Das Kriterium für viele Maskenfelder wäre mit folgendem Statement zu ermitteln: select count(*) from oswfmaskfields. Als relevante Größe sehen wir hier ca. 20.000 Einträge.
  4. Enthält die Installation mehrere aktivierte Sprachen, dann sollten folgende Statements (siehe Statements 7, 8) vor dem Aufruf des Setups auf der Datenbank ausgeführt werden.
    Die Anzahl der Sprachen ist über folgendes Statement zu ermitteln: select count(*) from oslanguages where active <> 0.
    Jede vorkommende Sprache vervielfacht die Anzahl der zu erstellenden Sprachstrings für Maskenfelder und Modellparameter.
    Letztlich hängt die eingesparte Performance wieder an der Anzahl und Größe der Modelle.

Rechtesteuerung für Serverjobs

In der Version 11.10 wird der Standard-Wert des Registrierungs-Eintrags Security/SecureJobs für enaio® server von 0 auf 1 geändert. Wir tun dies, um in einer neuen enaio®-Installation als Standard einen hohen Sicherheitsstandard zu gewährleisten, ohne dass administrativ im Nachgang weitere Konfigurationen manuell durchgeführt werden müssen.

Dieser Registrierungs-Eintrag steuert die Systemrollenauswertung auf sicherheitsrelevanten Jobs in der Server-API. Betroffene Jobs sind zum einen administrative Jobs für den enaio® administrator-for-workflow und andere Administrationstools. Diese Jobs können nun nur von Benutzern mit der Systemrolle 'Server: Ado-Jobs ausführen', ID 88, ausgeführt werden. Zum anderen wird nun auch der Job ado.ExecuteSQL durch diese Systemrollenprüfung abgesichert. Dieser Job wird häufig in Skripten verwendet, um projektseitige Businesslogik zu implementieren.

Der neue Standard-Wert des Registrierungs-Eintrags Security/SecureJobs für enaio® server bewirkt, dass bei einer Neuinstallation eines enaio® server der höhere Sicherheitsstandard automatisch aktiviert ist.

Bestandssysteme sind von diesem neuen Verhalten nur beeinflusst, wenn innerhalb einer Installation ein enaio® server hinzugefügt wird, oder ein enaio® server auf eine andere Hardware umzieht. Vorhandene Serverinstallationen sind bei Updates nicht betroffen. Dort muss der Registrierungs-Eintrag Security/SecureJobs für enaio® server in enaio® enterprise-manager aktiv gesetzt werden, um den höhere Sicherheitsstandard zu erreichen.

Zusätzlich wird neue Benutzern die Systemrolle 'Server: Ado-Jobs ausführen' nicht mehr als Standard zugeordnet. Die Systemrolle muss bei Bedarf zusätzlich zugeordnet werden. Diese Änderung betrifft sowohl Bestandsprojekte als auch Neuinstallationen bei der Anlage neuer Benutzer über enaio® administrator.

Microsoft Teams Einbindung

Vor der Aktualisierung auf die Version 11.10 ist für die Microsoft Teams Einbindung eine Aktualisierung der eingebundenen H2-Datenbank notwendig.

Führen Sie folgende Schritte aus:

  • Laden Sie folgende Archiv-Dateien und speichern Sie diese im Verzeichnis <service-manager-installdir>\data\msteamsactions:

  • Laden Sie folgende Stapelverarbeitungsdatei:

  • Beenden Sie enaio® service-manager.

  • Führen Sie die Stapelverarbeitungsdatei mit folgenden Kommadozeilenparametern aus:

    V1-V2-migration.bat <service-manager-installdir>\jdk17_x64\bin <service-manager-installdir>\data\msteamsactions

    Die Pfade müssen als absolute Pfade angegeben werden.

  • Prüfen Sie, ob die Datei actions_db_v2.mv.db im Verzeichnis <service-manager-installdir>\data\msteamsactions vorliegt und die Aktualisierung damit erfolgreich abgeschlossen ist.

  • Löschen Sie die geladenen Archiv-Dateien.

Danach kann die Aktualisierung über enaio® service-manager mit den Services 'msteams-client' und 'msteams-actions' erfolgen.

enaio®-App für Microsoft Teams - Berechtigungen

Die enaio®-App für Microsoft Teams wird über das Microsoft Teams Admin Center bereitgestellt. Bei der Konfiguration der Berechtigungen muss Files.Read.All hinzugefügt werden.

enaio® coLab

Für enaio® coLab sind durch die Aktualisierung von Komponenten folgende Anpassungen notwendig:

  • enaioProjectRoomCreator.exe.config

    http://<gateway>/colab/#/create-project-room/{objectid}/{sessionguid}: Im Pfad muss die Raute entfernt werden: http://<gateway-IP>/colab/create-project-room/{objectid}/{sessionguid}

  • tools.json

    "path": "http://<gateway>/colab/#/create-project-room/$osid$/$username$: Im Pfad muss die Raute entfernt werden: "path": "http://<gateway>/colab/create-project-room/$osid$/$username$

Benutzer müssen nach der Aktualisierung den Browser-Cache löschen.
enaio® coLab benötigt seit dem Release 11.0.200 den Service 'users'.

enaio® gateway

Zur Erhöhung der Sicherheit ist es notwendig, alle kundenspezifischen und externen Services, also alle Services, die nicht über enaio® service-manager installiert werden, über die Konfigurationsdatei application-prod.yml von enaio® gateway einzubinden.

enaio® webclient

Aktualisierung von enaio® webclient

Für eine Aktualisierung der Version 10.0 oder vorherigen Versionen folgen Sie der Anleitung aus den TRNs der Version 10.10. Der mit der Version 10.10 eingeführte Service 'osweb' kann dabei gleich in der Version für 11.10 installiert werden.

Aktualisierungen der Version 10.10 und der Version 11.0 sind ohne Anpassungen möglich.

Abkündigung des MSI-Pakets zur Installation von enaio® webclient als Desktop-Anwendung

Das MSI-Pakets zur Installation von enaio® webclient als Desktop-Anwendungwurde bereits mit vorherigen Service Releases abgekündigt.

Die Version 11.10 stellt nur noch den NSIS Installer enaio-webclient-app.exe für die Installation zur Verfügung.

Für benutzerspezifische Installationen ist mit dem NSIS Installer ebenfalls eine Profilverteilung möglich.

HTTPS für enaio® webclient als Desktop-Anwendung

Mit vorherigen Service Releases für enaio® webclient wurde in enaio® webclient als Desktop-Anwendung auch das verwendete Electron-Framework aktualisiert. Damit wurde auch der vom Electron-Framework verwendete Chromium-Browser aktualisiert. Durch dieses Chromium-Update wurden auch die von allen Browser-Herstellern beschlossenen, verstärkten Sicherheitsmaßnahmen umgesetzt, die CORS-Angriffe vereiteln sollen und das Übertragen von Anmeldeinformationen über nicht verschlüsselte Wege in produktiven Umgebungen verhindern sollen. Aus diesem Grund werden NTLM-Anmeldungen in enaio® webclient als Desktop-Anwendung seitdem nur noch auf verschlüsselten HTTPS-Verbindungen unterstützt. Für eine NTLM-Anmeldung muss also enaio® gateway für HTTPS konfiguriert werden. Eine Anmeldung mit Basic-Auth auf unverschlüsselten HTTP-Verbindungen ist zu Testzwecken weiterhin möglich.

Benutzerverwaltung in enaio® webclient

Über die Benutzerverwaltung in enaio® webclient werden Benutzern die Systemrollen zugeordnet, die in der Konfigurationsdatei osrest.web.systemroles.properties aus dem Verzeichnis <AppConnectorInstallDir>\configuration angegeben sind. Diese Konfigurationsdatei wird bei einem Update von enaio® appconnector nicht aktualisiert.

Die aktuelle Version der Konfigurationsdatei für die Versionen 11.0 und 11.10 erhalten Sie per Download.

Authentifizierung über OpenResty / Keycloak

Die bisherige Anbindung von Keycloak als Identity Provider über OpenResty zur Authentifizierung mittels OpenID Connect/OAuth2 wird nicht mehr unterstützt und durch den neuen Service 'gateway-ng' ersetzt.

Service 'applet'

Der neue Service für HTML/JS/CSS Frontend-Komponenten ist notwendig und wird selbst nicht über eine YML-Datei konfiguriert. Nach der Aktualisierung müssen Anpassungen an Adressen von Anzeigekomponenten durchgeführt werden.

  • enaio® contentviewer

    • 'Home-URL' von enaio® contentviewer in enaio® enterprise-manager:

      http://<service-manager>/applet/contentviewer/index.html?osid={OBJECTIDENT}

      Als Standard wird die Detailvorschau angezeigt. Die Inhaltsvorschau wird angezeigt, wenn Sie folgendes ergänzen: &focusIndexData=false

    • 'Service-Endpoint für Direktzugriff' muss im Projekt geprüft werden.

  • enaio® detailsviewer

    • 'Home-URL' von enaio® detailsviewer in enaio® enterprise-manager:

      http://<service-manager>/applet/detailsviewer/index.html?osid={OBJECTIDENT}&sessionguid={sessionguid}

    • 'Service-Endpoint' und 'Service-Endpoint für Direktzugriff' müssen im Projekt geprüft werden.

  • enaio® documentviewer

    • 'Home-URL' für die Inhaltsvorschau mit PDF.js

      http://<service-manager>/applet/pdfview/viewer.html?osid={OBJECTIDENT}&pagecount={pagecount}&sessionguid={sessionguid}&servername={servername}&serverport={serverport}&objecttype={objecttype}&q={searchterm}

  • AxPreview.exe

    Die Konfigurationsdatei AxPreview.exe.config für die Vorschauanzeige von .os Dateien muss, je nach Konfiguration, angepasst werden.

    Beispiel:

    <add key="PdfViewerUrl" value=http://<service-manager>/applet/pdfview/viewer.html?osid={OBJECTIDENT}/>

Falls mehrere Server eingebunden sind, dann müssen diese Anpassungen bei jedem Server vorgenommen werden.

Falls einer der Komponenten in Projekten eingebunden ist, dann muss die Einbindung geprüft werden.

Für enaio® gateway ist automatisch eine Weiterleitung zu den neuen URLs eingerichtet. Die bisher genutzten URLs funktionieren damit weiterhin. Die Benutzer werden auf die richtigen Seiten weitergeleitet. Im Unterschied zum bisherigen Verhalten zeigt enaio® contentviewer als Standard die Detailvorschau und nicht die Inhaltsvorschau an.

enaio® repository-manager

enaio® repository-manager wurde aktualisiert und muss neu installiert und neu konfiguriert werden.

Mit der neuen Version werden keine KGS-Komponenten mehr verwendet und die ArchiveLink- und ILM-Anbindungen sind aufgeteilt auf zwei eigene Services.

enaio® directory-sync

Für enaio® directory-sync wurde die einzubindende Anwendung umbenannt. Konfigurationen müssen angepasst werden. Binden Sie enaio-directory-sync.exe statt enaio-aad-sync.exe ein.

enaio® directory-sync wurde ebenfalls erweitert und kann, zusätzlich zu Entra ID, Daten mit LDAP-Systemen synchronisieren.

enaio® directory-sync wird in einer folgenden Version die Automatische Aktion 'XSLT-Verzeichnis-Synchronisation' ablösen.

enaio® capture und enaio® classify

Das enaio® capture-Subprogramm, das Daten für die Weiterverarbeitung in enaio® classify bereit stellt, wurde umbenannt: enaio® capture-transfer-module. Konfigurationen müssen angepasst werden. Binden Sie capture-transfer-module.exe statt capture-to-classify.exe ein.

Erweitert wurde enaio® capture-transfer-module durch das Einbinden der Kairos AI Cloud Services über den neuen Service 'ai-connector'. Damit können rechnungsspezifische Indexdaten aus PDF-Dateien extrahiert werden und eine Rechnungskonformitätsprüfung kann durchgeführt werden.

Automatische Aktionen / Maximale Trefferzahl

Die Automatischen Aktionen 'Mediendearchivierung', 'Hashprüfung' und 'Signieren' werden nicht mehr durch die Einstellung 'Maximale Trefferzahl' - Default: 50000 - begrenzt.

Konfigurationen dieser Automatischen Aktionen sollten bezüglich Laufzeit und Systemauslastung geprüft werden.

ABBYY FineReader 12.5

ABBYY FineReader muss auf die Version 12.5 aktualisiert werden.

Vor der Aktualisierung muss die Lizenz gesichert und bestehende Installationen müssen deinstalliert werden.

Konfigurationen müssen nicht angepasst werden. Sie benötigen gegenüber der bisherigen Version 12.4 keine neue SMUA-Lizenz.

Elasticsearch

Elasticsearch wird weiterhin in der Version 7.17.8 verwendet und nicht aktualisiert.