Upgrade auf iCL Portal 1.60+
iCL Portal 1.60 bringt mehrere tiefgreifende Änderungen mit sich und erfordert manuelle Schritte, die über den normalen Upgrade-Ablauf hinausgehen. Führen Sie diese Anleitung vor dem regulären Upgrade durch (siehe Neuere Versionen installieren).
Voraussetzungen
.NET Framework 4.8
Auf dem Server des Web-Frontends muss .NET Framework 4.8 installiert sein (erforderlich ab iCL Portal 1.19.x).
SQL Server 2017 oder neuer
iCL Portal 1.60 erfordert SQL Server 2017 oder neuer und jede iCL-Portal-Datenbank muss Kompatibilitätsgrad 140 (oder höher) verwenden.
Führen Sie die folgende Abfrage gegen jede iCL-Portal-Datenbank aus, um dies zu überprüfen:
SELECT compatibility_level
FROM sys.databases
WHERE name = DB_NAME()
Änderungen an der Authentifizierung
Client-Credentials müssen neu erstellt werden
iCL Portal 1.60 wechselt auf ein neues Authentifizierungssystem (OpenIddict), um OpenID zu unterstützen. Bestehende Client-Credentials können nicht migriert werden, da ihre Secrets verschlüsselt gespeichert sind.
Nach der Installation der neuen Server-Version müssen Sie:
- Jede Client-Credential in den Benutzereinstellungen der betroffenen Benutzer neu anlegen.
- Die neuen Client-IDs und Secrets an alle Tools, Integrationen und Skripte verteilen, die sich gegen iCL Portal authentifizieren.
Der Password-Grant ist veraltet
Der OAuth-2.0-Password-Grant (Resource Owner Password Credentials) ist veraltet. Stellen Sie alle Consumer auf den Client-Credentials-Flow um.
Details siehe Auth-API-Dokumentation.
WSFED / Azure Entra ID müssen neu konfiguriert werden
Bis zu dieser Version konnte WSFED- oder Azure-Entra-ID-Authentifizierung nur für einen einzigen Tenant und nur in der web.config konfiguriert werden. Das hat sich geändert — die Konfiguration erfolgt nun pro Tenant und wird in der Portal-Oberfläche verwaltet.
Nach dem Upgrade müssen Sie die Authentifizierung neu konfigurieren:
- In iCL Portal — folgen Sie Azure Entra ID Integration konfigurieren.
- In Azure Entra ID — überprüfen bzw. aktualisieren Sie die zugehörige App-Registrierung (Redirect-URLs, Client-Secret usw.) entsprechend der neuen Konfiguration pro Tenant.
Salesforce-Authentifizierung entfernt
Salesforce-Authentifizierung wird nicht mehr unterstützt und ist veraltet. Kunden, die sie bisher verwendet haben, müssen auf einen anderen Authentifizierungsanbieter umsteigen (z. B. Azure Entra ID).
Datenmigrationen
migrate_databases.bat führt nun zusätzlich zu den Schema-Migrationen auch Datenmigrationen aus. Diese können bei großen Mandanten (Tenants) lange dauern.
Führen Sie das Upgrade am Freitag oder außerhalb der Bürozeiten durch — nicht weil das System ausfällt, sondern weil die Datenmigrationen spürbar sind.
Das System ist bereits betriebsbereit, während die Datenmigrationen laufen. Benutzer können weiterarbeiten, während die Migrationen im Hintergrund abgeschlossen werden.
Änderungen an der web.config
Nach dem Entpacken des neuen Release-Pakets muss die web.config wie folgt angepasst werden.
.NET Framework 4.8 als Zielplattform
Stellen Sie in <system.web> sicher, dass <compilation> und <httpRuntime> auf .NET 4.8 abzielen:
<compilation targetFramework="4.8" debug="false">
<assemblies>
<add assembly="netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" />
</assemblies>
</compilation>
<httpRuntime targetFramework="4.8" maxRequestLength="51200" executionTimeout="300" />
Query-String-Länge für JWT-Tokens erhöhen
JWT-Tokens können so groß werden, dass die Standard-Limits von IIS / ASP.NET für Query-Strings überschritten werden. Nehmen Sie die folgenden Änderungen vor.
1. <requestFiltering> unter <system.webServer> anpassen.
Falls kein <requestLimits>-Element existiert, fügen Sie eines hinzu:
<security>
<requestFiltering>
<requestLimits maxQueryString="32768" /> <!-- oder ein anderer geeigneter Wert -->
</requestFiltering>
</security>
Falls bereits ein <requestLimits>-Element existiert, fügen Sie lediglich das Attribut maxQueryString="32768" hinzu. Das Ergebnis sollte so aussehen:
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="52428800" maxQueryString="32768" />
</requestFiltering>
</security>
2. <httpRuntime> anpassen.
Fügen Sie dem bestehenden <httpRuntime>-Element das Attribut maxQueryStringLength="32768" hinzu:
<httpRuntime targetFramework="4.8"
maxRequestLength="51200"
executionTimeout="300"
maxQueryStringLength="32768" />
dox42-Host
iCL Portal 1.60 liefert die dox42-Berichts-Engine als eigenständigen Windows-Dienst aus.
- Erstinstallation: siehe Installation des dox42-Hosts.
- Upgrade einer bestehenden Installation: siehe Upgrade des dox42-Hosts.