AssetManager v0.3.8.3 – dynamische MeshCentral-Feldsynchronisierung =================================================================== Korrekturen: - Feste SYNC_FIELDS-Liste vollständig entfernt. - Ausschließlich aktivierte Einträge aus mesh_field_mappings bestimmen die Synchronisierung. - Systemfelder werden dynamisch über field_definitions und die Asset-Spalten geschrieben. - Custom-Felder werden dynamisch in asset_field_values gespeichert. - Neue Mappings auf bestehende System- oder Custom-Felder funktionieren ohne Codeänderung. - Update-Regeln fill_empty, meshcentral_wins und local_wins gelten für beide Feldarten. - Pro tatsächlich angewendetem Mapping erscheint eine Debug-Zeile im Live-Protokoll. - Unbekannte/inaktive Zielfelder und fehlende Systemspalten werden verständlich protokolliert. - mesh_mtype wurde im ORM-Modell ergänzt; die vorhandene Migration bleibt kompatibel. - Neue Assets werden vor dem Schreiben von Custom-Feldern geflusht, damit asset_id korrekt gesetzt ist. Installation: 1. Datenbank sichern. 2. ZIP im bestehenden AssetManager-Verzeichnis entpacken. 3. Vorhandene .env, config.json, Daten, Uploads und Logs nicht ersetzen. 4. docker compose down 5. docker compose up -d --build 6. docker compose logs --tail=200 app Prüfung: - Auf der MeshCentral-Seite nur die gewünschten Mapping-Regeln aktivieren. - Für Teständerungen Update-Regel "MeshCentral gewinnt" verwenden. - Im Live-Protokoll nach "Mapping '' angewendet" suchen. Getestet: - Python-Syntax aller App-Module. - Isolierter SQLite-Lauf mit einem Systemfeld (notes), mesh_mtype und einem Custom-Feld. - Derselbe RAM-Quellpfad wurde erfolgreich gleichzeitig in notes und in ein Custom-Feld geschrieben. Nicht durchgeführt: - Kein Produktivtest gegen die reale PostgreSQL-/MeshCentral-Installation des Anwenders.