# EngineeringSync – Benutzerhandbuch **Version 1.0.0** | Stand: März 2026 --- ## Inhaltsverzeichnis 1. [Einführung](#1-einführung) 2. [Systemvoraussetzungen](#2-systemvoraussetzungen) 3. [Installation](#3-installation) - 3.1 [Setup-Assistent starten](#31-setup-assistent-starten) - 3.2 [Schritt: Willkommen](#32-schritt-willkommen) - 3.3 [Schritt: Installation](#33-schritt-installation) - 3.4 [Schritt: Erstes Projekt konfigurieren](#34-schritt-erstes-projekt-konfigurieren) - 3.5 [Schritt: Backup-Einstellungen](#35-schritt-backup-einstellungen) - 3.6 [Schritt: Start- und Verknüpfungs-Optionen](#36-schritt-start--und-verknüpfungs-optionen) - 3.7 [Schritt: Zusammenfassung & Installation](#37-schritt-zusammenfassung--installation) - 3.8 [Schritt: Fertig](#38-schritt-fertig) 4. [Die Tray-App im Überblick](#4-die-tray-app-im-überblick) 5. [Projekte verwalten](#5-projekte-verwalten) - 5.1 [Neues Projekt anlegen](#51-neues-projekt-anlegen) - 5.2 [Projekt bearbeiten](#52-projekt-bearbeiten) - 5.3 [Projekt löschen](#53-projekt-löschen) - 5.4 [Dateiüberwachung konfigurieren](#54-dateiüberwachung-konfigurieren) 6. [Änderungen überwachen und synchronisieren](#6-änderungen-überwachen-und-synchronisieren) - 6.1 [Benachrichtigungen empfangen](#61-benachrichtigungen-empfangen) - 6.2 [Das Fenster „Ausstehende Änderungen"](#62-das-fenster-ausstehende-änderungen) - 6.3 [Änderungen synchronisieren](#63-änderungen-synchronisieren) - 6.4 [Änderungen ignorieren](#64-änderungen-ignorieren) - 6.5 [Änderungshistorie](#65-änderungshistorie) 7. [Backup-Funktion](#7-backup-funktion) 8. [Windows-Dienst verwalten](#8-windows-dienst-verwalten) 9. [Deinstallation](#9-deinstallation) 10. [Technische Architektur](#10-technische-architektur) 11. [Fehlerbehebung & FAQ](#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 # PowerShell Get-Service EngineeringSync # Ausgabe: Status Name DisplayName ------ ---- ----------- Running EngineeringSync EngineeringSync ``` ### Dienst manuell steuern ```powershell # 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: ```cmd 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. 50–80 MB Bei einem vollständigen Re-Scan großer Ordner (>10.000 Dateien) kann die CPU-Last kurzzeitig auf 10–20 % 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.*