SKOOR Webservice Changelog
9.2.3
- Behebt ein Problem, das dazu führen konnte, dass Bilder in PDF-Berichten nicht geladen wurden, wenn diese in containerisierten Umgebungen ausgeführt wurden.
- Fügt eine korrekte Unterstützung für Spaltendefinitionen hinzu, die Klammern enthalten (z. B. „
AVG(Throughput (Mb/s))“). - Fügt eine korrekte Unterstützung für verschachtelte Filter-Operatoren wie „
id=or(5,BETWEEN(10,20))“ hinzu. - Fügt Unterstützung für Prognosespalten hinzu, deren Namen nicht im „snake_case“-Format vorliegen.
- Fügt Unterstützung für MEDIAN, STDDEV_SAMP und VAR_SAMP bei der Auswahl von Daten aus Datenquellen hinzu.
9.2.2
- Behebt einen Fehler, der dazu führen konnte, dass die AI-basierte Codegenerierung für Datenabfragen und Skripte fehlschlug.
- Behebt einen Fehler, der dazu führt, dass geplante Skripte fehlschlagen, wenn keine Ausführungskonfigurationen definiert sind.
9.2.1
- Der manuelle Wartungsaufruf „ANALYZE VACUUM“ nach der Aktualisierung materialisierter Datenabfragen wird entfernt, da er in PostgreSQL 17 nicht mehr erforderlich ist.
9.2.0
- Die Berechtigungsanforderungen für „
GET /users“ und „GET /scripts/mimetypes“ werden gelockert, sodass alle authentifizierten Benutzer diese Endpunkte aufrufen können.
9.1.2
- Behebt ein Problem, das dazu führt, dass Anmeldungen beim Dashboard-Viewer nicht ordnungsgemäß funktionieren.
9.1.1
- Behebt ein Problem beim CSV-Import, bei dem Felder mit negativen Zahlen fälschlicherweise als TEXT statt als BIGINT oder DOUBLE erkannt wurden.
- Behebt einen Fehler, bei dem Prognosen, die auf Datenabfragen aus bereichsbezogenen Datenquellen basierten, möglicherweise falsche fehlende Diskriminatorspalten meldeten.
9.1.0
- Die Authentifizierung wurde umgestellt, sodass nun kurzlebige Token anstelle von langlebigen Sitzungs-IDs verwendet werden. Eine Sitzungs-ID kann zwar weiterhin über den HTTP-Header „X-Session-Id“ oder den Abfrageparameter „sessionId“ angegeben werden, dieser Ansatz ist jedoch mittlerweile veraltet. Authentifizierungstoken sollten stattdessen über den „Authorization“-Header gesendet werden (z. B. „Authorization: Baerer fj6v45juO63gb...“).
- In containerisierten Umgebungen muss der Endpunkt des SKOOR Auth-Dienstes möglicherweise aktualisiert werden, damit er auf den tatsächlichen
Endpunkt des SKOOR Auth-Dienstes verweist (mithilfe der Umgebungsvariablen „
SKOOR_WEBSERVICE_auth_service_url“). - Migration von der veralteten Google Vertex API zur Google Generative Language API. Diese Aktualisierung wird intern implementiert
und hat keine Auswirkungen auf KI-Funktionen in der Benutzeroberfläche.
-Prognosen:
- Es werden Prognosefunktionen eingeführt, die Datenvorhersagen mithilfe von ML-Modellen wie Prophet, Lineare Regression, XGBoost und SARIMAX ermöglichen.
- Fügt Unterstützung für den Export und Import von Prognosekonfigurationen sowie von Dashboards hinzu.
- Fügt der Anwendungskonfiguration die Eigenschaft „
forecast.script.location“ hinzu, um das Verzeichnis für Prognoseskripte zu definieren.
- Skripte
- Erweitert Skript-Jobs um eine Fortschrittsverfolgung und spezielle Konfigurationen für die Ausführung in Datenbanken und Dateisystemen.
- Fügt Skripten Unterstützung für Gruppen hinzu.
- Fügt einen neuen Endpunkt „
/scripts/{script}/jobs/status“ hinzu, der die neuesten Jobstatus pro „RunConfig“ zurückgibt; die Anzahl der pro „RunConfig“ zurückgegebenen Jobs kann mit dem Parameter „maxCount“ konfiguriert werden. - Fügt Unterstützung für die Konfiguration und Speicherung einer vordefinierten Liste von MIME-Typen für „
acceptedFiles“ in „ScriptConfig“ hinzu und fügt einen neuen Endpunkt „/scripts/mimetypes“ hinzu. - Schließt Umgebungsvariablen mit passwortbezogenen Schlüsseln (z. B.
PASSWORD,PASS,PW) aus Skriptexporten aus, um die Offenlegung sensibler Informationen zu verhindern.
- Die DataQuery-Abrufprozesse wurden überarbeitet, um die Handhabung von Benutzerkontext und Geltungsbereich zu verbessern.
9.0.2
- Portiert die Korrektur für PDF-Berichte aus Version 9.1 zurück.
9.0.1
- Erzwingt die Überprüfung der Benutzerrolle an allen Endpunkten.
Wichtige Änderungen, die möglicherweise zu Kompatibilitätsproblemen führen können:
- Viele Endpunkte zur Datenbearbeitung sind nun auf Administratoren beschränkt:
POST /files/{filename}POST /styles/{filename}POST /translations/{language}POST /scriptsPOST /dataSources- Viele weitere, siehe API-Dokumentation
- Viele Endpunkte zur Datenbearbeitung sind nun auf Editoren beschränkt:
POST /dashboardsPUT /dashboards/{id}POST /devicesPOST /devices/{id}- Viele weitere, siehe API-Dokumentation
- Nur eine kleine Anzahl von Endpunkten ist ohne Authentifizierung zugänglich.
- Da der Endpunkt „
POST /translations/{language}“ nun auf Administratoren beschränkt ist, während Redakteure weiterhin Dashboards übersetzen müssen, werden Dashboard-Übersetzungen nun innerhalb der Dashboard-Objekte statt im globalen Übersetzungsspeicher gespeichert.
- Viele Endpunkte zur Datenbearbeitung sind nun auf Administratoren beschränkt:
- Es gelten strenge Regeln dafür, was ein Benutzer an seinen eigenen Daten und denen anderer Benutzer ändern darf.
- Nur Administratoren dürfen nun Benutzernamen ändern. Dies behebt eine Sicherheitslücke bei der Benutzernamen-Enumeration, die es Benutzern zuvor ermöglichte, die Benutzernamen anderer Benutzer zu erraten.
- Die meisten Benutzereinstellungen sind nun auf Administratoren beschränkt. Benutzer ohne Administratorrechte können lediglich ihre Einstellungen unter
fullname,email,phone,startDashboardId,languageundtimeZoneaktualisieren sowie ihr Passwort ändern und die MFA aktivieren oder deaktivieren (sofern diese nicht von einem Administrator erzwungen wird). - Nur Administratoren können die Einstellungen für gemeinsam genutzte Benutzer ändern.
- Der Benutzertyp kann nicht mehr von oder zu „LDAP_MANAGED“ geändert werden.
- Benutzer vom Typ „LDAP_MANAGED“ können lediglich ihre Einstellungen unter
startDashboardId,languageundtimeZoneaktualisieren.
- Die Einstellung „
visuallyImpaired“ wird sowohl aus „User“ als auch aus „UserGroup“ entfernt, da sie vom Dashboard nicht mehr benötigt wird. - Beschränkt „
POST /files/{filename}“ auf die folgenden MIME-Typen:image/avif,image/bmp,image/gif,image/heic,image/heif,image/jpeg,image/jp2,image/jpx,image/jxl,image/png,image/svg+xml,image/tiff,image/vnd.microsoft.icon,image/webp,audio/3 gpp,audio/3 gpp2,audio/aac,audio/flac,audio/midi,audio/mp4,audio/mpeg,audio/ogg,audio/opus,audio/wav,audio/webm,audio/x-aiff,audio/x-m4a,audio/x-ms-wma,video/3 gpp,video/3 gpp2,video/mp2t,video/mp4,video/mpeg,video/ogg,video/quicktime,video/webm,video/x-flv,video/x-m4v,video/x-matroska,video/x-ms-asf,video/x-msvideo,application/ttml+xml,application/x-subrip,text/vtt,text/plain,text/csv,text/markdown,application/json,application/xml,text/xml,application/yaml,text/yaml,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-powerpoint,application/vnd.openxmlformats-officedocument.presentationml.presentation,application/vnd.oasis.opendocument.text,application/vnd.oasis.opendocument.spreadsheet,application/vnd.oasis.opendocument.presentation,application/rtf,application/epub+zip,application/vnd.apple.pages,application/vnd.apple.numbers,application/vnd.apple.keynote - Beschränkt
PUT /styles/{filename}auf die folgenden MIME-Typen:text/css,text/plain - Beschränkt
POST /scripts/{script}/runauf die folgenden MIME-Typen:text/plain,text/csv,text/tab-separated-values,text/tsv,text/markdown,text/vtt,application/json,application/x-ndjson,application/jsonl,application/xml,text/xml,application/yaml,text/yaml,application/x-yaml,application/sql,text/sql,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-powerpoint,application/vnd.openxmlformats-officedocument.presentationml.presentation,application/vnd.oasis.opendocument.text,application/vnd.oasis.opendocument.spreadsheet,application/vnd.oasis.opendocument.presentation,application/rtf,application/epub+zip,application/parquet,application/x-parquet,application/avro,application/x-avro,application/vnd.apache.arrow.file,application/vnd.apache.arrow.stream,application/orc,application/x-orc,application/zip,application/x-zip-compressed,application/gzip,application/x-gzip,application/x-bzip2,application/x-xz,application/zstd,application/x-zstd,application/x-tar,application/x-7z-compressed - Skripte:
- Behebt ein Problem bei der Verarbeitung des Skript-Zeitplans, das dazu führte, dass geplante Ausführungen ausgelöst wurden, obwohl der Ausführungsverlauf leer war.
9.0.0
- Fügt die Anzahl der Quellzeilen in den Endpunkten „
.../columns/{column}/values“ und „.../{id}/distinctValues“ hinzu. Dies kann zur Erstellung von Histogrammen verwendet werden. - Fügt neue Endpunkte für die Batch-Aktualisierung hinzu:
- Benutzer in einer Benutzergruppe:
/userGroups/{id}/users - Benutzergruppen eines Benutzers:
/userGroups/users/{userId}
- Benutzer in einer Benutzergruppe:
- Führt „WebserviceUser“/„UserGroup“ ein, um „ErangerUsers“/„UserGroup“ zu verpacken
- Fügt Unterstützung für die Passwortrichtlinie hinzu
- Fügt Unterstützung für MFA (Multi-Faktor-Authentifizierung) hinzu
- Führt die neue „UserRole“ ein:
Data_Editor- Daten aus DataSources können bearbeitet werden, solange der Benutzer im Geltungsbereich liegt.
- Kann auf DataQueries zugreifen, diese erstellen und bearbeiten
- Kann Skripte anzeigen, bearbeiten (Ausführungskonfigurationen/Zeitplan-Konfigurationen) und ausführen
- Löscht Passwörter in den „envVariables“ und „runConfigs“ von Skripten.
- Ermöglicht die Einstellung eines Timeouts von 0 für Skripte (kein Timeout) und die Anpassung in Ausführungskonfigurationen.
- Import/Export
- Verbessert den Import/Export von Dashboards mit Skripten, indem versucht wird, Skripte in Zielsystemen anhand ihrer Namen abzugleichen.
8.1.33
- Unterstützt das Abrufen der ausführbaren Google Chrome-Datei, wenn „
DEBUG=puppeteer:*“ aktiviert ist.
8.1.32
- Behebt ein Problem mit PDF-Berichten aus Version 9.1.
8.1.31
- Behebt einen Fehler, der manchmal verhindert, dass die Datenabfrage-Engine materialisierte Tabellen findet.
8.1.30
- Behebt einen Fehler, der manchmal dazu führt, dass materialisierte Datenabfragen nicht ordnungsgemäß materialisiert werden.
8.1.29
- Filter auf Spalten mit Distinct-Count-Funktionen werden nun korrekt verarbeitet.
8.1.28
- Aktiviert automatische Dashboard-Übersetzungen für alle Kunden durch Bereitstellung eines gemeinsamen DeepL-API-Schlüssels.
8.1.27
- Behebt einen Fehler, der manchmal dazu führte, dass Dashboards mit URL-Namen nicht ordnungsgemäß gespeichert wurden.
8.1.26
- Ermöglicht die Angabe von Kopf- und Fußzeilen, die in PDF-Berichte eingebunden werden sollen.
8.1.25
SKOOR_USER_USERGROUP_IDSundSKOOR_USER_USERGROUP_NAMESwerden zu den Umgebungsvariablen in Skripten hinzugefügt.- Behebt eine Race-Condition, die dazu führt, dass Datenabfragen im Aktualisierungszustand hängen bleiben.
- Behebt einen Fehler, der Datenabfragen beeinträchtigt, bei denen Vorlagen und Parameter gemischt werden.
8.1.24
- Deaktiviert das Caching in der CashPilot-Datenquelle.
8.1.23
- Aktualisiert die Abhängigkeit, um ein Problem mit der Swagger-UI zu beheben.
8.1.22
- Behebt einen Fehler, der manchmal verschachtelte Datenabfragen mit scoped-Tabellen unterbricht.
8.1.21
- Verbessert die Analyse von Datenabfragen weiter, um Referenzen abzurufen.
8.1.20
- Andere Ausnahmen beim Parsen von Datenabfragen werden gemildert.
8.1.19
- Behebt einige „IndexOutOfBoundsException“-Fehler beim Parsen von Datenabfragen.
8.1.18
- Gibt keinen Fehler aus, wenn die Datenabfrage leer ist.
8.1.17
- Behebt einen Fehler, der den Import von Dashboards verhindert, wenn Dashboards mit URL-Namen vorhanden sind.
8.1.16
- Gibt den korrekten Statuscode 401 zurück, wenn die Basic-Authentifizierung fehlschlägt.
- Behandelt Magellan-Organisationen korrekt, wenn Datenabfragen materialisiert werden, die auf eine StableNet-Datenquelle zugreifen.
- In früheren Versionen wurden Datenabfragen, die auf einer StableNet-Datenquelle basierten, stets dynamisch aktualisiert. Dieses Verhalten wurde nun so angepasst, dass nur Abfragen, die auf StableNet-Fremdtabellen zurückgreifen, dynamisch aktualisiert werden.
- Behebt einen Fehler, der manchmal dazu führte, dass Verweise auf Datenabfragen fehlten, die für Bereiche oder untergeordnete Datenabfragen verwendet wurden.
- Aktualisiert anfällige Abhängigkeiten.
8.1.15
- Führt einige erforderliche Änderungen durch, um neue Funktionen von StableNet FDW zu unterstützen.
- Datenabfragen
- Stellt eine vorhandene Datenabfrage als Kontext bereit, wenn im Datenabfrage-Editor „Text2SQL“ ausgeführt wird.
- Ermöglicht die Generierung von Beispiel-Datenabfragen für eine bestimmte Datenquelle mithilfe von Google Vertex AI.
- Skripte
- Implementiert einen Endpunkt für den Codegenerator
- Fügt neue Endpunkte zum Abrufen der Objektbaumstruktur hinzu
/root/tree/{parentType}/{parentId}/tree
- Löscht beim Neustart des Webdienstes die zwischengespeicherten Dateien und Stile auf der Festplatte.
8.1.14
- Zulässige CORS-Ursprünge können nun über die Eigenschaft „
cors.allowed.origins“ (durch Kommas getrennte Liste) konfiguriert werden. Wenn Webanwendungen aus anderen Ursprüngen (z. B. StableNet Portal) asynchrone Anfragen an den SKOOR Webservice senden müssen, müssen deren Ursprungs-URLs hinzugefügt werden; andernfalls funktionieren diese Anwendungen nicht mehr.
8.1.13
- Behebt einen Fehler, der zum Einfrieren der Datenbankverbindung führt.
8.1.12
- Korrektur der searchPath-Endpunkte durch Entfernen der Leerzeichen in den Pfadsegmenten.
- Anpassung der CashPilot-Datenquelle für die Daten-Synchronisation bei Mehrbenutzerbetrieb.
- Optimiert die Materialisierung von Datenabfragen
- Filtert einige Scanner-Störsignale aus dem Protokoll heraus.
- Ermöglicht die Erklärung von Datenabfragen ohne Analyse.
- Behebt die Erkennung von Tabellenverweisen bei Datenabfragen, wenn auf den Tabellennamen direkt ein „
)“ folgt. Dies verhinderte manchmal die korrekte Anwendung von Scopes.
8.1.12
- Behebt Probleme mit searchPath-Endpunkten, indem Leerzeichen in Pfadsegmenten entfernt werden.
- Passt die CashPilot-Datenquelle für die Daten-Synchronisierung bei Mehrbenutzerbetrieb an.
8.1.11
- Der Dienst wird bei einer Paketaktualisierung auf Standby-Systemen weder aktiviert noch gestartet.
- Behebt einen Fehler, der den Übersetzungs-Endpunkt beeinträchtigt, wenn ein leeres Text-Array in der Nutzlast bereitgestellt wird.
- Fügt den searchPath-Endpunkten Unterstützung für die Groß-/Kleinschreibung hinzu.
8.1.10
- Verbessert den Skript-Export/Import
- Fügt dem Export die Option „
script_metadata.json“ hinzu. - Ermöglicht das Überschreiben bestehender Skripte mit dem Überschreib-Flag.
- Ermöglicht den Import von Metadaten aus „
script_metadata.json“, sofern vorhanden.
- Fügt dem Export die Option „
- Dashboards
- Verhindert doppelte URL-Namen.
- Google Vertex AI (wird für „Script Copilot“ und die Funktion „Data Query Text to SQL“ verwendet)
- Ändert den Standard-Speicherort auf
europe-north1und das Standardmodell aufgemini-2.5-flash-lite, dagemini-1.5am 24. September 2025 eingestellt wird (siehe https://cloud.google.com/vertex-ai/generative-ai/docs/learn/model-versions).
- Ändert den Standard-Speicherort auf
- Lässt Python-Skripte ungepuffert ausführen (Ausgaben werden direkt in „ConsoleOutput“ angezeigt).
8.1.9
- Ändert den Eigentümer einiger Konfigurationsdateien auf „
eranger“. - Implementiert Basic-Authentifizierung für API-Aufrufe.
- Führt zwei neue Endpunkte im „ObjectSearchController“ ein
/root/searchPath, um nach SKOOR-Objekten anhand ihres Pfades ausgehend vom Stammverzeichnis zu suchen./{parentType}/{parentId}/searchPathzur Suche nach SKOOR-Objekten anhand ihres Pfads ausgehend von einem bestimmten übergeordneten Objekt.
- Reduziert die Anzahl der gleichzeitig aktualisierten Abfragen für materialisierte Daten auf 8. Dies trägt dazu bei, E/A-Konflikte zu verringern.
- Behebt einen Fehler im Abfrage-Cache, der dazu führt, dass dieselbe Abfrage mehrfach parallel ausgeführt wird, anstatt das Ergebnis aus dem Abfrage-Cache zu übernehmen.
- Begrenzt die Anzahl der Skript-Protokollzeilen auf 1.000 und die Länge einer einzelnen Protokollzeile auf 10.000 Zeichen.
8.1.8
- Skripte
- Behebt einen Fehler, der das Laden von .env-Dateien bei der Skriptausführung verhindert, wenn diese sich nicht im Stammverzeichnis befinden.
- Behebt einen Fehler, der das Speichern von Änderungen an einem Skript verhindert, wenn dieses in einem Dashboard verwendet wird.
- ScriptsConfig wurde zur besseren Wartbarkeit umgestaltet
- Datenquelle
- Reduziert die TTL für nicht zwischengespeicherte Daten auf 1 Sekunde
- Datenabfragen
- Behebt einen Fehler, der die Parameter von Datenabfragen bei MySQL-Datenbanken beeinträchtigt.
8.1.7
- Datenabfragen
- Fügt Unterstützung für das erzwungene Löschen von Datenabfragen/Datenabfragegruppen hinzu
- Fügt Unterstützung für die erzwungene Veröffentlichung von Datenabfragen hinzu
- Entfernt „dependantsCount“ aus „SimpleScriptConfig“.
- Der LocalAI-Anbieter wurde entfernt und Google Vertex AI ist nun die neue Standardeinstellung.
8.1.6
- Behebt das Problem mit leeren „
SKOOR_SESSION_ID“ in Skripten.
8.1.5
- Dashboard/DQs – Import und Export
- Behebt das Problem beim Importieren von Dashboards ohne Dashboard-Zuordnungen.
- Behebt das Überprüfen der Benutzer und Benutzergruppen, auch wenn die Bereiche und Berechtigungen auf „false“ gesetzt sind.
- Fügt den Importhinweisen eine Warnung hinzu, wenn das Exportsystem neuer ist als das Zielsystem.
- Skript-Updates:
- Vereinheitlichung von „ScriptConfig“ ohne „ScriptConfigType“
- Skripte verwenden Runner. Der Runner wird automatisch anhand der im Skriptverzeichnis vorhandenen Dateien ausgewählt
- PythonRunner: wird ausgewählt, wenn „
main.py“ vorhanden ist. - ShellRunner: wird ausgewählt, wenn „
run.sh“ vorhanden ist. - TalendRunner: Wird ausgewählt, wenn Talend-Assets erkannt werden.
- PythonRunner: wird ausgewählt, wenn „
- Fügt eine Möglichkeit zum Deaktivieren von Poetry hinzu, indem „
pyproject.toml“ umbenannt oder gelöscht wird. - Erweitert „ExtendedScriptConfig“ um „dependentWidgets“ und „Widgets“-Details.
- Erweitert „SimpleScriptConfig“ um „dependantsCount“.
- Fügt „requestParam“ für „deleteScript“ hinzu, um Skripte mit Abhängigkeiten zwangsweise zu löschen („forceDelete“); andernfalls wird eine Ausnahme ausgelöst.
8.1.4
- Behebt Probleme beim Hochladen von Talend-Skripten.
- Entfernt Versionsnummern aus dem ZIP-Namen, d. h.: „newScript_1.3.zip“ wird als Skript mit dem Namen „newScript“ importiert
- Behebt das korrekte Zuordnen von Assets beim Importieren von Dashboards.
- Der Name des Dashboards ist nun ein Pflichtfeld.
8.1.3
- Ermöglicht die Definition von zusammengesetzten Indizes für materialisierte Datenabfragen.
- Behebt das Zuordnungsproblem bei Dashboards für den Export/Import
- CashPilot-Datenquelle
- Fügt Paginierungsparameter zur Service-URL hinzu
- Verwendung von Ausdrucksvorlagen und Formatierungen für Filter.
- Ermöglicht die Ausführung von Python-Skripten auf Offline-Systemen.
8.1.2
- Datenquellen / Datenabfragen
- Ermöglicht das Sortieren eindeutiger Werte anhand der Spaltenreihenfolge.
- Behebt einige Fehler, die dazu führten, dass die Skriptplanung und das erneute Einreihen nicht ordnungsgemäß funktionierten.
8.1.1
- Unterstützt das neue Puppeteer
8.1.0
- Verwendet Paginierung beim Abrufen von Daten aus CashPilot
- Stellt einen Endpunkt für die automatische Übersetzung mit DeepL bereit. Um diese Funktion zu aktivieren, muss ein DeepL-API-Schlüssel
in „
/etc/opt/eranger/eranger-webservice.cfg“ über die Eigenschaft „i18n.deeplApiKey“ angegeben werden. - Führt einen neuen Endpunkt,
/script/, sowie einen ScriptController ein, der die Entwicklung benutzerdefinierter Skripte ermöglicht.- Skripte bieten ein leistungsstarkes Werkzeug zum Entwickeln, Ausführen, Anpassen und Planen verschiedener Skripttypen.
- Skripte bestehen aus drei Hauptabschnitten:
- Einstellungen: Umfassen Name, Beschreibung, Zeitlimit, Ausführungskonfigurationen und Zeitplan-Konfigurationen.
- Dateien: Eine dateisystemähnliche Struktur, die Standard-CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) unterstützt.
- Ausführung: Ermöglicht das Auslösen und Verfolgen von Skriptausführungen. Der Ausführungsverlauf ist auf 1.000 Jobs begrenzt.
- Unterstützt das Hochladen von ZIP-basierten Skripten in Python, Talend und Shell.
- Es wurde Unterstützung für Webhook-Token hinzugefügt, sodass Skripte über Webhooks ausgelöst werden können.
- Ermöglicht die Verwendung von FreeMarker-Vorlagen in DataQueries.
- Überprüft asynchron die Konnektivität zu externen Diensten wie SKOOR AI und DeepL, um die Datei „settings.json“ sofort bereitstellen zu können.
- Erweitert den Endpunkt „
/alarms“, um auch Berechtigungen und Eigenschaften zugewiesener Objekte abzurufen. - Fügt die POST-Methode zu „
/alarms/{id}/comment“ und „/alarms/{id}/assign“ hinzu.
8.0.22
- Behebt einen Fehler, der Unterabfragen in MySQL und in einigen anderen Fällen verhindert.
8.0.21
- Optimiert die Verarbeitung von Unterabfragen (verwendet nicht materialisierte CTEs). Dies steigert die Abfrageleistung in vielen Anwendungsfällen um eine Größenordnung.
8.0.20
- Die Wertehistorie für SLCs wird nicht mehr zwischengespeichert, da SLC-Werte nachträglich neu berechnet werden können.
- Bereinigung der Caches für materialisierte Datenabfragen bei anderen Fehlern als Zeitüberschreitungen
- Behebt einen Fehler, der die Aktualisierung materialisierter Datenabfragen verhinderte, wenn eine Kombination aus materialisierten und nicht materialisierten Abfragen vorlag.
8.0.19
- StableNet-Datenquelle
- Behebt einen Fehler, der dazu führt, dass Abfragen bei der Überprüfung von Fremdtabellen blockieren.
- Datenabfragen
- Optimiert die Aktualisierung
- Unterstützt Unterabfragen bei Verwendung der PostgreSQL-Funktion CROSSTAB
- Ermöglicht die Darstellung eines Datenabfrageplans mithilfe des Endpunkts „
/dataQueries/explain“.
8.0.18
- Das dynamische Caching von Datenabfragen wird vollständig entfernt.
8.0.17
- Behebt einen Fehler, der die Nutzung paralleler Worker bei PostgreSQL-Verbindungen verhinderte.
8.0.16
- Behebt einen Fehler, der das Caching von Datenabfragen unterbricht, wenn Fremdtabellen beteiligt sind.
8.0.15
- Datenabfragen
- Behebt einen Fehler, der manchmal dazu führte, dass dieselbe materialisierte Datenabfrage gleichzeitig aktualisiert wurde.
- Deaktiviert das dynamische Caching, da dies in vielen Situationen den Abfrageplaner beeinträchtigt.
8.0.14
- Datenabfragen
- Behebt einen Fehler, der manchmal dazu führte, dass materialisierte Datenabfragetabellen nach einem Absturz des PostgreSQL-Servers leer waren.
8.0.13
- Datenabfragen
- Ermöglicht die Verwendung von „
WITH RECURSIVE“. - Behebt einen Fehler, der die Materialisierung von Datenabfragen bei VARCHAR-Spalten verhindert.
- Ermöglicht die Verwendung von „
8.0.12
- Behebt einen Fehler, der dazu führte, dass verschachtelte Datenabfragen fehlschlugen, wenn Unterabfragen auf eine bestimmte Weise verschachtelt waren.
- Deaktiviert Schätzungen der Zeilenanzahl, wenn Fremdtabellen beteiligt sind.
8.0.11
- Behebt einen Fehler, der dazu führt, dass einige Datenbankverbindungen für längere Zeit im Status „
idle in transaction“ verbleiben.- Erhöht die Anzahl der gleichzeitigen Datenbankverbindungen auf 60.
- CashPilot-Datenquelle
- Unterstützt „
page_size“ und „error_message_path“ von REST FDW. Dies ermöglicht das Abrufen paginierter Ergebnisse sowie die Verarbeitung von Fehlermeldungen. - Unterstützt „
certificate“, „basic_auth_username“ und „basic_auth_password“ des REST-FDW.
- Unterstützt „
8.0.10
- Behebt einen Fehler, der dazu führt, dass „
/alarmrecipients“ fehlschlägt.
8.0.9
- Datenabfragen
- Behebt einen Fehler, der dazu führte, dass Spalten in Datenabfragen nicht unmittelbar nach der Veröffentlichung aktualisiert wurden.
- Behebt einen Fehler, der manchmal dazu führte, dass Datenabfragen fehlschlugen, wenn eine Datenquelle oder eine Datenabfrage mehrfach referenziert wurde.
- Datenquelle
- Ermöglicht das Filtern von Daten mithilfe eines einzelnen Platzhalter
% - Behebt einen Fehler, der dazu führte, dass Bereiche nicht ordnungsgemäß funktionierten.
- Ermöglicht das Filtern von Daten mithilfe eines einzelnen Platzhalter
8.0.8
- Datenabfragen
- Behebt einen Fehler, der das Löschen mehrerer Datenabfragegruppen hintereinander verhindert.
- Ermöglicht den Export von Datenabfragen, die auf Datenquellen-Scopes mit gelöschten Benutzern verweisen.
- Behebt einen Fehler, der die Auswahl der Datenquelle beim Erstellen einer Datenabfrage verhindert.
8.0.7
- Datenquellen
- Entfernt das Passwort beim Exportieren der Liste der Datenquellen.
8.0.6
- Datenquellen
- Verbesserte Fehlerbehandlung beim Import aus XLSX-Dateien
- Behebt einen Fehler, der dazu führt, dass die Migration älterer Konfigurationen fehlschlägt, wenn das Update von Version 7.2.x statt von 7.3.x durchgeführt wird.
8.0.5
- Unterstützt arabischen Text in der Fußzeile von PDF-Berichten.
- Fügt die Datenquelle „CashPilot“ hinzu.
- Ermöglicht Common Table Expressions (WITH-Abfragen) in Datenabfragen.
8.0.4
- Behebt einen Fehler, der dazu führte, dass ältere Konfigurationen bei mehreren Mandanten nicht ordnungsgemäß konvertiert wurden.
8.0.3
- Behebt fehlerhafte Konfigurations-DB-Verbindungen bei mehreren Mandanten.
8.0.2
- Datenquellen
- Bietet verbesserte Fehlermeldungen beim Importieren von Daten aus XLS-/XLSX-Dateien.
8.0.1
- Datenquellen
- Verwendet beim Parsen von Importdaten einen RFC4180-konformen CSV-Parser.
- Behebt einen Fehler, der dazu führte, dass Multi-Tenancy-Konfigurationen nicht ordnungsgemäß funktionierten, wenn kein Standard-Mandant vorhanden war.
8.0.0
-
Fügt „
dataSources/{id}/tables/{table}/distinctValues“ und „dataSources/{id}/tables/{table}/distinctValues“ hinzu, mit denen sich eindeutige Werte für Spaltenkombinationen abrufen lassen. - Behebt einen Fehler, der die Sortierung in der Datenquellen-Vorschau unterbricht, wenn nach Spalten sortiert wird, die doppelte Werte enthalten.
- Die Konfiguration wird vom Dateisystem in die Datenbank verlagert. Dazu gehören (Dateien, Stile, Übersetzungen, Datenquellen, Datenabfragen)
- Datenabfragen
- Verbessert das Umbenennen von Datenabfragen. Das Umbenennen einer Datenabfrage ändert deren Namen auch in den abhängigen Abfragen.
- Verbessert den Export/Import von Datenabfragen.
- Optimiert das Caching von Datenabfragen.
- Updates auf Spring Boot 3.3.0.
- Aktualisierung auf Java 21.0.3.
- Fügt die neue Aggregatfunktion „distinct_count“ hinzu
- GIS-Controller: Geografisches Informationssystem
- Fügt „
/dataQuery/{id}/cluster“ hinzu, wodurch Geo-Karten mithilfe von Datenabfragen unterstützt werden. gis/clusterwird hinzugefügt, wodurch Geo-Links in Geo-Karten unterstützt werden.- Filtert leere Adressen vor der Geokodierung heraus.
- Fügt „
7.3.21
- Behebt einen Fehler, der auf einigen Systemen beim Exportieren einer Datenquellentabelle die Fehlermeldung „Kein MIME-Typ für *.csv gefunden“ verursacht.
7.3.20
- Behebt ein Problem beim Import von Daten aus Datenquellentabellen.
7.3.19
- Behebt einen Fehler, der manchmal dazu führte, dass SELECT-Anweisungen fehlschlugen, wenn die Abfrage ein leeres Argument enthielt.
7.3.18
- Caches für dynamische Datenabfragen werden beim Neustart des Webdienstes nicht mehr gelöscht.
7.3.17
- Behebt einen Fehler, der Tabellenanmerkungen unwirksam machte.
- Erweitert das Caching, um Datenabfragen noch weiter zu beschleunigen.
7.3.16
- Behebt einen Fehler, der zu einer Fehlermeldung führte, wenn auf eine untergeordnete Datenabfrage mehrfach auf verschiedenen Ebenen verwiesen wurde.
7.3.15
- Weitere Korrekturen zur Verbesserung der Leistung bei Datenabfragen.
7.3.14
- Verschiedene Korrekturen zur Verbesserung der Leistung bei Datenabfragen.
7.3.13
- Optimiert das Caching statischer SKOOR Dashboard-Assets.
- Behebt einen Fehler, der das Zwischenspeichern von API-Aufrufen verhindert.
7.3.12
- Erhöht die Leistung der Endpunkte für eindeutige Werte.
- Verhindert, dass materialisierte Datenabfragen mit sehr großen Ergebnismengen den gesamten Webservice blockieren.
7.3.11
- Verwendet die neue Tabelle „
stablenet_permission_hash“ aus StableNet FDW. Dies ermöglicht eine erhebliche Optimierung von Abfragen auf materialisierten Daten und des Cachings im Allgemeinen.
7.3.10
- Verwendet Java-HTTP-Client-Instanzen wieder.
- StableNet-Authentifizierungstoken werden nach SELECT-Abfragen nicht mehr ungültig gemacht, da dies nun automatisch von SKOOR Auth übernommen wird. Dies spart einen Roundtrip zum SKOOR-Authentifizierungsdienst.
- Versuchen Sie nicht, nicht protokollierte Tabellen für Abfragen auf materialisierten Daten auf MySQL-Backends zu verwenden.
7.3.9
- Cacht einige Metadaten von Datenbanktabellen, um den Datenbankzugriff zu reduzieren.
7.3.8
- Reduziert die Anzahl der gleichzeitig aktualisierten Abfragen auf materialisierte Daten auf 10.
7.3.7
- Der Datenabfrage-Cache-Aktualisierer verwirft zwischengespeicherte Daten nicht mehr, wenn es zu einem vorübergehenden Fehler bei der Aktualisierung der StableNet-Authentifizierungstoken kommt.
7.3.6
- Das dynamische Cache-Limit für Datenabfragen wird von 100'000 auf 10'000 Zeilen verringert. Dies sollte die Schreibvorgänge auf die Festplatte bei nicht materialisierten Datenabfragen reduzieren.
7.3.5
- Ersetzt das veraltete „
server.tomcat.max-threads“ durch „server.tomcat.threads.max“.
7.3.4
- Erhöht die Anzahl der gleichzeitigen Verbindungen zum SKOOR Engine-Server.
7.3.3
- Behebt einen Fehler, der verhindert, dass Datenabfragen materialisierte Daten nutzen können.
- Passt die Timeouts für die Aktualisierung materialisierter Datenabfragen basierend auf dem Aktualisierungsintervall an.
- keine: 600 s
- täglich: 600 s
- stündlich: 60 s
- minütlich: 10 s
- Begrenzt die maximale Zeilenanzahl bei Abfragen auf materialisierte Daten basierend auf dem Aktualisierungsintervall.
- keine: 10'000'000
- täglich: 10'000'000
- stündlich: 1'000'000
- minütlich: 100'000
7.3.2
- Behebt einen Fehler, der den Export von Datenquellentabellen verhindert.
7.3.1
- Erhöht die maximale Anzahl an Threads in Spring Boot auf 400.
- Optimiert die Parallelität beim Aktualisieren von Abfragen auf materialisierte Daten.
7.3.0
- Fügt den Datenquellentyp „StableNet“ hinzu, der den StableNet Foreign Data Wrapper verwendet.
- Behebt einen Fehler, der zu einer Diskrepanz zwischen Engine-Werten und Wertdefinitionen führt.
- Behebt einen Fehler, der bei großen Datensätzen zu einer sehr schlechten Datenbankleistung führte, wenn nach Ganzzahlwerten gefiltert wurde.
- Verschiedene weitere Leistungsoptimierungen für große Datensätze.
- Neue Export-/Import-Endpunkte für Dashboards und Datenabfragen.
7.2.15
- Behebt ein Problem beim Import von XLS(X)-Dateien in die Datenquelle, bei dem in einigen Zeilen die letzten Zellen fehlten.
7.2.14
- Behebt einen Fehler, der dazu führte, dass der „
PUT /{parentType}/{parentId}/children“ fehlschlug, wenn das übergeordnete Element ein SLC war.
7.2.13
- Erhöht den Datenbank-Verbindungspool für laufende Prozesse von 8 auf 30, um mehr parallele Anfragen zu ermöglichen.
7.2.12
- Das Timeout-Verhalten bei MySQL-Datenquellen wurde verbessert.
7.2.11
- Genauere Funktion zur Schätzung der Ergebniszeilenanzahl für Datenquellen und Datenabfragen.
- Unterstützt nun auch Datums-Trunkierungsfunktionen wie „
month()“ und „day()“ in MySQL.
7.2.10
- Behebt Probleme mit Zeitzonen und der Sommerzeit bei MySQL-Verbindungen.
- Stellt Zeiten im ISO-8601-Format in der Zeitzone des Webdienstes bereit anstelle von UTC (z. B. 2023-01-02T08:00:00+01:00 statt 2023-01-02T07:00:00Z). Dies ist bei der Arbeit mit dem Webdienst wesentlich übersichtlicher und sollte keine Auswirkungen auf bestehende Clients haben, da diese den Zeitversatz stets berücksichtigen sollten.
7.2.9
- Außerdem wird die Zeilenanzahl in MySQL geschätzt, um die Abfrageleistung zu verbessern.
7.2.8
- Behandelt die JSON-Operatoren ?, ?| und ?& in Datenabfragen korrekt.
7.2.7
- Behebt Probleme bei der Verarbeitung von Datums- und Zeitparametern mit Zeitzonen.
7.2.6
- Behebt einen Fehler, der PDF-Berichte mit Sonderzeichen in den Fußzeilenfeldern beeinträchtigt.
7.2.5
- Behebt ein Problem mit der Positionsmarkierung, wenn die Datenabfrage Fehler enthält.
7.2.4
- Behebt ein Deadlock, wenn parallel mehrfach auf eine langsame Datenabfrage zugegriffen wird.
7.2.3
- Beschränkt die Spalten in der Datenquellen
/columnsation auf das aktuelle Schema. - Behebt ein Problem beim Laden von Datenquellen-Scopes.
7.2.2
- Behebt einen Fehler, der Anfragen an Datenquellen und Datenabfragen unterbricht, die Anführungszeichen in den Suchabfragewerten enthalten.
- Behebt Datenabfragen in Datenbanken, die das Erstellen des Cache-Schemas nicht zulassen.
7.2.1
- Hört auf allen IPv4- und IPv6-Adressen statt nur auf IPv4.
7.2.0
- Ermöglicht die Änderung von Tabellenschemata von Datenquellen
- Ermöglicht das Ändern von Daten in Datenquellen
- Implementiert Annotationen
- Ändert die Darstellung der aktiven Neubewertungszeit, sodass „
begin“ nur die lokale Zeitkomponente anstelle einer vollständigen ISO-8601-Zeichenkette enthält. - Aktualisierungsintervall für materialisierte Datenabfragen.
7.1.3
- Behebt einen Fehler, der dazu führt, dass „
/{type}/{id}/children“-Anfragen fehlschlagen, falls ein Objekt „Alarmrecepients“ enthält.
7.1.2
- Datenquellen
- Behebt die Schätzung der Zeilenzahl bei Abfragen, die IN()-Bedingungen enthalten.
7.1.1
- Skript-Datenquelle
- Behebt einen Fehler, der zu einer Fehlermeldung führt, wenn der Offset größer ist als die Anzahl der zurückgegebenen Zeilen.
7.1.0
- Lehnt Werte ab, die an „
/webcollector“ übergeben werden und zu weit in der Zukunft liegen - Schätzt die Anzahl der aus PostgreSQL-Datenbanken abgerufenen Zeilen, anstatt sie zu berechnen, wenn die Anzahl der abgerufenen Zeilen größer als 1'000'000 ist. Dies steigert die Abfrageleistung bei großen Datensätzen erheblich.
- Behebt einen Fehler, der dazu führte, dass das Abrufen von Job-Meldungen fehlschlug, wenn ein Objekt nicht auf einem Kollektor eingeplant war.
7.0.7
- Datenabfragen
- Behebt ein Deadlock beim Aktualisieren verschachtelter Datenabfragen.
- Behebt einen Fehler, der dazu führte, dass bei der Abhängigkeitsauflösung dieselbe Abhängigkeit mehrfach gefunden wurde.
7.0.6
- Stellt „
defaultParams“ in der Anfrage „/dashboards/groups/nested“ bereit
7.0.5
- Behebt einen Fehler, der dazu führte, dass eine „
select“-Anfrage an eine Skript-Datenquelle abstürzte, wenn keine Parameter für „offset“ und „limit“ angegeben wurden. - Behebt ein Problem beim Parsen von Datenabfragen, die „
with“ enthalten
7.0.4
- Inventory Controller
- Behebt die Verarbeitung von „
tree“-Anfragen mit leeren Objekten.
- Behebt die Verarbeitung von „
7.0.3
- PDF-Berichte
- Behebt außerdem den Seitenumbruch bei Tabellen.
7.0.2
- PDF-Berichte
- Behebt das Seitenumbruchproblem
- Behebt doppelte Tabellenüberschriften
7.0.1
- Ermöglicht den Export einzelner Datenabfragen
- Behebt einen Fehler, der manchmal die Erkennung bereits materialisierter Datenabfragen beim Neustart des Dienstes verhinderte.
7.0.0
- Verbessert Datenabfragen
- Ermöglicht die Materialisierung von Datenabfragen ähnlich wie bei materialisierten Ansichten.
- Entfernt Semver-Versionen zugunsten reiner Datumsangaben.
- Verbessert die Referenzerkennung.
- Erzwingt die Berechtigungen aus der Datenquelle auch in dmvn-Test-Abfragen.
- Speichert die Ergebnisse von Datenabfragen im Cache, um die Leistung zu verbessern.
- Bündelt PDF-Berichtsrasterisierer, um die Leistung zu verbessern.
- Aktualisiert den MySQL-JDBC-Konnektor. Erfordert MySQL >= 8.
- Fügt den „InventoryController“ hinzu, der optimierte Endpunkte für das SKOOR Dashboard-Inventar-Widget bereitstellt
6.4.3
- Release zur Übernahme der Änderungen aus Version 6.3.4.
6.4.2
- Unterstützt den PostgreSQL-
citext-Typ sowie (weitere) andere spezielle Typen.
6.4.1
/filesDer Endpunkt setzt den MIME-Typ unbekannter Dateien nun standardmäßig auf „application/octet-stream“ statt „null“ zurück.
6.4.0
- Ermöglicht das Löschen von Dateien mit
DELETE /files/filename.extension - Die maximale Dateigröße für Uploads wurde von 1 MB auf 10 MB erhöht
6.3.4
- Stellt sicher, dass PostgreSQL-Verbindungen stets den externen Verbindungspooler verwenden.
6.3.3
- Stellt sicher, dass der aktuelle Benutzer über vollständige Berechtigungen für eine neu erstellte Dashboard-Gruppe verfügt.
6.3.2
- Beschleunigt den Start des Webdienstes, indem Migrationen während der Aktualisierung nur einmal ausgelöst werden.
6.3.0
- Ermöglicht Operatoren wie AND(), OR() bei der Textsuche in Datenquellen
- Sortiert Gründe auf natürliche Weise beim Abrufen der Herkunft (Drilldown)
6.2.5
- Behebt ein Problem bei der Erstellung von Dashboard-Gruppen
6.2.4
- Normalisiert die Dashboard-Berechtigungen
- Macht die Stammgruppe „Dashboards“ für alle lesbar
- Fügt der Stammgruppe „Dashboards“ für referenzierte Objekte die Regel „Alle verweigern“ hinzu
- Entfernt „Verweigern“-Regeln aus allen Dashboard-Objekten
6.2.3
- Erzwingt die Übernahme der ursprünglichen Berechtigungen von Dashboards auf das übergeordnete Objekt
6.2.2
- Behebt ein Problem beim Abrufen von Dashboards, wenn ein Benutzer in andere Gruppen verschoben wird oder seine Rolle wechselt.
6.2.1
- Behebt ein Problem bei der Migration von Kopfzeilenkacheln, wenn nur eine rechte Kopfzeilenkachel vorhanden ist.
6.2.0
- Neue Endpunkte für Dashboard-Berechtigungen
6.1.4
- Behebt Datenabfragen mit Aggregatfunktionen ohne Alias (z. B. count(*), sum(foo), ...)
6.1.3
- Führt Dashboard-Migrationen einmal pro Mandant statt nur einmal global durch.
6.1.2
- Datenabfragen
- Behebt Datenabfragen, bei denen der Benutzer als Autor gelöscht wurde.
- Behebt ein Problem bei Datenabfragen mit Null-Abfragezeichenfolgen.
6.1.1
- Datenabfragen
- Verwendet keine Common Table Expressions (CTE) unter MySQL, da ältere MySQL-Versionen diese nicht unterstützen. Wahrscheinlich wird es in einer späteren Webservice-Version eine Erkennung für diese Funktion geben. 6.1.0
6.1.0
- Datenabfragen
- Verwendet Common Table Expressions (WITH-Abfragen) für Unterabfragen anstelle von verschachtelten Unterabfragen. Es ist nicht mehr erforderlich, einer Unterabfrage einen Alias hinzuzufügen.
- Entfernt Kommentare vor der Verarbeitung von Unterabfragen und Parametern.
- Misst die Ausführungszeit der Abfrage und die Rückgabedauer
- Ermöglicht Standardwerte für Parameter und vereinfacht die Parametersyntax (kein „params.“ mehr)
- Datenabfragen / Datenquellen
- Unteraggregate
- Endpunkt zum Speichern benutzerdefinierter CSS-Stile
- Gibt untergeordnete Elemente im „reason“-Aufruf zurück
6.0.5
- Behebt das Einlesen der Konfiguration aus Umgebungsvariablen
6.0.4
- Datenabfragen
- Entfernt die Pinning-Logik
- Gruppen werden nun immer rekursiv gelöscht
- Vereinfachung und Behebung von Fehlern beim Export/Import
6.0.3
- Gibt bei ungültigem Dashboard den HTTP-Statuscode 404 anstelle von 500 zurück
6.0.2
- Ermöglicht das Speichern ungültiger Datenabfragen. Gibt stattdessen Fehler zurück, wenn eine Datenabfrage abgerufen wird
- Fügt beim Veröffentlichen von Datenabfragen keine Versionskennzeichnungen mehr hinzu
- Behebt die Erkennung von zirkulären Verweisen bei untergeordneten Datenabfragen
6.0.1
- Einzelne Anfrage für Dashboards einschließlich ihrer untergeordneten Elemente (/dashboards/{id}/nested)
6.0.0
- Konfiguration über ENV
- Ermöglicht die Aktivierung des Dunkelmodus für den Benutzer
- Zahlreiche Änderungen beim Abrufen von Dashboards
- Entfernt einige Funktionen, die bisher von SKOOR Auth übernommen wurden
- Verwendet den Verbindungspool von PGPool-II, sofern verfügbar