FinchSync
A Sync-Solution for the Mozilla Suite
Documentation

Requirements | Server | Client | Sync Guide

Server Setup

The PC side of FinchSync acts as server, waiting for a client (the Pocket PC) to connect and start the synchronization process.

Software Installation

The server-application is written in Java and provided as 'executable' jar-archive. It takes just three steps to install the server on your PC:

  1. Create a directory 'FinchSync' (or what name you like) on your hard drive.
  2. Download the jar-archive 'FinchSync.jar' from the download area.
  3. Store the file in the created directory.

That's all. No registry entries, no DLLs spread over your system.

To start the server from a command-shell, open the shell (or so called 'DOS-box' on Windows systems), change to the 'FinchSync' directory and start the server using the following command:

'java -jar FinchSync.jar'.

As for Windows and OS X Systems, just browse to the directory and double-click the jar-file.

After start, FinchSync shows the main window:

FinchSync main window.

Picture: FinchSync main window.

Note: When you start FinchSync for the first time, you might get an error-message claiming 'Address already in use: JVM_Bind'. This message can be ignored - we're taking care of it in the next section.

The main window shows three tabs:

  1. Activity: Current activities from connected clients, and a display of the servers hostname and IP-address.
  2. Sync Sources: All configured sync sources.
  3. Clients: All configured clients.

Configuration

Server Settings

Please select 'File/Server Configuration'. The following dialog will appear:

Server configuration dialog.

Picture: Configuration of the server's portnumber and administrator account

Setup the portnumber:

To act as server, FinchSync must open a TCP/IP port on your system. The client can connect to this port and start synchronization. Ports are numbered from 0 to 65535 and only one application at a time may register for a single port.

Since FinchSync uses the HTTP protocol for communication, the preset port number is 8080. If there is a proxy server or an other service already running on that port you'll get an error message, 'Address already in use: JVM_Bind'.

Theoretically you may choose any number between 0 and 65535. Practically, most numbers are reserved by typical services like FTP, NETBIOS etc. You'll find a list of typical port numbers here.

A good choice for alternative port numbers is the range from 8080 to 8087. Try any of these numbers until FinchSync starts without an error message. Remember, you must restart FinchSync to use the new settings.

If you are using a Firewall on your system, you must open the specified port. If you get a message from the firewall, that 'java' or 'FinchSync' is trying to open a port, you MUST allow this action, or a client will not be able to connect to the server.

ATTENTION: It must be mentioned, that opening ports holds a potential danger for your system to be infected with viruses and trojans.

If you connect to the Internet using a router, an open port typically is not visible to the Internet. (If you would like to synchronize over the Internet, a backward route for the used port number must be installed. See your router's documentation for further details.) 

If you connect with the Internet using any kind of modem, the open port will be visible to the Internet and hackers may try to connect with FinchSync. Although the login is password-protected and it’s unlikely for a hacker to break the Java security by using standard techniques like 'buffer-overflow' etc., the risk must be mentioned here. (By the way, this potential danger exists for every application offering network services on your computer.)

You can avoid the problem, if you close FinchSync before connecting to the Internet.

Setup the administrator account:

The server FinchSync has a (very small) web-interface. If you have trouble connecting your PocketPC with the server, you might first try to access the web-interface with PocketOutlook.

Further you can shutdown the server from the web-interface, if you enter your admin login. If the server is running, you can access the web-interface using the url:

http://<ip>:<port>/status

Example:

http://192.168.1.1:8080/status

FinchSync Web-Interface.

Picture: FinchSync Web-Interface.

 

Managing Sync Sources

Sync sources provide contacts, tasks or appointments, which can be synchronized with external clients. A sync source can provide single types of items or a combination of multiple types of items. Typically an address book source provides contacts, and a calendar source provides tasks and appointments.

Before you can synchronize information with your Pocket PC, you must specify what information you'd like to synchronize. The Mozilla address book, for example, is able to manage multiple different address books. Each of those address books may be a single sync source for FinchSync.

To manage sync sources, select the 'Sync Sources' tab from the main-window:

Managing Sync Sources.

Picture: Managing sync sources.

The table shows all configured sync sources (of course, the table is empty if you start FinchSync for the first time).

Adding a new Sync Source
  • Press the 'Add' button to start the sync source wizard.

A dialog box shows, asking for the name of the new sync source. This name is the source's identifier and must be unique.  Once the new source is added, the name cannot be changed.

  • Enter a name and select 'Next >'. The next step of the wizard appears.
  • Select the kind of source you want to add from the 'Source' dropdown list, an adressbook or calendar.
  • Press 'Browse' to manually select a datafile. Choose this option, if you know where to find your data-files on the harddrive. Adressbook files have the extension '.mab', calendar files '.ics'.
  • Press 'Scan Disk' to let FinchSync search you computer for data sources. This is more comfortable than manual browsing, but my take a few seconds. Select a source from the results shown in the resources table.

Note: FinchSync scans the user-directory and it's subdirectories for Mozilla configuration files, 'prefs.js', which hold the name and file-location of address books and calendars used by Mozilla applications. An address book itself is stored in a file with the suffix '.mab', calendar files have the suffix '.ics'. If the source you wish to use is not listed in the result table, choose 'Browse' and try to locate the file manually.

Warning: It has been reported by users, that on some Linux systems the scanning of the user-directory takes up to 15 minuntes and more. This is caused by links to directories outside the user's home directory. FinchSync follows this links and may scan the whole drive. If you experience this problem with your Linux installation, choose 'Browse' to select your files manually.

  • Press 'Next >'.

The last step shows all settings for the new sync source and allows setting additional options:

'Readonly': You may mark the source as 'Readonly' (see below for details).

'Config': Opens a source-dependent configuration box, allowing further configuration of the source.

'Block application': This option is displayed if you press the 'Config' button. If chosen, FinchSync prevents a Mozilla application from starting, if the Sync Source associated with that application is currently being synchronized. On the other hand, if a Mozilla application is using a Sync Source, the Sync Source is marked as 'unavailable'. This option only has an effect on systems running Windows.

  • Press 'Finish' to create the new sync source.

The new source is now listed in the table and ready to use.

Note: To protect your data, FinchSync creates a backup of the source-file in the moment it is configured for synchronization. The backup is saved using the suffix '.orig'. Example: The address book file, 'abook.mab', will be backed up to 'abook.orig'.

Before any synchronization, an additional backup is created, adding a sequential backup number to the filename and using the suffix '.bak'. The last ten versions of the file will be kept as backup, the one with the lowest number being the latest version.

Option 'Readonly'

You may set this option to prevent a client from changing the contents of a sync source. If a source is readonly, a client can synchronize with its contents, but is not allowed to send changes to the server. Changes on the client are reversed with the next synchronization. Even deleted items on the client are restored.

Option 'Available'

Unselect this option to prevent a client synchronizing with this source.

Removing a Sync Source

To remove a sync source, select the source from the table and press 'Delete'.

Note: If a sync source is removed, all synchronized items will be removed from the client during the next synchronization.

If you want to remove a source only temporarily, just uncheck the 'Available' option.

Managing Clients

Clients connect to the server and synchronize with the configured source. A client account has a name, password, and a list of sync sources the client is allowed to synchronize with.

Different people with different devices may use the same account. An account may be considered more as a kind of user-group. Of course, only one at a time may use the account. Even if a different account exists for every user, there is the drawback that only one user may access a specific sync source at a time. A source is marked as unavailable, while it is accessed by another user.

To manage clients, select the 'Clients' tab from the main-window:

Managing clients.

Picture: Managing clients.

Adding a new Client
  • Press 'Add' to open the client configuration dialog:

Client configuration dialog.

Picture: Client configuration dialog.

  • Enter a new, unique name, using only characters and numbers. (The name can't be changed, once the account is created.)
  • Enter a password with at least 6 characters.
  • Enter a description (optional).
  • Press 'Add' to add sync sources to the client account. Only these sources can be accessed by the client.

The sources may be marked as 'Readonly' or can be made 'unavailable' by unmarking the 'Available' option.

These options are client specific. Some clients may have full access to a sync source, others may have only read access.

These options are overwritten by the global settings for a sync source. If a source is globally marked as 'readonly' or 'unavailable', the client settings are ignored.

Note: If you create more SyncSources later, don't forget to add them to your clients also. Only SyncSources, that are added to the client's list of available SyncSources, are later available on the PDA.

 

Conflict Solving
Synchronization conflicts may occur, if an item was changed on the server AND the client:

Server Client Conflict
unchanged unchanged  
unchanged changed  
unchanged removed  
changed unchanged  
changed changed X
changed removed X
removed unchanged  
removed changed X
removed removed  

FinchSync supports two strategies for conflict resolution, 'Server wins' and 'Client wins'. 'Server wins' overwrites the client changes in conflict situations, 'Client wins' overwrites changes on the server.

  • Press 'OK' to create the new account.
Changing an account
  • Select the account from the table.
  • Press 'Config' to open the configuration dialog.
Removing an account
  • Select the account from the table.
  • Press 'Delete' to remove the account from the list.

 

Starting FinchSync Without User Interface

After you have configured the FinchSync server, you might like to start it without user interface, for example if you like to let FinchSync run everytime you start your PC without having a window pop open. See HowTo in support section for examples.

To start FinchSync server without user interface, add the option '-nogui':

java -jar FinchSync.jar -nogui

The server is running in the background. Access the webinterface to check, if the server is working.

How to stop the server without a user interface? You may use the webinterface to stop the server or you can stop the server running the following command:

java -jar FinchSync.jar -stopserver

The server stops and the application will exit after a few seconds.

 

Uninstall FinchSync

To uninstall FinchSync from the PC, the server-component, just remove the FinchSync directory with all subdirectories. That's it. No registry entries or dlls left somewhere on your system. 

 

> Continue with Client Setup