Bug 60333

Summary: Allow folder names to be specified as the database
Product: SyncEvolution Reporter: Graham Cobb <g+syncevolution>
Component: ActiveSyncAssignee: Patrick Ohly <patrick.ohly>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: syncevolution-issues
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: Patch to add folder name support

Description Graham Cobb 2013-02-05 20:18:46 UTC
Created attachment 74255 [details] [review]
Patch to add folder name support

The attached patch allows folder names to be used, as well as collection IDs, in the database= field.

The name is assumed to be a Collection ID if it matches one of the collection IDs, otherwise it is assumed to be a folder path (with an optional leading /).

Note that this patch is dependent on #60235.
Comment 1 Patrick Ohly 2013-02-12 14:01:38 UTC
I've included the patch in a test branch and will run it through the automated testing once before merging into master.
Comment 2 Patrick Ohly 2013-03-05 12:33:45 UTC
Included in master branch.

This took a bit longer than expected, because I had to modify the nightly testing to start activesyncd for the configure operation (wasn't necessary before). Error reporting in core SyncEvolution was insufficient, so I enhanced that:

commit e05454d56334eef225fbff02f382adf9cbdc30fd
Author: Patrick Ohly <patrick.ohly@intel.com>
Date:   Wed Feb 27 06:10:22 2013 -0800

    command line: show backend error when listing databases fails
    
    The command line swallowed errors thrown by the backend while listing
    databases. Instead it just showed "<backend name>: backend failed". The goal
    was to not distract users who accidentally access a non-functional backend.
    But the result is that operations like --configure or --print-databases could
    fail without giving the user any hint about the root cause of the issue.
    
    Now the error explanation in all its gory details is included.
    
    For example, not having activesyncd running leads to:
    INFO] eas_contact: backend failed: fetching folder list:
    GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name
    org.meego.activesyncd was not provided by any .service files
    
    And running activesyncd without the necessary gconf keys shows up as:
    [INFO] eas_contact: backend failed: fetching folder list:
    GDBus.Error:org.meego.activesyncd.Error.AccountNotFound: Failed to find
    account [syncevolution@lists.intel.com]
    
    Both of these happened when trying to use the "list database" ActiveSync
    patches in the nightly test setup...

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.