Print this page

Zendemic Sync README




Zendemic Sync README
http://zendemic.net


WHAT IT IS
----------

Zendemic Sync is a file synchronization application that runs on the Zendemic network platform.

It allows you to backup a folder tree to one or more Zendemic Sync installations or it can be used to share updates back and forth between one or more Zendemic Sync installations.

You can share the contents of a directory with one group while only allowing updates to the same directory from a different group.

The sharing options are flexible and easily configurable from the Zendemic Sync console web page.

One example use of Zendemic Sync would be to synchronize a folder of pictures taken on a smart phone with another folder on another smart phone.  So if a picture was taken by one member of a family or group of friends it could be easily shared
without having to upload it to a 3rd party service where ownership of the photo may change.  Zendemic Sync allows you to transfer files between any two end points without needing anything but access to the Zendemic network.

Another example use would be to use it for an off-site backup of important personal files.  You and a friend can set up one or more share groups such that any files you place in the share folder will be backed up to your friend's computer and
any files they want to back up will be backed up to yours.


REQUIREMENTS
------------

As Zendemic Sync is a java application it will not work without an installation of java.  Java 1.6 or later is required.

Zendemic Sync is a Zendemic application and thus requires a running installation of Zendemic to work.

There is an Android version of Zendemic Sync available as well. Please go visit http://zendemic.net for more information.


INSTALL
-------

The installation file is provided as a zip file. There is no special installation procedure other than extracting the installation zip file into the base zendemic folder.

If you have not installed Zendemic yet, please go to http://zendemic.net and download the Zendemic install zip file and create a folder for the installation and extract the zip file there.  That directory is the "base zendemic folder" into
which all Zendemic application install zip files should be extracted to.

Please read the README_ZENDEMIC.TXT file from the Zendemic installation zip file for more detail on how to install and configure Zendemic.


RUNNING
-------

The Zendemic Sync application can run in two modes, synchronize-only mode and console mode.  There are two scripts provided to start the application in each of these modes for both the windows and unix platforms.

To start Zendemic Sync in console mode, run the following script:

run_zendemic_sync_console.bat  (windows)

run_zendemic_sync_console.sh   (unix)


To start Zendemic Sync in synchronize-only mode, run the follow script:

run_zendemic_sync.bat  (windows)

run_zendemic_sync.sh   (unix)


An automatic repeating synchronization schedule can be set up with your operating system's built in scheduling tools.

Windows users can use "Schedule Tasks" from the control panel, unix users can use cron or any of its variants.

The scheduling system should be used to run the synchronize-only mode script, and only after Zendemic Sync has been configured via the console.



FOLDER STRUCTURE
----------------

Zendemic Sync will not work if it is not installed in the base zendemic folder. It needs to be able to find the Zendemic server configuration to function.

The installation (extracting the zip file) will create a zensync subfolder in the base zendemic folder, and after it has been configured, it will create a folder called zensyncshare in the zensync folder.  Although this can be configured to be
anywhere, the default functionality is to keep everything relating to Zendemic together.



HOW TO USE ZENDEMIC SYNC
------------------------

Before you can synchronize or share files, you must configure Zendemic Sync with a few settings defining what you want to synchronize with who.

After you run the Zendemic Sync console script, you will be presented with a web page that allows you to configure everything you need to, to synchronize files over the Zendemic network.

When you first run the console and nothing has been configured, your options are limited, so here's an example flow of how you go about setting up Zendemic Sync for the first time.

The basic idea of a "share" or "share group" is that there is a group name, a group password, and a folder associated together to define the files that will be shared.

So if you wanted to share pictures with your family, you could create a group name "john_smiths_family_pictures" assign it a unique password, and select a folder where all the files will be put that are going to be shared.  Similarly, anybody
in your family who wanted to receive these pictures would create a group name with the same name and same password.

A share group is similar in concept (but is not the same thing as) a Zendemic network zone.  A zone determines the other nodes or computers on the network that your Zendemic node will communicate with.  Similarly a share group determines which
other Zendemic Sync installations will be able to share with you.

One important difference is that while all you have to do to participate in a zone is to add the zone name to your zone list, to share files with others in your share group, they must know the group name and the group password.  Keep the
password secret only with the people you want to share with.  If anybody else can find out the share group name and password, they will be able to share with you.

It is possible to have many people using the same "john_smiths_family_pictures" group name but only the installations where the passwords match will be able to share files between them.

In addition, you can only share with other nodes that are in at least one of the zones your Zendemic server is configured to participate in.  If your Zendemic server can not connect to another node because you don't share a common zone with
them, then Zendemic Sync will never be able to find them to share files.

Zones define the universe of nodes that you can communicate with, and share groups define which nodes specifically you share which files with.

Now with the above understanding, the options on the configuration screen should be understandable.

The "Main share folder" field tells you the root folder where all the Zendemic Sync share folders will be placed.  By default it will be in a subfolder called zensync/zensyncshare from the base zendemic folder that you installed Zendemic Sync
into.

You can change this to any folder you like, but keep in mind that all sharing configuration is based on this folder location.  If you change the main share folder you will have to reconfigure all of your share folders.  This will be explained
in more detail below.

Each share group will have a name, a password, and one share folder that is located in the Main share folder.  More than one group can use the same folder, but one group can not share more than one top level folder.  Sharing can be done with as
many subfolders of the top level share folder as you like.  This is why it can be useful to have two groups use the same top level share folder.  One group can share subfolder Alpha under a top level share folder and another group can share
subfolder Beta under the same top level share folder, but they both would have the same top level share folder.

"Create a new folder under main share folder" allows you to create a new folder that can be used as a top level folder for a share group.  You can not create any share groups until you have created at least one folder under the main share
folder.

Let's assume you create a folder called "pictures". After clicking "Create folder" another set of options will be available on the console screen, you will now be able to create a new share group.

Enter in a group name ("john_smiths_family_pictures" for example) and a group password and for the share folder, select "pictures/" from the drop down list.  Max storage capacity defines the number of megabytes that this share group can
synchronize.  This is to keep others from filling up your hard drive by sharing lots and lots of data with you.

Group names are limited to 60 characters in length and have the same character restrictions as zone names which are a-z, 0-9, hyphen -, underscore _ and period.

Once you click "Create new share group", the group will be defined and from that point on Zendemic Sync will be able to synchronize files in the "pictures" directory for the "john_smiths_family_pictures" group.

Now that you have a share group defined, the console will display the share group and its current settings.  There is only one more step required to configure the share group so that you can start sharing files in the pictures/ folder.

Zendemic Sync allows you to share files out to other nodes, or accept files in from other nodes, or both.  You must select which function you want to enable for each share folder, and any subfolders it may have.  By default, all selections are
off and nothing will be shared.

If you select only "Synchronize in" (click the bracketed area < >) then no files from this folder will be sent to anybody, files will only be received from others in the share group who have Synchronize out selected.

If you select only "Synchronize out" (click the bracketed area < >) then files from this folder will be sent to other nodes (that have "synchronize in" checked) but no files will be accepted from anybody.

If you select both, then files are sent both ways during synchronization. If there is a conflict (both sides have a file with the same name, but they're different files) the file with the newer time stamp will win, and the side that has the
older file will have their file replaced.

Make your synchronization check mark selections and click "Update Sync In/Out And Folder Selections" and then the share group will be completely configured and ready to be used for sharing.

There is one more option of interest under Synchronization Settings named "Accept new folders."

If you select "yes" for this option, then if somebody with the same share group has created subfolders under the top level share folder (for example pictures/kids) then that folder will automatically be created in your share folder and all
files in that new folder will be synchronized.

If you select "no" then only folders that you have created will have their files synchronized.  No new folders will automatically be created.

Now you can press the "Begin Synchronization" button to synchronize files in your share group folders.

Alternatively you can run the run_zendemic_sync script to perform synchronization.


DELETING SHARED FILES
---------------------

If you were to delete a file in a shared folder and then run Zendemic Sync what would happen is that any node you connected to in your share group that still had that file would then send you a copy of the file (assuming you had synchronize in
selected) since you appeared to be out of date and didn't have it..  This makes it very difficult to remove files from a share directory without having them reappear again.  If even one person has a copy of the file, everybody else would
eventually get it again.  The only way to actually delete a shared file would be to have everybody in the share group delete it at the same time, which is obviously difficult to coordinate.

The solution is to create a file with the same name as the file you want to delete, with a suffix of ".deleteme"

So for example if you wanted to delete a file called "picture_of_john.jpg" you would create a file called "picture_of_john.jpg.deleteme" and then run Zendemic Sync.  What happens is that the ".deleteme" file gets propagated to all of the other
nodes in the share group and then after two days at the next run of Zendemic Sync both the
.deleteme marker and the original file will be deleted. The two day wait time is to
give the .deleteme marker file time to propagate to other nodes.


CONTACT INFORMATION
-------------------

http://zendemic.net will be updated with information as it becomes available. If you have a question or comment email info@zendemic.net



Previous page: Zendemic Sync
Next page: Zendemic Messaging