This site has been retired. For up to date information, see handbook.gnome.org or gitlab.gnome.org.


[Home] [TitleIndex] [WordIndex

1. Description

FolderShot is an application that helps synchronize your local folder with an online storage server automatically. It provides an easiest way to share and store your files online. A local daemon is started and keeps running at the backend. It synchronizes between the online storage server and specified local folders on several of your computers.

2. Features

3. How the Mirror Daemon Works

foldershot-how.png

Usually, the local daemon works in the following steps:

  1. The user will first configure an account for an online storage server before the daemon starts to work. The daemon will read the configuration from GConf and reqeust WebDAV authentication with the server. The security password can be readily cached and retrieved from gnome-keyring.
  2. Checking the contents of the local folder are the same as the remote WebDAV mirror using gio. Stat the files, compare filenames, file sizes and checksums, etc. Resolve any differences by updating the local store or remote store based on a preexisiting policy.
  3. Monitoring the local user filesystem location using gio (FAM). Name this folder as 'Folder Shot'. We will make it easy to find even without a bookmark. We will make this location appear as a default bookmark for the user so it shows up in the panel->places menu, the nautilus sidebar and gtk file selection dialogs. Make it easy to find from ALL applications not just those that use GTK libraries.

  4. Syncing folder changes back to the WebDAV store deteced in 3
  5. Detect changes in online storage and update local store appropriately. As we are using WebDAV on the remote side we can not request notification of changes from the server so we will have to use some passive polling (check once every five minutes or so )
  6. Synching remote folder changes back to the local folder. This is the reverse of number 4 for changes detected in number 5.
  7. Flashing a sync icon in the notification area and updating nautilus metadata to put emblems on changed files currently being sync'd.

4. State Transition

Following is a diagram that shows the daemon's state transition

foldershot-state.png

5. Architecture

foldershot-arch.jpg

6. UI Design

foldershot-menu.png

Folder Shot Preferences.png

Foldershot-Account1.png

Foldershot-Account2.png

foldershot-statusicon.png


2024-10-23 10:59