Standortsynchronisation

Um zwei oder mehrere Standorte zeitnah synchron zu halten verfügt speedy/PDM über einen leistungsfähigen Dienst, der geänderte Dateien sofort mit den jeweilig anderen Standorten synchronisiert.

  • Beim Ablegen, Freigeben und Entnehmen erfolgt eine Ereignisüberwachung.
  • Vor dem Ablegen wird ein Sperrvermerk inkl. des Standorts am Dokument vermerkt.
  • Nach dem Ablegen werden die geänderten Dateien in eine Synchronisationsliste eingetragen. Die Synchronisation wird von einem zentralen Synchronisationsserver durchgeführt der die Dateien zum jeweils anderen Standort überträgt.
  • Wird ein Dokument oder eine einzelne Datei eines Dokuments gelöscht wird diese ebenfalls in die Synchronisationsliste eingetragen und am jeweils anderen Standort gelöscht.
  • Nach dem Synchronisieren wird der Sperrvermerk entfernt.
  • Möchte ein Anwender ein Dokument öffnen auf dem ein Sperrvermerk liegt erfolgt eine Hinweismeldung.
  • Der Administrator kann über die Anwendungsoberfläche den Sperrvermerk manuell aufheben.
  • In der Dokumentenliste wird der Sperrvermerk visuell durch ein zusätzliches Statussymbol dargestellt.
  • Die Standortkennung für den Synchronisationsmechanismus erfolgt in der standortspezifischen Konfigurationsdatei dwKernel.ini.

Ein zentraler Synchronisationsserver übernimmt die gesamte Synchronisationsarbeit.

  • Der Synchronisationsserver wird als Windows Dienst ausgeführt.
  • Der Dienst sollte auf dem Datenbankserver installiert sein und dort ausgeführt werden.
  • In der Datenbank werden die zu synchronisierenden Dokumente in einer separaten Synchronisationstabelle aufgelistet.
  • Der Dienst überwacht die Synchronisationstabelle und arbeitet die Einträge der Reihe nach ab.
  • Zur Synchronisation startet der Synchronisationsserver einen externen Befehl und wartet auf die Beendigung.
  • Der externe Befehl kann eine Befehlsdatei (Batchdatei) sein, die administrativ angepasst werden kann.
  • Nach Beendigung der Synchronisation wird das Dokument aus der Synchronisationstabelle gelöscht. Damit ist der Sperrvermerk am Dokument wird entfernt.

Benutzerschnittstelle

Für den normalen Anwender stehen keine zusätzlichen Befehle zur Verfügung. Die Synchronisation geschieht im Hintergrund. Lediglich der Synchronisationsstatus wird anhand eines Symbols dargestellt.
Ist ein Dokument zur Synchronisation mit einem Sperrvermerk versehen sieht der Anwender ein zusätzliches Statussymbol.

Standort an dem das Dokument verändert wurde:
speedy7_sync_pic1.jpg

Das Dokument kann weiter bearbeitet werden. Das Symbol dient nur als Hinweis.

Alle anderen Standorte:
speedy7_sync_pic2.jpg

Das Dokument kann nicht bearbeitet werden. Beim entnehmen erhält der Anwender eine entsprechende Hinweismeldung.

Sperrvermerk löschen

Der Administrator bzw. alle berechtigten Anwendergruppen können den Sperrvermerk eines oder mehrerer Dokumente löschen.
Markieren Sie alle Dokumente deren Sperrvermerk gelöscht werden soll.
Im Kontextmenü der Dokumente wählen Sie den Befehl „Sperrvermerk löschen“. Nach einer Sicherheitsabfrage werden die Sperrvermerke gelöscht. Die Dokumente werden anschließend nicht synchronisiert.

speedy7_sync_pic3.jpg

Installation

Lieferumfang

DateiBeschreibung
syncServer.exeSynchronisationsserver
syncServer.xmlKonfigurationsdatei für Synchronisationsserver
synccopy.cmdExterne Befehlsdatei. Wird vom Synchronisationsserver aufgerufen, um die Dateien zu kopieren.
syncdel.cmdExterne Befehlsdatei. Wird vom Synchronisationsserver aufgerufen, um die Dateien zu löschen.
upd_sync.sqlSQL-Scripts zur Aktualisierung der Datenbank.
speedy_sync.docDokumentation

Datenbank

Das beigefügte SQL-Script (upd_sync.sql) muss in die Datenbank eingespielt werden.
Die zur Synchronisation benötigten Tabellen werden erstellt. Ein neues Gruppenrecht wird angelegt. Das neue Recht steuert, ob der Sperrvermerk manuell aufgehoben werden darf.

Synchronisationsserver

Ein zentraler Synchronisationsserver übernimmt die gesamte Synchronisationsarbeit. Der Synchronisationsserver ist als NT-Dienst ausgelegt.
Der Dienst sollte auf dem Datenbankserver in Amberg installiert sein und dort ausgeführt werden.
Wird der Synchronisationsserver-Dienst auf einem anderen Rechner ausgeführt muss darauf geachtet werden, dass eine Datenverbindung möglich ist. Eventuell muss der MySQL-ODBC-Treiber installiert werden.

Installation

Kopieren Sie den Synchronisationsserver syncServer.exe sowie die Konfigurationsdatei syncServer.xml in ein beliebiges Verzeichnis auf dem Server auf dem der Dienst ausgeführt werden soll.

Dienst registrieren:
syncServer.exe /Service
In der Dienste Kontrolle sollten nach der Installation die Einstellungen kontrolliert werden und evtl. der Dienst mit den nötigen Rechten versehen bzw. auf automatisches Starten eingestellt werden.

Dienst entfernen:
syncServer.exe /UnregServer

Konfiguration

Standorte

Die Standorte werden in der Tabelle [sync_locations] beschrieben.
Jeder Standort erhält eine Identifikationsnummer, die zur weiteren Identifikation und Konfiguration verwendet wird, einen Namen und ein Basisverzeichnis.
Das Basisverzeichnis des Standortes definiert die Dateiablage des jeweiligen Standortes. Die weitere Unterstruktur muss an allen Standorten identisch sein.

location_idlocation_namelocation_basedirlocation_path
1WesterheimT:\vault\\srv1\PDM
2StuttgartT:\vault\\srv2\PDM
3New YorkT:\vault\\srv3\PDM

location_basedir
Definiert das für den Standort definierte Basisverzeichnis für die Datenablage. Dies kann z.B. ein verknüpftes Laufwerk sein oder per DFS bereitgestelltes Verzeichnis. Diese Verzeichnisangabe ist diejenige, die am jeweiligen Standort gesehen wird und somit vom jeweiligen Standort in die Synchronisationstabelle eingetragen wird.

location_path
Definiert den UNC-Namen des jeweiligen Ablageservers. Dieser Verzeichnisangabe muss für den Synchronisationsserver erreichbar sein.

In der standortabhängigen dwKernel.ini wird die jeweilige Standortidentifikationsnummer eintragen.

[SYNCHRONIZE]
Location = <Identifikationsnummer>

Administrative Einstellungen

SchlüsselBeschreibung
synchronize.activeSynchronisation aktiviert / deaktiviert
0:= deaktiviert
1:= aktiv
synchronize.typeSynchronisationstyp

Synchronisationstyp

Der Synchronisationstyp beschreibt welche Dateien eines geänderten Dokuments in der Synchronisationstabelle eingetragen werden und vom Synchronisationsserver abgearbeitet werden.

WertBeschreibung
0Nur ein Dateiname eines Dokuments wird in die Synchronisationstabelle eingetragen.
Der Kopiermechanismus des Synchronisationsservers synchronisiert alle Dateien des Dokuments automatisch.
Diese Option ist optimal für einen Kopiermechanismus auf Basis von robocopy.
[standard]
1Alle Dateien des Dokuments werden in die Synchronisationstabelle eingetragen. Der Synchronisationsserver kopiert jede Datei einzeln.
2Alle geänderten Dateien werden in die Synchronisationstabelle eingetragen. Der Synchronisationsserver kopiert jede Datei einzeln.

Synchronisationsserver

Der Synchronisationsserver wird mit Hilfe der Konfigurationsdatei syncServer.xml im XML-Format konfiguriert

<?xml version="1.0" encoding="utf-8"?>
<speedy>
	<syncserver>
		<logpath>.\log</logpath>
		<loglevel>3</loglevel>
		<connection>DRIVER={MySQL ODBC 5.1 Driver}; SERVER=SRV1; DATABASE=speedy7; UID=speedy; PWD=***; OPTION=2051;
		</connection>
		<command-copy>synccopy.cmd</ command-copy>
		<command-delete>syncdel.cmd</ command-delete>
	</syncserver>
</speedy>
AttributBeschreibung
<logpath>Pfad indem die Protokolldateien abgelegt wer-den. Die Pfadangabe kann relativ oder absolut erfolgen.
<loglevel>Definiert den Schwellwert für die Protokol-lierung. Je geringer der Wert umso mehr wird protokolliert.
0:= Alle Meldungen werden in die Protokoll-datei geschrieben.
1:= Debugmeldungen werden protokolliert.
2:= Infomeldungen werden protokolliert.
4:= Warnungen werden protokolliert.
8:= Fehler werden protokolliert.
16:= Grobe Fehler werden protokolliert.
<connection>Beschreibt die Datenbankverbindung.
<command-copy>Externe Befehlsdatei.
Der externe Befehl wird mit der Übergabe von 3 Argumenten gestartet.
z.B.:
synccopy.cmd “quellpfad“ “zielpfad“ “datei“
<command-delete>Externe Befehlsdatei.
Der externe Befehl wird mit der Übergabe von 3 Argumenten gestartet.
z.B.:
syncdel.cmd “quellpfad“ “zielpfad“ “datei“