36 lines
1.8 KiB
Plaintext
36 lines
1.8 KiB
Plaintext
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 '<feld>' 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.
|