Opensync new gui design

From Genunix

Contents

Purpose

:* opensync engine development work is moved from 0.20 and head, need gui rework also
:* Enhance opensync usability under gnome environment.
:* Hope to replace old multisync GUI[1]

Design

First Time Use

 If you have no groups/catalogs set up, you're simply asked if you want to create one.  
 - you click 'Create', it opens the Profile Wizard (see following).  
 - you click 'More Options', you are taken to the advanced window of OpenSync(see following).  
 - you click 'Quit', the application just quits.

Image:InstantDialog.png

Simple Mode Window

 My theory is that most people will perform the same few synchronisations most often.
 By default, will start a simple mode window to let user to sync without more changes easily. 
 So, if you have run any synchronisations before, you are shown a list of the most recent ones  
 that you can run again immediately.  
 
 Again, clicking 'More Options' takes you to the advanced mode window, clicking Quit terminates the application.
 There's also a checkbox to allow you to Preview first when you click 'Sync Now'.

Image:SimpleModeDialog.png

Advanced Mode Window

 Advanced Mode Window has several part:
 
 * Menu:
   - Profile: New group profile, Create shortcut[2], New Catalog, Catalog Management, Template Managent, Quit
   - Edit: Copy group profile, Delete group profile, Edit group profile, Preferences
   - View: Show Status Bar, Show Side Bar, Show Tool Bar, Show Information Tab, Show Log Tab
   - Action: Sync Now, Preview, Start, Pause, Stop
   - Help: Contents and About
 
 * Tool Bar:
   - Put most useful buttons here.
 
 * Side Bar: Catalog
   User can divide sync groups into different catalogs. When user click catalog name, 
   the groups in this catalog will be shown in group list view.
   1) By Default has 2 predefined catalogs, which can not be removed:
      - All
      - Recent used (last five, can be configured in Preferences Dialog)
   2) Profile->Catalog Management to manage customized catalogs.
 
 * Main content: Group list view
   1) Will list all groups info in selected catalog with group name/description/last sync time.
   2) Sync group management
   - Click New button, will can Profile Wizard Dialog to create a new sync group.
   - Click Copy button, will copy a new sync group based on selected group.
   - Click Delete button, will delete selected group with confirm dialog.
   - Click Edit button, will open Profile Wizard Dialog to change setting.
   - Click Short Cut button, will create a short cut in user's desktop, to allow user run
     this profile with simply click the shortcut.
   3) Sync and Preview 
   - Click Sync button, will sync all selected sync groups, with progress status shown(need more discussion).
   - Click Sync button, will give preview window with detailed control.
   
 * Information view
   1) The summary information will be shown in Information tab
   2) The syncing log will be shown in the log tab.
 
 * Status Bar
   - Show application status

Image:AdvancedWindow.png

System Tray Icon

 When application is launched, an icon will be added into system tray.
 - Left click this icon, the Main Window will be shown. Click it again, 
   the main window will be minimized to system tray.
 - Right click will give a quick menu to operation.

Image:System-tray-icon.png

Group Profile Property Window

 This window is used to create a new sync group or edit a existing sync group. It is a wizard,
 guide user to config a sync group.
 On the left, there will be four steps list, user can click exact step and go there directly.
 * "Memebers to sync" is to edit sync group memebers, each member has a tab, click 'New member'
   tab, will add a member to this sync group.
   First, select plugin type, then click option to config this plugin in detail.

Image:ProfileProperty-members.png Image:FileSyncPreferences.png

 * "What to sync" is to control what data types to sync.

Image:ProfileProperty-what-to-sync.png

 * "How to sync" is to apply detail operations, for example Include/Exclude policy for files.

Image:ProfileProperty-how-to-sync.png

 * "When to sync" is to schedule a sync job

Image:ProfileProperty-when-to-sync.png

Preferences Window

 Configure whole application settings.
 * General tab

Image:Preferences.png

 * Safe Sync: perform backup before syncing

Image:Preferences-tab-safesync.png

 * Email: send out email notification after syncing.

Image:Preferences-tab-email.png

 * Log: Save log.

Image:Preferences-tab-log.png

Template Management Window (only target file now)

 The templates will be show in left list view, by default, there should be some basic templates.
 - Click left-bottom "New icon" button will new a template. 
 - Click left-bottom "Copy icon" button will copy a new template from selected template. 
 - Click left-bottom "Delete icon" button will delete selected template. 
 Template settings can be divided into several tabs. There tabs can be different based on plug-in type.
 Current is only for files, as for others(syncml, evolution, palmsync, etc) need to be discussed.
 - Updated tab 
   When a file exists on bothe folders but do not have the same timestamp...

Image:TemplateManagement.png

 - New tab 
   When a new file is added to one of the files but not the other...

Image:TemplateManagement-tab-new.png

 - Delete tab 
   When a file is deleted from one of the files but not the other...

Image:TemplateManagement-tab-delete.png

 - Conflicted tab 
   When two files exists in left and right folders with the same name and timestamp but different sizes...

Image:TemplateManagement-tab-confilict.png

 - Misc tab 

Image:TemplateManagement-tab-misc.png

Catalog Management Window (no designed now)

References

* http://www.opensync.org
* Multisync GUI (old version)

Author

* Halton Huo, halton dot huo at sun dot com 
* Calum Benson calum dot benson at sun dot com

Note

[1] Program Name: not sure we can still call it multisync, now we call it gnomesync.
[2] Shortcut: generate a shell script and put a shortcut on user desktop, easy use for users.