[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