Hello!

This thread is in danger of being off-topic for this list. I'll try to
keep it focused on the  Buteo design and source code; hopefully that'll
keep it relevant for this list, otherwise we should move the thread.

On Thu, 2010-08-19 at 18:04 +0100, Graham Cobb wrote:
> 2) Each calendar synchronises (as a "device") with a different "master" (say 
> MS Exchange for work, google for personal, etc).  Some of these are SyncML 
> interfaces, others may be applications directly on the device (e.g. MfE), 
> others may use protocols which I, as a developer, want to add.

Buteo supports this via "service profiles". A service profile defines
the sync engine to be used for the service (SyncML being the only option
in the open source), and which kind of data the service supports.
There's an example "scheduleworld.com.xml" here (format subject to
change):
http://wiki.meego.com/Buteo/SyncFWClient

<?xml version="1.0" encoding="UTF-8"?>
 <profile  name="scheduleworld" type="service">
   <key name="Remote database" 
value="http://sync.scheduleworld.com/funambol/ds"; />
      
   <key name="Username" value="" />
   <key name="Password" value="" />
   
   <key name="http_proxy_host" value="" />
   <key name="http_proxy_port" value="" />
   
   <key name="destinationtype" value="online"/>
   
   <profile name="syncml" type="client" >
     <key name="use_wbxml" value="false" />
     <key name="Sync Transport" value="HTTP" />
     <key name="Sync Direction" value="two-way" />
     <key name="Sync Protocol" value="SyncML12" />
   </profile>
   <profile name="hcontacts" type="storage" >
     <key name="Local URI" value="./contacts" />
     <key name="Target URI" value="./card" />
   </profile>
 </profile>

A GUI need to know that "hcontact" stands for "local address book" if it
wants to present more than this name to the user (like a localized name
and an icon).

I'm unsure whether local and target URI really can be changed by the GUI
and the user. This service profile must be stored in /etc and thus
cannot be edited by a user-space process. Sateesh, you said that a user
can choose at least the local database. Can you clarify where the "Local
URI" value really comes from during a sync session?

Note that this requirements for service profiles in /etc is by design.
It has the side effect that the user cannot define a custom sync service
in the GUI (see http://bugs.meego.com/show_bug.cgi?id=4941).

There is nothing that prevents defining multiple calendar entries under
different names in a service profile, but again, this is nothing that
the user can change.

> 4) Each calendar can synchronise as a "master" (not a device) with 
> other "devices" (e.g. other phones or a kitchen clock or something).  This is 
> particularly important for netbook mode but it should also be available on 
> handsets.

Note that there are currently issues with data loss when doing two-way
sync, primarily in this mode, but also when syncing as device with a
less capable master:
http://bugs.meego.com/show_bug.cgi?id=4897

In theory, a master should always be more capable that a device. That's
required if the master is meant to hold a full copy of the data on the
device ("remote backup"). In practice, MeeGo stores more information in
a contact than supported by current masters (links to chat services is
one example).

> 6) It should be possible to schedule syncs (the scheduling is a system issue, 
> not a Buteo issue)

msyncd is the core Buteo daemon, and it controls the schedule for
running syncs.

[multiple calendars]
> > [SK] This agreement is something that would be part of the protocol in use.
> > Apparently SyncML does not have this facility.

It does. uri=calendar/work and uri=calendar/personal can be used. The
only problem is that most existing services do not offer that.

-- 
Best Regards, Patrick Ohly

The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.


_______________________________________________
MeeGo-dev mailing list
[email protected]
http://lists.meego.com/listinfo/meego-dev

Reply via email to