[sync] Syncing with the P1i

Martin Zoller mailinglists at zollerit.ch
Tue Sep 29 21:28:00 UTC 2009


Jan Schneider wrote:
> And who is wrong, the phone or Horde? Did you take a look at the 
> logged client messages?
Looks like the phone is wrong. I've checked a few entries from the
client messages with a binary editor, and they have exactly the length
that Horde claims they have (and two bytes less than the phone says). I
assume you have to count from "BEGIN:VCARD" to "END:VCARD"?

>> The following problems persist:
>>
>> - Contact categories are not synced yet. This should be easy to
>> implement since Turba has basic support for the "category" field.
>>
>> - The P1i has a common database for calendar and tasks, even though they
>> are handled by separate applications on the phone. To backup my data, I
>> need to sync this DB first with the "calendar", then with the "tasks"
>> database. Therefore I can only do a one-way backup, since an actual sync
>> would always destroy half the data on the phone. Maybe Horde could
>> emulate a "caltask" database and automatically split the data into
>> appointments and tasks. mobical.net supports this, and it works 
>> perfectly.
> Horde does support it too. And the device driver for your phone 
> actually has a check for it. Can you post the logged devinf file?
Oh, now I've found where this is handled. Still, it doesn't seem to work.
Here is my devinf.txt for a calendar backup (which should include tasks):

SyncML_DeviceInfo::__set_state(array(
   'VerDTD' => '1.2',
   'Man' => 'Sony Ericsson',
   'Mod' => 'P1i',
   'OEM' => 'SymbianUK',
   'FwV' => '0',
   'SwV' => 'Z1.0.1',
   'HwV' => '1.0',
   'DevID' => 'IMEI:357033010722247',
   'DevTyp' => 'smartphone',
   'DataStores' =>
  array (
    0 =>
    SyncML_DataStore::__set_state(array(
       'SourceRef' => 'C:Calendar',
       'DisplayName' => 'Agenda',
       'MaxGUIDSize' => NULL,
       'Rx_Pref' =>
      array (
        'text/x-vcalendar' => '1.0',
      ),
       'Rx' =>
      array (
        'text/x-vcalendar' => '1.0',
      ),
       'Tx_Pref' =>
      array (
        'text/x-vcalendar' => '1.0',
      ),
       'Tx' =>
      array (
        'text/x-vcalendar' => '1.0',
      ),
       'DSMem' => NULL,
       'SyncCap' =>
      array (
        1 => true,
        2 => true,
        3 => true,
        5 => true,
        6 => true,
        4 => true,
        7 => true,
      ),
    )),
  ),
   'CTCaps' => NULL,
   'Exts' => NULL,
   'UTC' => true,
   'SupportLargeObjs' => true,
   'SupportNumberOfChanges' => true,
))

So 'CTCaps' apparently isn't set, and this is where Horde checks for the
mixed Calendar/Todo database! If I let the handleTasksInCalendar()
function in P800.php simply return true, the tasks are processed too. :-)
Could this CTCaps thing be a bug in Put.php? I'll send Jan a client
response file to check this.


Cheers
Martin



More information about the sync mailing list