Der Server liefert seit heute die Sammlung widmung-<vkz>-punkt|-linie mit einem Stil, der
die Schilder selbst malt, dazu blattzeichen-<vkz> mit den neuen Zeichen am Weg. Das Plugin
kannte beides nicht -- die Gruppenzuordnung fiel auf "Weitere", und die Seitenleiste
filterte das heraus.
* GRUPPEN kennt jetzt widmung ("Widmungen & Verkehrszeichen", eigener Haken in der
Seitenleiste) und blattzeichen (laeuft in der Gruppe der Maßnahmenblaetter mit).
* Neues Modul zeichen_katalog.py: holt /v2/zeichen/katalog.json (oeffentlich, wird neben den
Grafiken abgelegt, damit die Palette auch ohne Netz oeffnet), laedt fehlende Schilder nach
<Profil>/svg/vln/<code>.svg, traegt den Ordner in die SVG-Suchpfade ein und schreibt im
Stil das Adressen-Praefix auf "vln/" um. Fehlt eine Datei, bleibt die Serveradresse stehen
-- so zeichnet QGIS sie weiter aus dem Netz, im Druck und offline stimmt es trotzdem.
* Beim Laden eines Zeichen-Layers werden die Grafiken bereitgestellt, BEVOR der Stil greift;
sonst zeigt der Ausdruck auf eine Datei, die es lokal noch nicht gibt.
* api_client.roh() holt eine Datei roh und ohne Anmeldung; Fehler geben b"" zurueck, ein
fehlendes Schild darf nichts abbrechen.
Headless gemessen (QGIS 4.2, offscreen): Katalog 890 Zeichen, drei Grafiken geholt, ein
unbekannter Code sauber als fehlend gemeldet, Suchpfad eingetragen, Stil lokalisiert.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Drei Fehler, die erst der erweiterte Headless-Test gegen die echte Schnittstelle sichtbar
gemacht hat (11.09.2026, alle drei Anbieter plus Vererbung und Stil):
1. WMS-Layer kamen als "Provider is not valid" zurück. Der Rasterprovider erwartet seine
Parameter mit "&" getrennt statt mit Leerzeichen wie die Vektorprovider — und "styles"
muss dabei sein, auch leer. Beides durchgemessen am wms_geosn_dop-rgb: ohne "styles"
ungültig, mit "&"+"styles=" gültig in 0,2 s. Ein fertiger URI wird durchgereicht.
2. "Dienste holen" lieferte bis zu eine Minute lang die alte Liste. Die Schnittstelle
antwortet mit "Cache-Control: private, max-age=60", damit ein Ladelauf nicht alles neu
holt — bei einem Klick des Nutzers ist das aber falsch: wer gerade im Manager einen
Dienst eingetragen hat, will ihn sehen. dienste_laden und stil_anwenden fragen jetzt
frisch.
3. Gesteuert wird das über den forceRefresh-Parameter von QgsBlockingNetworkRequest.get/post,
NICHT über CacheLoadControlAttribute am Request: das Attribut wird intern überschrieben
und blieb wirkungslos.
Der Test in tools/headless_dienste_test.py deckt jetzt auch ab, was das Plugin bisher nicht
sah, weil alle 44 Altdaten ArcGIS-REST sind: WMS und WFS bauen, Ausblenden wirkt und lässt
sich zurücknehmen, ein Stil bleibt beim Ändern ohne QML stehen und lässt sich entfernen.
Angelegte Proben räumt der Lauf selbst wieder ab.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Erik, 08.09.2026: "in die GUI das Speichern via OGC einbauen, GeoJSON nicht mehr
verwenden."
- Seitenleiste hat jetzt zwei Bloecke: "Layer" (Auswahl, laden, Aenderungen
speichern) und "Darstellung" (Stil, Vorlage-Haken).
- Neuer Knopf "Aenderungen speichern" -> VlnKartenPlugin.run_save_edits():
schliesst die offenen Bearbeitungssitzungen ALLER geladenen OAPIF-Layer auf
einmal; ohne offene Bearbeitung kommt ein Hinweis statt einer Aktion.
Zurueckgeschrieben wird ohnehin je Feature (Part 4), der Knopf beendet nur die
Sitzung.
- Der GeoJSON-Weg ist raus: die vier Datensatz-Knoepfe, "Aktiven Layer
hochladen", DATASETS, run_load_dataset, run_upload_active_layer,
_confirm_replace_existing, vln_karten/layer_manager.py sowie
KartenApiClient.load_layer_complete/save_feature_collection.
- Stil-Hinweise angepasst: den Stil des eigenen Verfahrens darf jeder speichern,
die Vorlage nur die Gruppe MODUL_KARTENSTIL (Server-PR #565).
Geprueft headless mit QGIS 4.2 gegen die Live-API (TG Test 27998): ohne
Bearbeitung Hinweis, mit Aenderung Sitzung geschlossen, API zaehlt +1, Feature
sichtbar, danach wieder aufgeraeumt. Panel-Test deckt die neuen Knoepfe ab.
metadata.txt 0.5.0.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Lädt Verfahrensgebiet, Plan 41, Karte alter Stand (KAS) und Wertermittlung
(WE) je VKZ vollständig aus KARTE_OBJEKT (Listen-Endpunkt mit Paging) und
schreibt sie per PUT zurück. Einmaliger Login (mail/password -> userauth),
API-Key persistiert in QSettings; Verfahrens-Auswahl in der Toolbar wird
je QGIS-Projekt gemerkt. Gemischte Geometrietypen werden beim Laden in
Punkte-/Linien-/Flächen-Layer gesplittet und beim Hochladen wieder
vereint. Qt5/Qt6-kompatibel (QGIS 3.22+ und QGIS 4).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>