pydio / pydio-sync-java

[DEPRECATED] Synchronization Client of the Pydio project. Based on the Java SDK.
GNU General Public License v3.0
35 stars 15 forks source link

[deprecated, please switch to the python-based client for pydio 6 and later]

Pydio Java Sync

This application is a Java-based desktop tool that will allow you to seemlessly synchronize the content of a local folder to a remote Pydio repository. See http://pyd.io/ for more info about the core project. You can configure many synchronization tasks between various repositories of various ajaxplorer instances, to be synced to different folders on your computer.

Network latency is reduced by using librsync on both end. Thus you MUST install the php_rsync extension on your server, along with the meta.filehasher plugin (see below). On the client computer, you must install a Java Runtime Environnment 1.6 or higher.

Please be aware that the application is not yet considered totally stable, thus you should really backup your data on a regular basis in case something went wrong! But still try to use it on a "real-life" set of data to have a good overview of how the client handles with high volumes of data and frequently changing.

Server requirements : AjaXplorer v4.2.0+ & PHP rsync extension / Pydio 5.X

To get a low bandwith consumption, you should enable the use of the rsync algorithm on the server. This is done by installating the PECL Rsync extension (http://pecl.php.net/package/rsync), that interfaces PHP with the librsync functions (namely rdiff and all its declinaisons). See below for further instructions for Debian 6, CentOS 5 and CentOS 6. Please report if you could successfully compile it on other distributions. Windows Server users, we will add some link to rdiff.exe , but it's not done yet.

Once this is installed, make sure that the repository has the "Meta Source" meta.filehasher enabled.

This extension will probably made optional in the next release, but it is not automatically advertised by the server yet, so the client consider it as active.

Client installation

Installers Downloads will be made available on Sourceforge, please go to https://sourceforge.net/projects/ajaxplorer/files/

Select the appropriate installer it should install everything needed on your computer :

Java Runtime Environnement must be at least 1.6 ( = "Java 6"), see http://java.com/ The Windows installer is based on a test version of Advanced Installer, thus it will trigger an alarm on install and uninstall, you can safely ignore this.

Installing from night builds

The JAR's are built everynight, if you are invited by a team member to update them, you must first have the application originally installed with the installer, be it on Windows or Mac. Then you will find the correct package corresponding to your platform OS on http://ajaxplorer.info/download/ (tab "Nightly Builds", section "Synchro Client Package"), download and unzip the content somewhere.

Now in both cases, backup the PydioSync.jar and PydioSync_lib folder, and replace them by the content of the zip. The new JAR will be named something like pydio-sync-X.Y.Z-SNAPSHOT.jar, rename it to PydioSync.jar. The folder should already have the right name. That's it.

Configuring the client

At first start, the client will open a dialog for creating a synchronization task. Fill in the form with the current values :

External Librarie used

Rsync & Rdiff

The network delta minimisation relies on the Librsync project (LGPL), the source can be found on Sourceforge : https://sourceforge.net/projects/librsync/

Quartz Scheduler

See http://quartz-scheduler.org/

Installing Rsync Extension

Install Rsync on Debian 6

Install librsync

apt-get install librsync-dev

Install compilation tools

apt-get install php5-dev apt-get install make

Install PECL Rsync extension

pecl install channel://pecl.php.net/rsync-0.1.0

Add extension=rsync.so in PHP.INI Restart Apache

Install Rsync on CentOS6

Install librsync

yum install librsync-devel

Compilation tools

yum install php-devel yum install php-pear (to have pecl installed) yum install gcc

Install PECL Rsync extension

pecl install channel://pecl.php.net/rsync-0.1.0

Add extension=rsync.so in PHP.INI Restart Apache

Install Rsync on CentOS5

We have to upgrade PHP to a more recent version than default CentOS (5.1.6) To do this,

yum remove php php-*

Then

yum install php53 php53-cli php53-devel php53-gd php53-mbstring php53-mysql php53-pdo php53-xml php53-xmlrpc php-pear

Install librsync

Add RPMForge to your repositories :

Download the correct RPM from http://repoforge.org/use/ Then install it with rpm -Uvh rpmforge.blabla.rpm Now you should be able to install librsync-devel

yum install librsync-devel

Compilation tools

yum install gcc

Install PECL Rsync extension

pecl install channel://pecl.php.net/rsync-0.1.0

Add extension=rsync.so in PHP.INI Restart Apache

Contributing

Please sign the Contributor License Agreement before contributing.