The following sections give a brief overview of some JFileSync 2.1 features.
The main
JFileSync functionality can be accessed via the tool bar,
which allows you to open and save synchronization
profiles, to perform comparisons and synchronizations,
and to start a local JFS server.
A menu provides
comprehensive access to the JFileSync tooling including
starting a synchronization assistant, specifying your
synchronization profile, comparing and synchronizing
file system structures, viewing the history of
synchronized files, and viewing JFileSync standard
output and error messages.
All individual program settings are restored at startup time, including changes to the last opened profile, the window positions, the last visited directories, and the last opened profiles. All those settings are automatically stored to the user's home directory after application termination and restored at startup time.
When comparing
pairs of directories that have to be synchronized, the
result is a table visualizing the differences between
both file system structures. The necessary actions in
order to synchronize both structures are shown according
to your chosen synchronization mode. This includes files
that have to be copied from one side to the other or deleted
from one side as well as files for which the application has
to ask the user interactively what to do (because the
necessary actions cannot be automatically resolved,
e.g., in case of inconsistent file sizes). You may change
the actions for selected file pairs via a popup menu as well
as activate and deactivate synchronization for certain file
pairs.
A
synchronization assistant is provided for newbies in
order to ease JFileSync usage and to guide through the
three synchronization steps: (1) specifying a
synchronization profile, (2) comparing all specified
directory pairs, and (3) synchronizing all pairs
according to the chosen synchronization mode.
JFileSync
allows you to access standard output messages and an error
log via the graphical user interface. This is especially
useful when running a JFS server in background and for a
detailed search for reasons in case of failed copy or
delete statements during synchronization. You may
therefore update and clear the log file's contents. If
unread error messages are available a corresponding
button is viewed at the bottom of the main window.
JFileSync
provides a simple plug-in interface that allows you to
enhance the basic functionality and to make use of the
internal API. Currently, two plug-ins are provided: One
is able to shift all time stamps of the source or target file
system structure (e.g., in order to correct invalid time
stamps because of incorrect shifting to summer/winter
time). The second plug-in is able to detect write
protected files in the source or target file system
structure.
A
synchronization profile stores all settings for the
synchronization process, including a set of directories
that have to be synchronized and the chosen
synchronization mode. If directories that have to be
synchronized don't exist, JFileSync displays a warning
and asks to automatically create them. Apart from that,
more advanced settings are available that allow you to
specify the granularity of comparing time stamps of
files, the buffer size used for copying files, the
system's test run mode, and whether JFileSync should
store histories of synchronized files.
Moreover, the profile manager allows you to specify exclusion (or inclusion) criteria as a set of regular expressions in order to reduce the number of files that have to be compared and synchronized.
An automatic synchronization mode is provided that utilizes a history that is stored after each synchronization in order to determine synchronization actions (files and directories to copy and to delete) automatically. This is the current default mode used. Apart from that, you may choose between eight additional individual synchronization modes that allow you to merge file system structures, or forcing to copy a certain file system structure.
A synchronization profile also allows you to specify JFileSync server settings including the port the server is started on and the used timeout for connections.
The whole
synchronization functionality (except for plug-ins) is
available via the graphical user interface and the
command line. JFileSync comes with a simple built-in
shell so that you can perform synchronizations
interactively in the same way as using the graphical user
interface. You may also run JFileSync in quiet
mode with no user-interaction at all in order to automate
synchronization activities as part of shell
scripts.
Before the synchronization itself is started, a list of de-select all copy and delete statements is computed and you may select and de-select individual items from the list.
You may also control the comparison and synchronization's process via a progression bar that shows you the currently performed synchronization command as well as the copied number of bytes, and gives you the possibility to cancel the synchronization process.
Sometimes it
is not possible to hook an external file system in your
local structure. For instance, (1) a Unix/Linux file
server doesn't provide Samba, or NFS sharing
capabilities, (2) it is - for some reasons - not possible to
share a Windows folder, or (3) the access to an external
server is protected by a firewall or you have limited
access to the server capabilities in general.
In all
those cases you can use a JFS server to synchronize your
files. A JFS server provides a simple interface for
clients to get information from or to modify a file system
on server side. Those external directories (accessed
through a JFS server) may be included into your user
profile and handled without transition; that is, a
directory pair you want to synchronize may include two
local directories, a local and an external one, or even two
external directories. You may start and stop the JFS
server via the graphical user interface or alternatively
via the command line.