EDrive ist ein Sync-Server, der mittels CMIS Alfresco-Repositories mit einem lokalen Desktop-PC synchronisieren kann. Siehe http://sourceforge.net/projects/eoss-edrive/?source=directory
Mittlerweile hat sich aber herausgestellt, dass der Entwickler von eDrive die Entwicklung nicht fortsetzt. Auch hat eDrive einige schwächen wenn es um die Synchronisation auf mehrere verschiedene Endgeräte geht. EDrive eignet sich nach meinen gemachten Erfahrungen lediglich dazu, das Alfresco-Repository auf EIN Endgerät zu synchronisieren.
Installation und Konfiguration von eDrive
- eDrive herunterladen http://sourceforge.net/projects/eoss-edrive/?source=directory
- Zip entpacken und an die gewünschte Installations-Stelle verschieben
-
../bin
beinhaltet die Start-Scripts für Windows und Linux
-
../config
beinhaltet alle konfig-Files inkl. Dokumentation
-
../lib
beinhaltet alle java-klassen
Konfiguration
Als erstes muss eDrive konfiguriert werden. Dazu editieren wir die Datei
../config/eDrive.pass
einen Passphrase erfassen
../config/eDrive.json
Die genauen Konfigurations-Möglichkeiten bitte dem readme entnehmen
Beispiel:
Hier werden zwei Verzeichnisse des Alfresco-Repositories Bi-Direktional gesyncht.
- „/Benutzer-Homes/user/folder“ nach „D:/sync“
- „/Sites/office/documentLibrary/Transfer“ nach „D:/transfer“
{ "edrive": [ { "unfilingSupported": false, "repositoryRoot": "\\Benutzer-Homes\\user\\folder", "repositoryPassword": "passwort", "outboundSyncSeconds": 20, "syncDirection": "BI_DIRECTIONAL", "repositoryUrl": "http://server.ch/alfresco/cmisws", "repositoryId":"564e78b1-5c15-14b8-513s-12354f1567s4", "repositoryUserName": "ralph", "paths": [ { "syncing": true, "path": "" } ], "ignorePatterns": [ {"base64":"LipbXFxcL11cLnN2bltcXFwvXS4q"}, {"base64":"LipbXFxcL11cLnN2bg=="} ], "name": "My Sync", "fileSystemRoot": "D:\\sync", } { "unfilingSupported": false, "repositoryRoot": "\\Sites\\office\\documentLibrary\\Transfer", "repositoryPassword": "passwort", "outboundSyncSeconds": 20, "syncDirection": "BI_DIRECTIONAL", "repositoryUrl": "http://server.ch/alfresco/cmisws", "repositoryId":"564e78b1-5c15-14b8-513s-12354f1567s4", "repositoryUserName": "user", "paths": [ { "syncing": true, "path": "" } ], "ignorePatterns": [ {"base64":"LipbXFxcL11cLnN2bltcXFwvXS4q"}, {"base64":"LipbXFxcL11cLnN2bg=="} ], "name": "My Transfer", "fileSystemRoot": "D:\\transfer", } ] }
Start
Wenn eDrive installiert und konfiguriert ist, kann diese über
../bin/edrive.bat
gestartet werden.
Installation Windows Service
Damit eDrive bei jedem Windows-Start gleich mit gestatet wird, muss eDrive als Service installiert werden. Dazu verwende ich Apache Commons Deamon. Commons Deamon liefert einen Wrapper, der beim Windows-Start ein Java-Programm ausführen kann. Dazu muss der Wrapper als Service installiert werden:
- Download Apache Commons Deamon: http://commons.apache.org/proper/commons-daemon/download_daemon.cgi
- Entpacken und prunsrv.exe in das Installationsverzeichnis von eDrive
../bin
kopieren
- in ../bin eine weitere bat-Datei „RegisterService“ erstellen und mit folgendem befüllen
prunsrv.exe //IS//eDrive --Install="C:\pfad\prunsrv.exe" --Jvm=auto --Startup=auto --StartMode=jvm --Classpath="./;../lib/*;../config" --StartClass=com.eossonline.edrive.service.EDrive --JvmOptions=-javaagent:../lib/aspectjweaver-1.7.2.jar ++JvmOptions=-Dorg.slf4j.simpleLogger.defaultLogLevel=debug ++JvmOptions=-Dedrive.config.file=../config/eDrive.json ++JvmOptions=-Dedrive.server.port=4444 ++JvmOptions=-Dedrive.passphrase.file=../config/eDrive.pass ++JvmOptions=-Dedrive.multicast.ip=224.0.0.1 ++JvmOptions=-Dedrive.multicast.port=4445 --DisplayName="eDriveService"
- Das ausführen der Bat-Datei registriert eDrive als Service (eDriveService) und ist ab sofort unter „Dienste“ verfügbar.
- Unter ../bin eine weitere bat-Datei „UnRegisterService“ und mit folgenden Inhalt befüllen:
prunsrv.exe //DS//eDrive
- Dies meldet den Service unter den Windows-Diensten wieder ab.
Installation Linux Deamon
- Start-Script für init.d erstellen:
#!/bin/sh # $Id: $ # /etc/init.d/edrive: start edrive and stop edrive set -e # include init functions so we can use functions like # log_daemon_msg to output messages instead of echo . /lib/lsb/init-functions # Date NOW=$(date +"%Y-%m-%d") # Logfile LOGFILE="edrive-$NOW.log" # start method start_edrive() { log_daemon_msg “Starting edrive…“ cd /home/ralwet/myPrograms/edrive-0.1.3/bin # ./edrive.sh >> /home/ralwet/myPrograms/edrive-0.1.3/$LOGFILE ./edrive.sh return } # stop method stop_edrive() { log_daemon_msg “Stopping edrive…“ jps -l | grep com.eossonline.edrive.service.EDrive | cut -d ' ' -f 1 | xargs -rn1 kill return } # now let run the functions case "$1" in start) start_edrive ;; stop) stop_edrive ;; restart) stop_edrive sleep 10 start_edrive ;; *) log_daemon_msg “Usage:{start|stop|restart}“ exit 1 ;; esac exit 0
- Mit Ausführ-Rechten nach
/etc/init.d/edrive
kopieren
- Deamon mit
sudo update-rc.d edrive defaults
registrieren.