Projekt-Check im Backend

Moin zusammen,

mit dem Py-QGIS-Server und dem Preload und der anschließenden Kontrolle in der qgis-server.log hat man eine gute Möglichkeit, seine QGIS-Projekte zu kontrollieren.

Denn z.Bsp. bei fehlenden WMS-Diensten fehlt die Warnung im WebGIS.

Könnte man solch einen Preload-Check nicht auch im Backend bei der QGIS-Projekte Verwaltung pro QGIS-Projekt integrieren? Am einfachsten durch das Anstoßen eines entsprechenden Preloads für das Projekt.

Was haltet Ihr von der Idee?

Gruß
Günter

Hallo Günter

Kannst du das bitte noch etwas detaillierter beschreiben?

Von: Günter Wagner noreply@discourse.osgeo.org
Gesendet: Samstag, 18. April 2026 09:31
An: peter.berger@bluewin.ch
Betreff: [QGIS/Lizmap-de] Projekt-Check im Backend







wagner-it Regular
April 18

Moin zusammen,

mit dem Py-QGIS-Server und dem Preload und der anschließenden Kontrolle in der qgis-server.log hat man eine gute Möglichkeit, seine QGIS-Projekte zu kontrollieren.

Denn z.Bsp. bei fehlenden WMS-Diensten fehlt die Warnung im WebGIS.

Könnte man solch einen Preload-Check nicht auch im Backend bei der QGIS-Projekte Verwaltung pro QGIS-Projekt integrieren? Am einfachsten durch das Anstoßen eines entsprechenden Preloads für das Projekt.

image

Was haltet Ihr von der Idee?

Gruß
Günter


Visit Topic or reply to this email to respond.

To unsubscribe from these emails, click here.

ich dachte das wäre ausführlich. Hätte lediglich noch die Ergänzung, dass QGIS_SERVER_LOG_LEVEL mind. auf “Warning” stehen muss (in der /srv/qgis/config/qgis-service.env)

Aber die KI kann es natürlich noch ausführlicher, gleich mit technischen Hintergrund/Ansatz. Evtl. aber auch verwirrender:) Wenn Ihr das gut findet, würde ich es auch in die englische Gruppe schreiben:

Hintergrund / Problem

Bei der Verwendung von Py-QGIS-Server mit Preload lädt QGIS Server beim Start alle konfigurierten Projekte. Dabei werden auftretende Probleme als Warnungen in der qgis-server.log protokolliert:

  • Fehlende lokale Dateien (Bitmaps, GeoPackages, Shapefiles)

  • Nicht erreichbare externe WMS/WFS-Dienste

  • Defekte Layer-Referenzen (z.B. veraltete absolute Windows-Pfade)

  • Fehlende Anhänge oder Stildatenbanken

Das Problem: Diese Warnungen erscheinen nur im Server-Log, das direkten Server-Zugriff und manuelle Log-Analyse erfordert. Ein normaler Lizmap-Administrator ohne Server-Zugang hat keine Möglichkeit, diese Probleme zu erkennen. Und Endnutzer sehen oft gar keinen Fehler — der Layer fehlt einfach in der Karte, ohne jede Erklärung.

Vorgeschlagene Funktion: “Projekt prüfen” im Lizmap-Backend

Die Idee ist, einen “Projekt prüfen”-Button in die Lizmap-Backend-Projektverwaltung zu integrieren. Bei Aufruf für ein bestimmtes Projekt würde dieser:

  1. Einen kontrollierten Reload des ausgewählten QGIS-Projekts über die Py-QGIS-Server Management API (Port 19876, /reload oder Cache-Invalidierungs-Endpoint) anstoßen

  2. Die während dieses Reloads erzeugten QGIS-Server-Log-Ausgaben erfassen

  3. Die erfassten Ausgaben nach Warnungen und Fehlern parsen

  4. Die Ergebnisse strukturiert und lesbar direkt im Lizmap-Backend anzeigen

Das Ergebnis könnte beispielsweise so aussehen:

Projekt: auftrag/thema/projekt1.qgs
Status: 2 Problem(e) gefunden

⚠ Fehlender Layer: ../bitmaps/bplaene/BP_Erweiterung.png
⚠ WMS-Dienst nicht erreichbar: DOP_2017_10cm @ wms.server.biz
✓ Alle PostGIS-Layer erfolgreich geladen

Technischer Ansatz

Py-QGIS-Server bietet bereits eine Management REST API auf einem separaten Port (Standard: 19876). Relevante Endpunkte:

  • POST /cache/ mit einem Projektpfad zum erzwungenen Cache-Reload eines bestimmten Projekts

  • Der Reload durchläuft denselben Code-Pfad wie der initiale Preload und erzeugt identische Log-Ausgaben

Die Implementierung könnte folgendermaßen funktionieren:

  1. Lizmap-Backend ruft die Py-QGIS-Server Management API auf, um das spezifische Projekt neu zu laden

  2. Log-Erfassung: Da der Reload pro Projekt synchron abläuft, können Log-Einträge über Zeitstempel und Worker-Prozess-ID korreliert werden — oder alternativ könnte Py-QGIS-Server erweitert werden, um Warnungen direkt in der API-Antwort zurückzugeben

  3. Log-Parsing: Filtern nach WARNING-Einträgen, die dem Projekt-Reload zugeordnet sind, und Kategorisierung (fehlende Datei, nicht erreichbarer WMS, OGR-Fehler usw.)

  4. Anzeige: Ergebnisse in der Lizmap-Backend-Projektliste darstellen, idealerweise mit einem Statusindikator (grün/gelb/rot), der ohne manuellen Check sichtbar ist

Die sauberste Langzeit-Lösung wäre eine Erweiterung der Py-QGIS-Server Management API, die Projekt-Statusinformationen direkt in der API-Antwort zurückgibt, anstatt auf Log-Parsing angewiesen zu sein. Das würde die Funktion robuster und unabhängig von Log-Format-Änderungen machen.

Warum das sinnvoll ist

  • Administratoren ohne Server-Zugang können ihre Projekte validieren

  • Probleme werden erkannt bevor Endnutzer sie bemerken

  • Der Feedback-Kreislauf von “Nutzer meldet fehlenden Layer” bis “Administrator behebt defekten Pfad” wird deutlich verkürzt

  • Besonders wertvoll nach Projekt-Updates oder Server-Migrationen

Hmm, das liese sich schon implementieren, aber das aus dem Log zu parsen wie unser py-qgis-monitor finde ich nicht sehr elegant. Die API anzupassen wäre schon der bessere Weg, aber auch deutlich aufwändiger vermute ich.

Es wäre schon “nice to have” aber so super dringlich sehe ichs glaube nicht. Vielleicht wäre es ne Idee, das ins py-qgis-monitor mit einzubauen? Das wäre erstmal recht einfach machbar und könnte dann evtl. in Lizmap integriert werden (vielleicht als Modul?)