[sync] Nokia N73
Andy Wright
horde at eltofts.homelinux.com
Thu Jan 11 18:02:19 PST 2007
Twilek at gmx.de wrote:
> Hi Jan,
> now that my contacts sync finally works (thanks Karsten) I have the problem that the mobile numbers are not synched. I have the suspicion that this might be due to a wrong scheme.
> But althought I have searched the wiki and the mailing list archive I do not find any references to a different scheme that you mention.
> Could you point me to the right link so that I can read up (maybe I am just to blind to see :-) ).
>
> Thanks
>
> Henning
>
Here's a copy of the original email Karsten sent.
Andy.
================
Hi,
my initial posting lacked the sources.php and contained an error in the
sql script: the object_bday should be varchar(10) rather than
bigint(10). So once again:
the current default turba (address book) database structure is not very
suitable for SyncML: only one name field instead of separate first name
last name, address in one multi line field instead of split into city
and so on.
The sql script below provides a better structure. Run the sql script to
create the table. You need to have to rename/delete/backup your orginal
turba_objects table first.
You also have to use the sources.php below (in the conf directory) or
paste it into your existing sources.php if you want to use multiple
sources.
Here's the sql script:
-----8<---cut here----------
CREATE TABLE `turba_objects` (
`object_id` varchar(32) NOT NULL,
`owner_id` varchar(255) NOT NULL,
`object_type` varchar(255) NOT NULL default 'Object',
`object_uid` varchar(255),
`object_members` blob,
`object_lastname` varchar(255) NOT NULL default '',
`object_firstname` varchar(255),
`object_alias` varchar(32),
`object_nameprefix` varchar(255),
`object_email` varchar(255),
`object_homestreet` varchar(255),
`object_homecity` varchar(255),
`object_homeprovince` varchar(255),
`object_homepostalcode` varchar(255),
`object_homecountry` varchar(255),
`object_workstreet` varchar(255),
`object_workcity` varchar(255),
`object_workprovince` varchar(255),
`object_workpostalcode` varchar(255),
`object_workcountry` varchar(255),
`object_homephone` varchar(25),
`object_workphone` varchar(25),
`object_cellphone` varchar(25),
`object_fax` varchar(25),
`object_pager` varchar(25),
`object_title` varchar(255),
`object_company` varchar(255),
`object_notes` text,
`object_url` varchar(255),
`object_pgppublickey` text,
`object_smimepublickey` text,
`object_freebusyurl` varchar(255),
`object_role` varchar(255),
`object_category` varchar(80),
`object_photo` blob,
`object_blobtype` varchar(10),
`object_bday` varchar(10),
PRIMARY KEY(object_id)
);
CREATE INDEX turba_owner_idx ON turba_objects (owner_id);
GRANT SELECT, INSERT, UPDATE, DELETE ON turba_objects TO horde at localhost;
-----8<---cut here----------
and here's the php code for turba/conf/sources.php. Replaces the
existing $cfgSources['localsql']
-----8<---cut here----------
$cfgSources['localsql'] = array(
'title' => _("My Addressbook"),
'type' => 'sql',
// The default connection details are pulled from the Horde-wide SQL
// connection configuration.
//
// The old example illustrates how to use an alternate database
// configuration.
//
// New Example:
'params' => array_merge($GLOBALS['conf']['sql'], array('table' =>
'turba_objects')),
'map' => array(
'__key' => 'object_id',
'__owner' => 'owner_id',
'__type' => 'object_type',
'__members' => 'object_members',
'__uid' => 'object_uid',
'name' => array('fields' => array('firstname', 'lastname'),
'format' => '%s %s'),
'firstname' => 'object_firstname',
'lastname' => 'object_lastname',
'name_prefix' => 'object_nameprefix',
'email' => 'object_email',
'alias' => 'object_alias',
'homeStreet' => 'object_homestreet',
'homeCity' => 'object_homecity',
'homeProvince' => 'object_homeprovince',
'homePostalCode' => 'object_homepostalcode',
'homeCountry' => 'object_homecountry',
'workStreet' => 'object_workstreet',
'workCity' => 'object_workcity',
'workProvince' => 'object_workprovince',
'workPostalCode' => 'object_workpostalcode',
'workCountry' => 'object_workcountry',
'homePhone' => 'object_homephone',
'workPhone' => 'object_workphone',
'cellPhone' => 'object_cellphone',
'fax' => 'object_fax',
'pager' => 'object_pager',
'title' => 'object_title',
'company' => 'object_company',
'birthday' => 'object_bday',
'website' => 'object_url',
'notes' => 'object_notes',
'pgpPublicKey' => 'object_pgppublickey',
'smimePublicKey' => 'object_smimepublickey',
'freebusyUrl' => 'object_freebusyurl'
),
'search' => array(
'name',
'email'
),
'strict' => array(
'object_id',
'owner_id',
'object_type',
),
'export' => true,
'browse' => true,
'use_shares' => true,
);
-----8<---cut here----------
More information about the sync
mailing list