Files
EngineeringSync/HANDBUCH.md
EngineeringSync 04ae8a0aae Initial commit: EngineeringSync v1.0.0
Vollständige Implementierung des EngineeringSync-Middleware-Tools:
- Windows Service (Kestrel :5050) mit FileSystemWatcher + SignalR
- WPF Tray-App mit PendingChanges- und Projektverwaltungs-Fenster
- Setup-Wizard (8-Schritte-Installer)
- SQLite/EF Core Datenschicht (WAL-Modus)
- SHA-256-basiertes Debouncing (2s Fenster)
- Backup-System mit konfigurierbarer Aufbewahrung

Bugfixes & Verbesserungen:
- BUG-1: AppDbContext OnConfiguring invertierte Bedingung behoben
- BUG-2: Event-Handler-Leak in TrayApp (Fenster-Singleton-Pattern)
- BUG-3: ProjectConfigChanged SignalR-Signal in allen CRUD-Endpoints
- BUG-5: Rename-Sync löscht alte Datei im Simulations-Ordner
- BUG-6: Doppeltes Dispose von SignalR verhindert
- BUG-7: Registry-Deinstallation nur EngineeringSync-Eintrag entfernt
- S1: Path-Traversal-Schutz via SafeCombine() im SyncManager
- E1: FSW Buffer 64KB + automatischer Re-Scan bei Overflow
- E2: Retry-Logik (3x) für gesperrte Dateien mit exponentiellem Backoff
- E4: Channel.Writer.TryComplete() beim Shutdown
- C2: HubMethodNames-Konstanten statt Magic Strings
- E3: Pagination in Changes-API (page/pageSize Query-Parameter)
- A1: Fire-and-Forget mit try/catch + Logging

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 21:52:26 +01:00

28 KiB
Raw Permalink Blame History

EngineeringSync Benutzerhandbuch

Version 1.0.0 | Stand: März 2026


Inhaltsverzeichnis

  1. Einführung
  2. Systemvoraussetzungen
  3. Installation
  4. Die Tray-App im Überblick
  5. Projekte verwalten
  6. Änderungen überwachen und synchronisieren
  7. Backup-Funktion
  8. Windows-Dienst verwalten
  9. Deinstallation
  10. Technische Architektur
  11. Fehlerbehebung & FAQ

1. Einführung

EngineeringSync ist ein Middleware-Werkzeug, das die Arbeit zwischen der Konstruktionsabteilung (CAD) und der Simulationsabteilung (z. B. Process Simulate) koordiniert.

Das Problem ohne EngineeringSync

In der täglichen Praxis arbeiten Konstrukteure und Simulationsingenieure an denselben Dateien, aber in unterschiedlichen Verzeichnissen. Dateien werden manuell kopiert oft zur falschen Zeit, in der falschen Version, oder sogar während eine Simulation läuft. Das kann zu:

  • Datenverlust führen (Überschreiben aktiver Simulationsdateien)
  • Inkonsistenz erzeugen (Simulation basiert auf veralteten CAD-Daten)
  • Zeitverlust verursachen (manuelles Tracking von Änderungen)

Die Lösung mit EngineeringSync

Konstrukteur                    Simulationsingenieur
    │                                   │
    │  speichert CAD-Datei              │
    ▼                                   │
Engineering-Ordner              Simulations-Ordner
(wird überwacht)                (Sync-Ziel)
    │                                   │
    └──────── EngineeringSync ──────────┘
              │
              ├─ erkennt Änderungen automatisch
              ├─ benachrichtigt den Sim-Ingenieur
              ├─ wartet auf Freigabe
              └─ kopiert erst nach Bestätigung

Der Simulationsingenieur behält die volle Kontrolle: Dateien werden nie automatisch überschrieben erst nach expliziter Freigabe durch die Tray-App.


2. Systemvoraussetzungen

Komponente Mindestanforderung
Betriebssystem Windows 10 (64-Bit) oder Windows 11
.NET Runtime .NET 10 (wird vom Installer mitgeliefert)
Arbeitsspeicher 256 MB RAM (Dienst)
Festplatte 150 MB freier Speicher
Netzwerk Keine (rein lokal, localhost:5050)
Benutzerrechte Administratorrechte für die Installation

Hinweis: EngineeringSync läuft ausschließlich lokal auf einem Rechner. Netzwerkfreigaben können als überwachte Pfade genutzt werden, sofern sie als Laufwerksbuchstabe eingebunden sind.


3. Installation

3.1 Setup-Assistent starten

Führen Sie die Installationsdatei EngineeringSync-Setup.exe aus. Falls eine Sicherheitswarnung von Windows erscheint, klicken Sie auf „Weitere Informationen"„Trotzdem ausführen".

Der Setup-Assistent öffnet sich als modernes Fenster mit einer linken Navigationsleiste, die den aktuellen Fortschritt anzeigt.


3.2 Schritt: Willkommen

Der erste Schritt begrüßt Sie und gibt einen Überblick über die installierten Komponenten:

  • EngineeringSync-Dienst der Hintergrunddienst, der Dateien überwacht
  • Tray-App die Benutzeroberfläche im Windows-Systemtray
  • SQLite-Datenbank lokale Speicherung aller Änderungen und Konfigurationen

Klicken Sie auf „Weiter →" um fortzufahren.


3.3 Schritt: Installation

Wählen Sie den Installationsordner. Der Standardpfad lautet:

C:\Program Files\EngineeringSync\

Sie können über das Ordner-Symbol einen anderen Pfad wählen. Klicken Sie auf „Weiter →".


3.4 Schritt: Erstes Projekt konfigurieren

Dies ist der wichtigste Konfigurationsschritt. Sie definieren hier Ihr erstes überwachtes Projekt.

Projektname

Vergeben Sie einen aussagekräftigen Namen, z. B. Linie 3 Roboterzelle oder Projekt Alpha.

Engineering-Quellpfad (wird überwacht)

Der Ordner, in dem der Konstrukteur arbeitet und CAD-Dateien speichert. Jede Änderung in diesem Verzeichnis wird automatisch erfasst und dem Simulationsingenieur gemeldet.

Beispiel: C:\CAD-Projekte\Linie3\

Klicken Sie auf das Ordner-Symbol rechts neben dem Eingabefeld um einen Ordner per Dialog auszuwählen.

Simulations-Zielpfad (Sync-Ziel)

Der Ordner, in dem der Simulationsingenieur arbeitet. Freigegebene Änderungen werden in dieses Verzeichnis kopiert (mit automatischem Backup der bestehenden Dateien).

Beispiel: C:\ProcessSimulate\Projekte\Linie3\

Überwachte Dateien

Sie können wählen, welche Dateitypen überwacht werden:

Option Beschreibung
Alle Dateitypen überwachen Jede Dateiänderung im Ordner wird protokolliert (unabhängig von der Endung)
Spezifische Endungen Nur bestimmte Dateitypen werden überwacht

Für spezifische Endungen stehen Quick-Select-Buttons bereit:

Button Format Verwendung
.jt JT (Jupiter Tesselation) Siemens NX, Teamcenter
.cojt Compound JT Process Simulate Assemblies
.xml XML Konfigurationsdateien
.stp / .step STEP CAD-Austauschformat
.igs / .iges IGES Älteres CAD-Austauschformat
.prt Part File NX Part-Dateien

Sie können auch manuell Endungen (komma-getrennt) eingeben, z. B.: .jt, .cojt, .xml, .prt


3.5 Schritt: Backup-Einstellungen

Bevor EngineeringSync eine Simulationsdatei überschreibt, kann automatisch eine Sicherungskopie erstellt werden.

Backups aktivieren

Aktivieren Sie den Schalter um Backups zu aktivieren (empfohlen). Das Backup wird unmittelbar vor dem Überschreiben erstellt.

Das Namensschema der Backup-Datei lautet: {Dateiname}_{JJJJMMTT_HHMMSS}.bak

Beispiel: Roboter_Arm.jt_20260315_143022.bak

Backup-Speicherort

Option Beschreibung
Gleicher Ordner Das Backup liegt neben der Originaldatei (Standard)
Eigener Backup-Ordner Alle Backups werden zentral in einem Ordner gesammelt

Aufbewahrung

Legen Sie fest, wie viele Backups pro Datei maximal behalten werden:

  • 0 = unbegrenzt (alle Backups behalten)
  • 5 = die letzten 5 Backups werden behalten, ältere werden gelöscht

3.6 Schritt: Start- und Verknüpfungs-Optionen

Autostart

Option Empfehlung Beschreibung
Windows-Dienst automatisch starten Empfohlen Der Hintergrunddienst startet mit Windows
Tray-App bei Anmeldung starten Empfohlen Die Tray-App erscheint nach dem Login automatisch

Verknüpfungen

Option Beschreibung
Desktop-Verknüpfung Startet die Tray-App per Doppelklick vom Desktop
Startmenü-Eintrag EngineeringSync im Windows-Startmenü

Nach Installation

Option Beschreibung
Tray-App nach Installation starten Startet die App direkt nach Abschluss

3.7 Schritt: Zusammenfassung & Installation

Überprüfen Sie alle gewählten Einstellungen in der Zusammenfassung. Mit „Installieren" wird die Installation durchgeführt:

  1. Dateien werden in den Installationsordner kopiert
  2. Der Windows-Dienst EngineeringSync wird registriert
  3. Der Dienst wird gestartet
  4. Autostart-Einträge werden gesetzt (falls ausgewählt)
  5. Verknüpfungen werden erstellt (falls ausgewählt)

Ein Fortschrittsbalken zeigt den aktuellen Status an.


3.8 Schritt: Fertig

Die Installation ist abgeschlossen. Klicken Sie auf „Schließen" um den Setup-Assistenten zu beenden. Falls die Option „Tray-App nach Installation starten" aktiviert war, erscheint das Tray-Icon automatisch in der Windows-Taskleiste.


4. Die Tray-App im Überblick

Die Tray-App lebt im Windows-Systemtray (rechte Seite der Taskleiste, neben der Uhr).

Taskleiste: [...] [🔔] [EngineeringSync-Icon] [Zeit]
                              ▲
                     Rechtsklick-Menü:
                     ┌─────────────────────────────────┐
                     │ 🔔 Ausstehende Änderungen (3)   │
                     │ ⚙  Projekte verwalten            │
                     │ ─────────────────────────────── │
                     │ ✕  Beenden                       │
                     └─────────────────────────────────┘

Tray-Icon-Zustände

Symbol Bedeutung
Normal Dienst läuft, keine ausstehenden Änderungen
Mit Zahl Anzahl der ausstehenden Änderungen, die auf Freigabe warten

Toast-Benachrichtigungen

Sobald neue Dateländerungen erkannt werden, erscheint automatisch eine Windows-Benachrichtigung:

EngineeringSync
───────────────
Projekt "Linie 3": 2 neue Änderungen

Ein Klick auf die Benachrichtigung öffnet direkt das Fenster „Ausstehende Änderungen".


5. Projekte verwalten

Über Rechtsklick → „Projekte verwalten" öffnet sich das Projektverwaltungs-Fenster.

5.1 Neues Projekt anlegen

  1. Klicken Sie auf „+ Projekt hinzufügen"
  2. Füllen Sie die Felder aus (gleiche Felder wie im Setup-Assistenten)
  3. Bestätigen Sie mit „Speichern"

Der Dienst beginnt sofort mit der Überwachung des neuen Ordners. Ein initialer Scan vergleicht vorhandene Dateien zwischen Engineering- und Simulations-Ordner und erstellt für abweichende Dateien sofort ausstehende Änderungen.

5.2 Projekt bearbeiten

  1. Wählen Sie ein Projekt in der Liste aus
  2. Klicken Sie auf „Bearbeiten" (oder Doppelklick)
  3. Ändern Sie die gewünschten Felder
  4. Bestätigen Sie mit „Speichern"

Hinweis: Nach dem Speichern wird der Dateiwatcher automatisch neu gestartet. Laufende Scans werden abgebrochen und neu begonnen.

5.3 Projekt löschen

  1. Wählen Sie ein Projekt in der Liste aus
  2. Klicken Sie auf „Löschen"
  3. Bestätigen Sie die Sicherheitsfrage

Achtung: Beim Löschen eines Projekts werden auch alle zugehörigen ausstehenden Änderungen und die Datei-Revisionshistorie gelöscht. Die tatsächlichen Dateien auf der Festplatte werden nicht verändert.

5.4 Dateiüberwachung konfigurieren

Aktive / inaktive Projekte

Projekte können vorübergehend deaktiviert werden (z. B. während Wartungsarbeiten). Ein deaktiviertes Projekt erzeugt keine neuen Änderungseinträge.

Dateierweiterungen

Die überwachten Dateitypen können jederzeit angepasst werden. Änderungen wirken sich auf zukünftige Ereignisse aus bestehende ausstehende Änderungen bleiben erhalten.


6. Änderungen überwachen und synchronisieren

6.1 Benachrichtigungen empfangen

EngineeringSync überwacht den Engineering-Ordner in Echtzeit mittels FileSystemWatcher. Folgende Ereignisse werden erfasst:

Ereignistyp Beschreibung
Erstellt Eine neue Datei wurde im Engineering-Ordner abgelegt
Geändert Eine bestehende Datei wurde modifiziert (SHA-256-Prüfung bestätigt tatsächliche Änderung)
Umbenannt Eine Datei wurde umbenannt oder verschoben
Gelöscht Eine Datei wurde aus dem Engineering-Ordner entfernt

Debouncing (Entprellung)

Schnelle aufeinanderfolgende Speichervorgänge (z. B. Autosave alle 5 Sekunden) werden zu einem einzigen Ereignis zusammengefasst. Das Zeitfenster beträgt 2 Sekunden erst nach 2 Sekunden ohne weitere Aktivität auf derselben Datei wird das Ereignis verarbeitet.

SHA-256-Prüfung

Bevor eine Änderung als „ausstehend" eingetragen wird, vergleicht EngineeringSync den SHA-256-Hash der Datei mit dem zuletzt gespeicherten Hash. Nur bei tatsächlich unterschiedlichem Inhalt wird eine neue Änderung erfasst. Das verhindert Falschmeldungen bei Metadaten-Änderungen (z. B. Zeitstempel-Updates).

6.2 Das Fenster „Ausstehende Änderungen"

Öffnen Sie das Fenster über Rechtsklick → „Ausstehende Änderungen" oder per Klick auf eine Toast-Benachrichtigung.

┌─────────────────────────────────────────────────────────────┐
│  Ausstehende Änderungen                                     │
│                                                             │
│  Projekt: [Linie 3  Roboterzelle ▼]                       │
│                                                             │
│  ┌──────────────────────────────────────┬──────┬──────────┐ │
│  │ Datei                                │ Typ  │ Datum    │ │
│  ├──────────────────────────────────────┼──────┼──────────┤ │
│  │ ☑ Roboter\Arm_links.jt               │ Mod. │ 14:30:22 │ │
│  │ ☑ Roboter\Arm_rechts.jt              │ Neu  │ 14:31:05 │ │
│  │ ☐ Basis\Grundplatte.jt               │ Mod. │ 09:15:44 │ │
│  └──────────────────────────────────────┴──────┴──────────┘ │
│                                                             │
│  [Alle wählen]  [Keine]    [✔ Sync]  [✖ Ignorieren]       │
└─────────────────────────────────────────────────────────────┘

Projektauswahl

Falls mehrere Projekte konfiguriert sind, wählen Sie das gewünschte Projekt aus dem Dropdown-Menü. Die Tabelle aktualisiert sich automatisch per SignalR neue Änderungen erscheinen sofort ohne manuelles Neuladen.

Änderungstypen

Symbol Typ Bedeutung
Neu Created Datei existiert noch nicht im Simulations-Ordner
Mod. Modified Datei wurde inhaltlich geändert (anderer SHA-256)
Umbn. Renamed Datei wurde umbenannt (Alter Name wird im Sim-Ordner entfernt)
Gel. Deleted Datei wurde aus dem Engineering-Ordner gelöscht

6.3 Änderungen synchronisieren

  1. Wählen Sie die gewünschten Änderungen per Checkbox aus (oder „Alle wählen")
  2. Klicken Sie auf „✔ Sync"

EngineeringSync verarbeitet jede ausgewählte Änderung:

Bei „Erstellt" oder „Geändert":

1. Backup der bestehenden Simulationsdatei erstellen (falls Backup aktiviert)
2. Zielverzeichnis erstellen (falls nicht vorhanden)
3. Datei aus Engineering-Ordner in Simulations-Ordner kopieren
4. Änderung als "Synchronisiert" markieren

Bei „Gelöscht":

1. Backup der Simulationsdatei erstellen (falls Backup aktiviert)
2. Datei aus Simulations-Ordner entfernen
3. Änderung als "Synchronisiert" markieren

Bei „Umbenannt":

1. Neue Datei unter neuem Namen in Simulations-Ordner kopieren
2. Alte Datei aus Simulations-Ordner entfernen
3. Änderung als "Synchronisiert" markieren

Tipp: Sie müssen nicht auf alle Änderungen gleichzeitig reagieren. Wählen Sie gezielt die Dateien aus, die für die aktuell laufende Simulation relevant sind.

6.4 Änderungen ignorieren

Änderungen, die für die Simulation nicht relevant sind (z. B. temporäre Hilfsdateien, Arbeitsversionen), können ignoriert werden:

  1. Wählen Sie die irrelevanten Änderungen per Checkbox aus
  2. Klicken Sie auf „✖ Ignorieren"

Ignorierte Änderungen werden in der Hauptliste ausgeblendet und in der Historienliste mit dem Status „Ignoriert" gespeichert. Sie haben keinen Einfluss auf den Simulations-Ordner.

6.5 Änderungshistorie

Die Historienliste zeigt die letzten 100 bearbeiteten Änderungen (synchronisiert oder ignoriert) mit Zeitstempel und Bearbeiter-Status. Die Ansicht dient zur Nachvollziehbarkeit: Wann wurde welche Datei zuletzt synchronisiert?


7. Backup-Funktion

Das Backup-System schützt Simulationsdateien vor ungewolltem Überschreiben.

Wann wird ein Backup erstellt?

Ein Backup wird unmittelbar vor dem Überschreiben einer Datei erstellt, also beim Synchronisieren einer „Geändert"-, „Erstellt"- oder „Gelöscht"-Änderung, wenn die Datei bereits im Simulations-Ordner existiert.

Backup-Dateiname

Das Namensschema: {Originalname}_{JJJJMMTT_HHMMSS}.bak

Beispiele:

Roboter_Arm.jt_20260315_143022.bak
Grundplatte.cojt_20260316_091500.bak

Backup-Speicherort

Modus Speicherort
Gleicher Ordner Backup liegt neben der Simulationsdatei
Eigener Ordner Alle Backups in einem zentralen Verzeichnis (Unterordnerstruktur bleibt erhalten)

Aufbewahrungsregel

Bei aktivierter Aufbewahrungsregel (z. B. max. 5 Backups pro Datei) wird nach dem Erstellen des neuen Backups geprüft, ob ältere Backups gelöscht werden müssen. Die Backups werden nach Erstellungsdatum sortiert die ältesten werden zuerst gelöscht.

Backup manuell wiederherstellen

EngineeringSync bietet keine automatische Wiederherstellungsfunktion. Um eine Backup-Datei manuell wiederherzustellen:

  1. Navigieren Sie zum Backup-Speicherort im Windows Explorer
  2. Benennen Sie die .bak-Datei um (entfernen Sie den Zeitstempel und .bak)
  3. Kopieren Sie die Datei an den gewünschten Ort

8. Windows-Dienst verwalten

Der EngineeringSync-Dienst läuft als Windows-Dienst und ist unabhängig von der Tray-App.

Dienst-Status prüfen

Öffnen Sie den Windows Taskmanager (Strg+Umsch+Esc) → Reiter „Dienste", oder:

# PowerShell
Get-Service EngineeringSync

# Ausgabe:
Status   Name               DisplayName
------   ----               -----------
Running  EngineeringSync    EngineeringSync

Dienst manuell steuern

# Dienst starten
Start-Service EngineeringSync

# Dienst stoppen
Stop-Service EngineeringSync

# Dienst neu starten
Restart-Service EngineeringSync

Alternativ über die Windows Dienste-Verwaltung (Win+R → services.msc).

API-Endpunkt

Der Dienst stellt eine lokale REST-API unter http://localhost:5050 bereit. Die Tray-App kommuniziert über diese API. Sie können die API auch direkt im Browser testen:

Endpunkt Beschreibung
GET /api/projects Alle konfigurierten Projekte
GET /api/changes/{projectId} Ausstehende Änderungen eines Projekts
GET /api/changes/{projectId}/history Letzte 100 bearbeitete Änderungen

Hinweis: Der API-Endpunkt ist nur lokal erreichbar (localhost). Er ist nicht durch Authentifizierung gesichert stellen Sie sicher, dass kein unberechtigter Netzwerkzugang besteht.


9. Deinstallation

Über die Windows Einstellungen

  1. Öffnen Sie Einstellungen → Apps → Installierte Apps
  2. Suchen Sie nach „EngineeringSync"
  3. Klicken Sie auf „Deinstallieren"

Manuell

Führen Sie die Setup-Datei mit dem Parameter /uninstall aus:

EngineeringSync-Setup.exe /uninstall

Was wird bei der Deinstallation entfernt?

Element Wird entfernt?
Installationsdateien Ja
Windows-Dienst Ja (wird gestoppt und gelöscht)
Autostart-Eintrag Ja (nur der EngineeringSync-Eintrag)
Desktop-Verknüpfung Ja
Startmenü-Eintrag Ja
SQLite-Datenbank Nein (Konfiguration und Historie bleiben erhalten)
Backup-Dateien Nein
Engineering-/Simulations-Ordner Nein (niemals)

Die SQLite-Datenbank (engineeringsync.db) verbleibt im Installationsordner und kann manuell gelöscht werden.


10. Technische Architektur

Dieser Abschnitt richtet sich an technische Nutzer und Administratoren.

Komponenten

┌─────────────────────────────────────────────────────────────┐
│                    EngineeringSync                          │
│                                                             │
│  ┌──────────────────┐     ┌───────────────────────────┐    │
│  │  TrayApp (WPF)   │◄────│  Service (Worker Service)  │    │
│  │                  │     │                            │    │
│  │  • Tray-Icon     │     │  • FileSystemWatcher       │    │
│  │  • Änderungs-    │     │  • Debounce-Channel        │    │
│  │    fenster       │     │  • SHA-256-Hashing         │    │
│  │  • Projekt-      │     │  • SyncManager             │    │
│  │    verwaltung    │     │  • REST API (Port 5050)    │    │
│  │                  │     │  • SignalR Hub              │    │
│  └────────┬─────────┘     └──────────────┬────────────┘    │
│           │                               │                 │
│           │  HTTP (REST + SignalR)         │                 │
│           └───────────────────────────────┘                 │
│                                                             │
│  ┌────────────────────────────────────────────────────┐     │
│  │              SQLite-Datenbank (WAL-Modus)          │     │
│  │  • ProjectConfig  • FileRevision  • PendingChange  │     │
│  └────────────────────────────────────────────────────┘     │
└─────────────────────────────────────────────────────────────┘

Datenbankschema

ProjectConfig Projektkonfigurationen

Feld Typ Beschreibung
Id GUID Eindeutiger Bezeichner
Name Text Anzeigename des Projekts
EngineeringPath Text Überwachter Quellordner
SimulationPath Text Sync-Zielordner
FileExtensions Text Überwachte Dateitypen (komma-getrennt oder *)
IsActive Bool Überwachung aktiv/inaktiv
BackupEnabled Bool Backup aktiviert
BackupPath Text? Optionaler Backup-Pfad
MaxBackupsPerFile Int Max. Backups pro Datei (0 = unbegrenzt)

FileRevision Zuletzt bekannte Dateiversion

Feld Typ Beschreibung
Id GUID Eindeutiger Bezeichner
ProjectId GUID Verweis auf Projekt
RelativePath Text Relativer Dateipfad
FileHash Text SHA-256-Hash des Dateiinhalts
Size Long Dateigröße in Bytes
LastModified DateTime Letzte Änderungszeit

PendingChange Ausstehende oder bearbeitete Änderungen

Feld Typ Beschreibung
Id GUID Eindeutiger Bezeichner
ProjectId GUID Verweis auf Projekt
RelativePath Text Relativer Dateipfad
ChangeType Enum Created / Modified / Renamed / Deleted
OldRelativePath Text? Alter Pfad (nur bei Renamed)
Status Enum Pending / Synced / Ignored
CreatedAt DateTime Zeitpunkt der Erkennung
SyncedAt DateTime? Zeitpunkt der Bearbeitung

Kommunikation (SignalR)

Die Tray-App empfängt Echtzeit-Benachrichtigungen über SignalR (WebSockets):

Methode Parameter Auslöser
ReceiveChangeNotification projectId, projectName, count Neue ausstehende Änderungen erkannt
ProjectConfigChanged Projekt wurde erstellt, geändert oder gelöscht

Datenbankdatei

%ProgramFiles%\EngineeringSync\engineeringsync.db

Die Datenbank läuft im WAL-Modus (Write-Ahead Logging), was gleichzeitige Lese- und Schreibzugriffe ohne Sperren ermöglicht.


11. Fehlerbehebung & FAQ

Die Tray-App zeigt „Dienst nicht erreichbar"

Ursache: Der EngineeringSync-Dienst läuft nicht oder Port 5050 ist belegt.

Lösung:

  1. Prüfen Sie den Dienst-Status: Get-Service EngineeringSync
  2. Starten Sie den Dienst: Start-Service EngineeringSync
  3. Falls Port 5050 belegt ist: netstat -ano | findstr :5050

Änderungen werden nicht erkannt

Mögliche Ursachen und Lösungen:

Ursache Lösung
Projekt ist inaktiv In Projektverwaltung das Projekt aktivieren
Falsche Dateierweiterung konfiguriert Erweiterungen prüfen oder „Alle Dateitypen" wählen
Engineering-Pfad nicht erreichbar Pfad im Explorer prüfen, Netzlaufwerk verbunden?
Dienst gestoppt Start-Service EngineeringSync

Sehr viele Änderungen auf einmal (z. B. nach Bulk-Copy)

Bei vielen gleichzeitigen Dateiereignissen kann der interne Event-Puffer des Datei-Watchers überlaufen. EngineeringSync startet in diesem Fall automatisch einen vollständigen Re-Scan des Engineering-Ordners. Dieser Vorgang kann bei großen Ordnern mehrere Minuten dauern.


Eine Datei ist gesperrt und wird nicht synchronisiert

CAD-Anwendungen sperren Dateien während der Bearbeitung exklusiv. EngineeringSync versucht beim Erkennen einer gesperrten Datei automatisch bis zu 3 Wiederholungen mit zunehmendem Warteintervall (2s, 4s, 6s). Wenn die Datei nach allen Versuchen noch gesperrt ist, wird das Ereignis in den Logs vermerkt und beim nächsten periodischen Scan erneut versucht.

Empfehlung: Synchronisieren Sie Dateien erst, wenn die CAD-Anwendung die Datei freigegeben hat (Datei geschlossen oder gespeichert).


Wo liegen die Log-Dateien?

%ProgramFiles%\EngineeringSync\logs\

Oder im Windows Ereignisprotokoll unter: Ereignisanzeige → Windows-Protokolle → Anwendung (Quelle: EngineeringSync)


Kann ich mehrere Engineering-Ordner mit einem Simulations-Ordner verbinden?

Ja legen Sie pro Engineering-Ordner ein eigenes Projekt an. Mehrere Projekte können auf denselben Simulations-Ordner zeigen, solange sich die relativen Pfade nicht überschneiden.


Was passiert, wenn ich eine Datei im Simulations-Ordner manuell bearbeite?

EngineeringSync überwacht nur den Engineering-Quellordner. Änderungen im Simulations-Ordner werden nicht erfasst. Bei der nächsten Synchronisation einer entsprechenden Datei wird die manuell bearbeitete Version im Simulations-Ordner durch ein Backup gesichert und dann überschrieben.


Wie hoch ist der Ressourcenverbrauch des Dienstes?

Im Normalbetrieb (Überwachung aktiv, keine Aktivität):

  • CPU: < 0,1 %
  • RAM: ca. 5080 MB

Bei einem vollständigen Re-Scan großer Ordner (>10.000 Dateien) kann die CPU-Last kurzzeitig auf 1020 % steigen.


Kann ich die Datenbank auf einem Netzlaufwerk ablegen?

Nein. Die SQLite-Datenbank muss auf einem lokalen Laufwerk liegen. SQLite und Netzlaufwerke sind nicht kompatibel (Sperr-Mechanismus funktioniert über SMB nicht zuverlässig).


Dieses Handbuch bezieht sich auf EngineeringSync Version 1.0.0. Für Fragen und Support wenden Sie sich an den Projektverantwortlichen.