SKOOR Webservice Changelog
9.0.1
- Erzwingt die Überprüfung der Benutzerrolle auf allen Endpunkten.
Wichtige Änderungen, die möglicherweise zu Fehlfunktionen führen:
- Viele Endpunkte, die Daten ändern, 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 Datenänderung 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 gespeichert und nicht mehr im globalen Übersetzungsspeicher.
- Viele Endpunkte, die Daten ändern, 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 zu erraten.
- Die meisten Benutzereinstellungen sind nun auf Administratoren beschränkt. Benutzer ohne Administratorrechte können nur ihre Einstellungen unter
fullname,email,phone,startDashboardId,languageundtimeZoneaktualisieren sowie ihr Passwort ändern und MFA aktivieren oder deaktivieren (sofern dies 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 nur ihre Einstellungen unter
startDashboardId,languageundtimeZoneaktualisieren.
- Entfernt die Einstellung „
visuallyImpaired“ sowohl aus „User“ als auch aus „UserGroup“, 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 Skript-Zeitplanverwaltung, das dazu führte, dass geplante Ausführungen ausgelöst wurden, wenn 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 neue UserRole ein:
Data_Editor- Kann Daten aus DataSources bearbeiten, solange der Benutzer im Geltungsbereich liegt.
- Kann auf DataQueries zugreifen, diese erstellen und bearbeiten
- Kann Skripte anzeigen/bearbeiten (RunConfigs/ScheduleConfigs)/ausführen
- Löscht Passwörter in den envVariables und RunConfigs des Skripts.
- 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.31
- Behebt einen Fehler, der die Datenabfrage-Engine manchmal daran hinderte, materialisierte Tabellen zu finden.
8.1.30
- Behebt einen Fehler, der manchmal dazu führte, dass materialisierte Datenabfragen nicht ordnungsgemäß materialisiert wurden.
8.1.29
- Korrekte Verarbeitung von Filtern auf Spalten mit eindeutiger Zählung.
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
- Ermöglicht die Einbindung von Kopf- und Fußzeilen in PDF-Berichte.
8.1.25
- Hinzufügen von „
SKOOR_USER_USERGROUP_IDS“ und „SKOOR_USER_USERGROUP_NAMES“ zu den Umgebungsvariablen in Skripten. - Behebt eine Race Condition, die dazu führt, dass Datenabfragen im Aktualisierungszustand hängen bleiben.
- Behebt einen Fehler, der Datenabfragen unterbricht, 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 Swagger UI zu beheben.
8.1.22
- Behebt einen Fehler, der manchmal verschachtelte Datenabfragen unter Verwendung von Scoped-Tabellen unterbricht.
8.1.21
- Verbessert die Analyse von Datenabfragen weiter, um Referenzen abzurufen.
8.1.20
- Mildert andere Ausnahmen beim Parsen von Datenabfragen.
8.1.19
- Behebt einige IndexOutOfBoundsExceptions 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 unterbricht, wenn Dashboards mit URL-Namen vorhanden sind.
8.1.16
- Gibt den korrekten Statuscode 401 zurück, wenn die Basisauthentifizierung 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, immer dynamisch aktualisiert. Dieses Verhalten wurde nun so geändert, dass nur Abfragen, die auf StableNet-Fremdtabellen basieren, dynamisch aktualisiert werden.
- Behebt einen Fehler, der manchmal dazu führt, dass Datenabfrage-Referenzen fehlen, die für Bereiche oder Unterdatenabfragen verwendet werden.
- Aktualisiert anfällige Abhängigkeiten.
8.1.15
- Implementiert einige erforderliche Änderungen zur Unterstützung neuer Funktionen von StableNet FDW.
- Datenabfragen
- Stellt die vorhandene Datenabfrage als Kontext bereit, wenn Text2SQL im Datenabfrage-Editor 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 hinzu, um die Objektstruktur abzurufen
/root/tree/{parentType}/{parentId}/tree
- Löscht die zwischengespeicherten Dateien und Stile auf der Festplatte beim Neustart des Webdienstes.
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 Hängenbleiben der Datenbankverbindung führt.
8.1.12
- Korrigiert searchPath-Endpunkte, indem Leerzeichen in Pfadsegmenten entfernt werden.
- Anpassung der CashPilot-Datenquelle für die Multi-User-Datensynchronisation.
- Optimiert die Materialisierung von Datenabfragen
- Filtert einige Scanner-Störgeräusche aus dem Protokoll heraus.
- Ermöglicht die Erklärung von Datenabfragen ohne Analyse.
- Behebt die Erkennung von Datenabfragetabellenreferenzen, wenn auf den Tabellennamen direkt ein „
)“ folgt. Dies verhinderte manchmal die korrekte Anwendung von Scopes.
8.1.12
- Korrigiert searchPath-Endpunkte durch Entfernen der Leerzeichen in den Pfadsegmenten.
- Passt die CashPilot-Datenquelle für die Multi-User-Datensynchronisation an.
8.1.11
- Aktiviert oder startet den Dienst bei einer Paketaktualisierung auf Standby-Systemen nicht.
- Behebt einen Fehler, der den Übersetzungs-Endpunkt beschädigt, wenn ein leeres Text-Array in der Nutzlast bereitgestellt wird.
- Fügt Unterstützung für Groß-/Kleinschreibung bei den searchPath-Endpunkten hinzu
8.1.10
- Verbessert den Skript-Export/Import
- Fügt „
script_metadata.json“ zum Export hinzu. - Ermöglicht das Überschreiben bestehender Skripte mit dem Überschreibungsflag.
- Ermöglicht den Import von Metadaten aus „
script_metadata.json“, sofern vorhanden.
- Fügt „
- Dashboards
- Verhindert doppelte URL-Namen.
- Google Vertex AI (wird für die Funktionen „Script Copilot“ und „Data Query Text to SQL“ verwendet)
- Ändert den Standardspeicherort 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 Standardspeicherort 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}/searchPathum nach SKOOR-Objekten anhand ihres Pfads von einem bestimmten übergeordneten Objekt aus zu suchen.
- Reduziert die Anzahl der gleichzeitig aktualisierten materialisierten Datenabfragen auf 8. Dies trägt dazu bei, IO-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 1000 und die Länge einer einzelnen Protokollzeile auf 10000 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 wird zur besseren Wartbarkeit umgestaltet
- DataSource
- Reduziert die TTL für nicht zwischengespeicherte Daten auf 1 Sekunde
- Datenabfragen
- Behebt einen Fehler, der Datenabfrageparameter in 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“.
- Entfernt den LocalAI-Anbieter und macht Google Vertex AI zum neuen Standard.
8.1.6
- Behebt das Problem mit leeren „
SKOOR_SESSION_ID“ in Skripten.
8.1.5
- Dashboard/DQs Importieren und Exportieren
- Behebt das Importieren von Dashboards ohne Dashboard-Zuordnungen.
- Behebt die Überprüfung der Benutzer und Benutzergruppen, auch wenn die Bereiche und Berechtigungen falsch sind.
- Fügt den Importhinweisen eine Warnung hinzu, wenn das Exportsystem neuer ist als das Zielsystem.
- Skript-Updates:
- Vereinheitlicht 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 Poetry-Deaktivierungsoption 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; 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.
- Macht den Namen des Dashboards obligatorisch.
8.1.3
- Ermöglicht die Definition von zusammengesetzten Indizes für materialisierte Datenabfragen.
- Behebt das Mapping von Dashboards für den Export/Import
- CashPilot-Datenquelle
- Fügt Paginierungsparameter zur Service-URL hinzu
- Verwenden Sie 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 nach Spalten.
- Behebt einige Fehler, die dazu führten, dass die Skriptplanung und das erneute Einreihen nicht ordnungsgemäß funktionierten.
8.1.1
- Unterstützt 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.cfgmithilfe der 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: Umfasst 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.
- Unterstützung für Webhook-Token hinzugefügt, wodurch 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 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}/commentund/alarms/{id}/assignhinzu.
8.0.22
- Behebt einen Fehler, der Unterabfragen in MySQL und in einigen anderen Fällen unterbricht.
8.0.21
- Optimiert die Art und Weise, wie Unterabfragen verarbeitet werden (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.
- Bereinigt 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 beim Überprüfen von Fremdtabellen blockieren.
- Datenabfragen
- Optimiert die Aktualisierung
- Unterstützt Unterabfragen bei Verwendung der PostgreSQL-Funktion CROSSTAB
- Ermöglicht die Erläuterung eines Datenabfrageplans mithilfe des Endpunkts „
/dataQueries/explain“.
8.0.18
- Entfernt das dynamische Caching von Datenabfragen vollständig.
8.0.17
- Behebt einen Fehler, der verhinderte, dass PostgreSQL-Verbindungen parallele Worker nutzen konnten.
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 verhindert, dass Datenabfragen bei VARCHAR-Spalten materialisiert werden.
- 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 Zeilenzahlschätzungen, 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 und die Verarbeitung von Fehlermeldungen. - Unterstützt „
certificate“, „basic_auth_username“ und „basic_auth_password“ von 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ührt, dass Datenabfragespalten nicht sofort nach der Veröffentlichung aktualisiert werden.
- Behebt einen Fehler, der manchmal dazu führt, dass Datenabfragen fehlschlagen, wenn eine Datenquelle oder Datenabfrage mehrfach referenziert wird.
- 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 unterbricht.
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 der alten Konfiguration 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 CashPilot-Datenquelle 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 bessere 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ührt, dass Multi-Tenancy-Konfigurationen nicht ordnungsgemäß funktionieren, wenn kein Standard-Tenant vorhanden ist.
8.0.0
-
Fügt „
dataSources/{id}/tables/{table}/distinctValues“ und „dataSources/{id}/tables/{table}/distinctValues“ hinzu, mit denen eindeutige Werte für Spaltenkombinationen abgerufen werden können. - Behebt einen Fehler, der die Sortierung in der Datenquellen-Vorschau unterbricht, wenn nach Spalten sortiert wird, die doppelte Werte enthalten.
- Verschiebt die Konfiguration vom Dateisystem in die Datenbank. Dies umfasst (Dateien, Stile, Übersetzungen, Datenquellen, Datenabfragen)
- Datenabfragen
- Verbessert die Umbenennung von Datenabfragen. Durch das Umbenennen einer Datenabfrage wird deren Name auch in den abhängigen Abfragen geändert.
- 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, das Unterstützung für Geo-Karten mithilfe von Datenabfragen bietet. - Fügt „
gis/cluster“ hinzu, das Unterstützung für Geo-Links in Geo-Karten bietet. - Filtert leere Adressen vor der Geokodierung.
- 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 einen Fehler beim Import von Datenquellentabellendaten.
7.3.19
- Behebt einen Fehler, der manchmal dazu führt, dass Selects fehlschlagen, wenn die Abfrage ein leeres Argument enthält.
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 beschädigt.
- Führt mehr Caching durch, um Datenabfragen noch weiter zu beschleunigen.
7.3.16
- Behebt einen Fehler, der zu einem Fehler führt, wenn auf eine untergeordnete Datenabfrage mehrfach auf verschiedenen Ebenen verwiesen wird.
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 von Endpunkten 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 Caching im Allgemeinen.
7.3.10
- Verwendet Java-HTTP-Client-Instanzen wieder.
- StableNet-Auth-Token werden nach SELECT-Anfragen nicht mehr ungültig gemacht, da dies nun automatisch von SKOOR Auth übernommen wird. Dies spart einen Roundtrip zum SKOOR-Auth-Dienst.
- Versuchen Sie nicht, unlogged-Tabellen für materialisierte Datenabfragen auf MySQL-Backends zu verwenden.
7.3.9
- Speichert einige Metadaten von Datenbanktabellen im Cache, um den Datenbankzugriff zu reduzieren.
7.3.8
- Reduziert die Anzahl der gleichzeitig aktualisierten materialisierten Datenabfragen auf 10.
7.3.7
- Der Data Query Cache Refresher verwirft keine zwischengespeicherten Daten mehr, wenn es zu einem vorübergehenden Fehler bei der Aktualisierung der StableNet-Authentifizierungstoken kommt.
7.3.6
- Verringert das dynamische Cache-Limit für Datenabfragen von 100'000 auf 10'000 Zeilen. Dies sollte die Schreibvorgänge auf die Festplatte für nicht materialisierte 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.
- Passt die Zeitüberschreitungen 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 materialisierter Datenabfragen.
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 Wertedefinitionen führt.
- Behebt einen Fehler, der bei großen Datensätzen zu sehr schlechter 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 den Datenimport aus XLS(X)-Dateien in die Datenquelle, bei dem in einigen Zeilen die letzten Zellen fehlten.
7.2.14
- Behebt einen Fehler, der dazu führt, dass der „
PUT /{parentType}/{parentId}/children“ fehlschlägt, wenn das übergeordnete Element ein SLC ist.
7.2.13
- Erhöht den Datenbank-Verbindungspool während der Verarbeitung von 8 auf 30, um mehr parallele Anfragen zu ermöglichen.
7.2.12
- Verbessert das Timeout-Verhalten bei MySQL-Datenquellen.
7.2.11
- Genauere Funktion zur Schätzung der Ergebniszeilen für Datenquellen und Datenabfragen.
- Unterstützt auch Datums-Trunkierungsfunktionen wie „
month()“ und „day()“ in MySQL.
7.2.10
- Behebt Probleme mit Zeitzonen und 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 anstelle von 2023-01-02T07:00:00Z). Dies ist bei der Arbeit mit dem Webservice wesentlich übersichtlicher und sollte bestehende Clients nicht beeinträchtigen, da diese den Zeitversatz stets berücksichtigen sollten.
7.2.9
- Schätzt zudem die Zeilenanzahl in MySQL, 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 beschädigt.
7.2.5
- Behebt ein Problem mit der Positionsmarkierung, wenn die Datenabfrage Fehler enthält.
7.2.4
- Behebt einen 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 das Laden von Datenquellen-Scopes.
7.2.2
- Behebt einen Fehler, der Anfragen an Datenquellen und Datenabfragen unterbricht, die Anführungszeichen in 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 erhöht die Abfrageleistung bei großen Datensätzen erheblich.
- Behebt einen Fehler, der dazu führt, dass das Abrufen von Job-Meldungen fehlschlägt, wenn ein Objekt nicht auf einem Kollektor geplant ist.
7.0.7
- Datenabfragen
- Behebt einen Deadlock beim Aktualisieren verschachtelter Datenabfragen.
- Behebt einen Fehler, der dazu führt, dass bei der Abhängigkeitsauflösung dieselbe Abhängigkeit mehrfach gefunden wird.
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 das 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 Seitenumbruch
- 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 von reinen Datumsangaben.
- Verbessert die Referenzerkennung.
- Erzwingt die Berechtigungen aus der Datenquelle auch in dmvn-Testabfragen.
- Speichert 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 InventoryController hinzu, das optimierte Endpunkte für das SKOOR Dashboard-Inventar-Widget bereitstellt
6.4.3
- Release zur Einbindung der Änderungen aus 6.3.4.
6.4.2
- Unterstützt den PostgreSQL-
citext-Typ sowie (weitere) andere spezielle Typen.
6.4.1
/filesDer Endpunkt setzt nun standardmäßig den MIME-Typ unbekannter Dateien auf „application/octet-stream“, anstatt „null“ zurückzugeben.
6.4.0
- Ermöglicht das Löschen von Dateien mit
DELETE /files/filename.extension - Erhöht die maximale Upload-Dateigröße von 1 MB auf 10 MB
6.3.4
- Stellt sicher, dass PostgreSQL-Verbindungen immer den externen Verbindungspooler verwenden.
6.3.3
- Stellt sicher, dass der aktuelle Benutzer über volle Berechtigungen für eine neu erstellte Dashboard-Gruppe verfügt.
6.3.2
- Beschleunigt den Start des Webservice, 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 Probleme bei der Erstellung von Dashboard-Gruppen
6.2.4
- Normalisiert Dashboard-Berechtigungen
- Macht die Stammgruppe „Dashboards“ für alle lesbar
- Fügt „Deny Any“ zur Stammgruppe „Dashboards“ für referenzierte Objekte hinzu
- Entfernt „Deny“-Regeln aus allen Dashboard-Objekten
6.2.3
- Erzwingt die Init-Berechtigungen von Dashboards auf das übergeordnete Objekt
6.2.2
- Behebt das Abrufen von Dashboards, wenn der Benutzer in andere Gruppen verschoben wird oder seine Rolle ändert.
6.2.1
- Behebt die Migration von Kopfzeilenkacheln, wenn nur eine rechte Kopfzeilenkachel vorhanden ist.
6.2.0
- Neue Endpunkte für Dashboard-Berechtigungen
6.1.4
- Behebt Datenabfragen, die Aggregatfunktionen ohne Alias verwenden (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 Datenabfragen mit Null-Abfragezeichenfolgen
6.1.1
- Datenabfragen
- Verwendet keine Common Table Expressions in 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 Lesen der Konfiguration aus Umgebungsvariablen
6.0.4
- Datenabfragen
- Entfernt die Pinning-Logik
- Löscht Gruppen immer rekursiv
- Vereinfacht und behebt den Export/Import
6.0.3
- Gibt bei ungültigem Dashboard den HTTP-Statuscode 404 statt 500 zurück
6.0.2
- Ermöglicht das Speichern ungültiger Datenabfragen. Gibt stattdessen Fehler beim Abrufen der Datenabfrage zurück
- Fügt beim Veröffentlichen von Datenabfragen keine Versionskennzeichnungen mehr hinzu
- Behebt die Erkennung von zirkulären Referenzen bei Unterdatenabfragen
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 Einstellung des Dunkelmodus für den Benutzer
- Viele Änderungen beim Abrufen von Dashboards
- Entfernt einige Funktionen, die bisher von SKOOR Auth übernommen wurden
- Verwendet den Verbindungspool von PGPool-II, sofern verfügbar