[turba] Some contacts will not update

Simon Brereton simon.buongiorno at gmail.com
Mon Mar 4 17:36:19 UTC 2013


On 4 March 2013 18:24, Michael J Rubinsky <mrubinsk at horde.org> wrote:
>
> Quoting Simon Brereton <simon.buongiorno at gmail.com>:
>
>> On 4 March 2013 17:45, Simon Brereton <simon.buongiorno at gmail.com> wrote:
>>>
>>> On 4 March 2013 17:07, Michael J Rubinsky <mrubinsk at horde.org> wrote:
>>>>
>>>>
>>>> Quoting Simon Brereton <simon.buongiorno at gmail.com>:
>>>>
>>>>> Hi
>>>>>
>>>>> I have a few contacts that just refuse to update.  One is a few months
>>>>> old, one is a few years old.  Neither have any special characters or
>>>>> anything weird as far as I can see.  Using the web interface, if I try
>>>>> to add or change a field, the change is accepted, but as soon as I go
>>>>> back into the contact the new/edited data is not there.
>>>>>
>>>>> If I use an ActiveSync device the data is shown on the device for a
>>>>> while (until the next ping, I guess) and then disappears - although
>>>>> this can take up to 12 hours.  However, it never shows up in the
>>>>> backend.
>>>>>
>>>>> Any ideas?  What sort of debugging do you need?  There appears nothing
>>>>> relevant in the horde.log.  Nor anything that I can see in the
>>>>> mysql.log
>>>>
>>>>
>>>>
>>>> So you are saying that using only the web interface of Turba, certain
>>>> contacts will not retain changes made to them? I assume from your
>>>> comment
>>>> about the mysql.log that this is a sql backed source? Do you see the
>>>> update
>>>> taking place in the mysql log? If not, make sure error reporting is high
>>>> enough and check the web server's error log as well.
>>>
>>>
>>> Correct - this an sql backend source.
>>>
>>> A good idea to do it while watching the log..  I've removed only
>>> personal information from names and numbers..
>>>
>>>
>>>                  1170 Query     SET NAMES 'utf8'
>>> 130304 16:37:10  1171 Connect   horde at localhost on hordebeta
>>>                  1171 Query     SHOW CHARACTER SET
>>>                  1171 Query     SET NAMES 'utf8'
>>>                  1169 Query     SELECT * FROM turba_sharesng_users
>>> WHERE user_uid = 'simon at example.net' AND (perm_4 = 1)
>>>                  1171 Query     SELECT g.group_uid AS group_uid,
>>> g.group_name AS group_name FROM horde_groups g, horde_groups_members m
>>> WHERE m.user_uid = 'simon at example.net' AND g.group_uid = m.group_uid
>>> ORDER BY g.group_name
>>>                  1169 Query     SELECT DISTINCT * FROM turba_sharesng
>>> s  WHERE share_owner = 'simon at example.net' OR perm_creator_4 = 1 OR
>>> perm_default_4 = 1 ORDER BY share_id ASC
>>>                  1169 Query     SELECT object_id, owner_id,
>>> object_type, object_members, object_uid, object_firstname,
>>> object_lastname, object_middlenames, object_nameprefix,
>>> object_namesuffix, object_alias, object_bday, object_anniversary,
>>> object_spouse, object_photo, object_phototype, object_homestreet,
>>> object_homepob, object_homecity, object_homeprovince,
>>> object_homepostalcode, object_homecountry, object_workstreet,
>>> object_workpob, object_workcity, object_workprovince,
>>> object_workpostalcode, object_workcountry, object_department,
>>> object_tz, object_email, object_workemail, object_workphone,
>>> object_cellphone, object_cellphone, object_homephone, object_homefax,
>>> object_assistantphone, object_fax, object_pager, object_title,
>>> object_role, object_company, object_logo, object_logotype,
>>> object_category, object_notes, object_url, object_freebusyurl,
>>> object_pgppublickey, object_smimepublickey, object_imaddress,
>>> object_imaddress2, object_imaddress3 FROM turba_objects WHERE
>>> object_id IN ('IvIgSlyZnp9OhjnOtimny_A') AND owner_id =
>>> 'simon at example.net'
>>>                  1169 Query     SHOW FIELDS FROM `turba_objects`
>>> 130304 16:37:12  1169 Query     DELETE FROM horde_tokens WHERE
>>> token_timestamp < 1362328632
>>>                  1169 Query     SELECT token_id FROM horde_tokens
>>> WHERE token_address = 'MjEzLjE2OC42OC4xODY=' AND token_id =
>>> 'MHTKLU3oL1LErLEAbw05sPcZ25A'
>>>                  1169 Query     INSERT INTO horde_tokens
>>> (token_address, token_id, token_timestamp) VALUES
>>> ('MjEzLjE2OC42OC4xODY=', 'MHTKLU3oL1LErLEAbw05sPcZ25A', 1362415032)
>>>                  1169 Query     UPDATE turba_objects SET owner_id =
>>> 'simon at example.net', object_type = 'Object', object_members = NULL,
>>> object_uid =
>>> '20110930175110.-WfyEFyZnp9OhjnOth2Xy_A at webmail.example.net',
>>> object_firstname = 'Franz', object_lastname = 'Mustermann',
>>> object_middlenames = '', object_nameprefix = '', object_namesuffix =
>>> '', object_alias = '', object_bday = '1984-09-10', object_anniversary
>>> = NULL, object_spouse = '', object_photo = NULL, object_phototype =
>>> NULL, object_homestreet = '', object_homepob = '', object_homecity =
>>> '', object_homeprovince = '', object_homepostalcode = '',
>>> object_homecountry = '', object_workstreet = '', object_workpob = '',
>>> object_workcity = '', object_workprovince = '', object_workpostalcode
>>> = '', object_workcountry = '', object_department = '', object_tz = '',
>>> object_email = 'mustermann at t-online.de', object_workemail =
>>> 'mustermann at o2online.de', object_workphone = '', object_cellphone =
>>> '+4917900000', object_homephone = '+491700000000', object_homefax =
>>> '', object_assistantphone = '', object_fax = '', object_pager = '',
>>> object_title = '', object_role = '', object_company = '', object_logo
>>> = NULL, object_logotype = NULL, object_category = '', object_notes =
>>> '', object_url = '', object_freebusyurl = '', object_pgppublickey =
>>> '', object_smimepublickey = '', object_imaddress = '',
>>> object_imaddress2 = '', object_imaddress3 = '' WHERE object_id =
>>> 'IvIgSlyZnp9OhjnOtimny_A'
>>>                  1170 Query     SELECT * FROM horde_histories WHERE
>>> object_uid =
>>> 'turba:PUXoNFyZnp9Ohjmm32QQhvA:20110930175110.-WfyEFyZnp9OhjnOth2Xy_A at webmail.example.net'
>>>                  1170 Query     UPDATE horde_histories SET history_ts
>>> = 1362415032, history_who = 'simon at example.net', history_desc = NULL,
>>> history_extra = NULL WHERE history_id = '20501'
>>>                  1169 Quit
>>>
>>> The weird thing is the object_cellphone retains its data (it should
>>> have changed.  In the display, however, object_workphone has a a
>>> value.
>>
>>
>> If I manually edit the query with the cellphone number, then it takes.
>>
>> I wondered if it might be to do with the length (it has an extra 2
>> digits than most cell-phone numbers), but checking in attributes.php,
>> there is no limit to cellphone fields.
>>
>> So, now I'm wondering if it's because I made changes and created an
>> attributes.local.php - for the record, what I did was:
>>
>> ✗     cp /usr/share/horde4/turba/config/attributes.php
>> /usr/share/horde4/turba/config/attributes.local.php
>> ✗     vim /usr/share/horde4/turba/config/attributes.local.php
>> $attributes['workEmail'] = array(
>>         'label' => _("Work Email"),
>>         'type' => 'email',
>>         'required' => false,
>>         'params' => array('allow_multi' => false, 'strip_domain' =>
>> false, 'link_compose' => true)
>> );
>>
>>
>> $attributes['workCellPhone'] = array(
>>     'label' => _("Work Mobile Phone"),
>>     'type' => 'cellphone',
>>     'required' => false
>> );
>>
>>
>>
>>
>> ✗     cp /usr/share/horde4/turba/config/backends.php
>> /usr/share/horde4/turba/config/backends.local.php
>> ✗     vim /usr/share/horde4/turba/config/backends.local.php
>>         'workEmail' => 'object_workemail',
>>         'homePhone' => 'object_homephone',
>>         'workPhone' => 'object_workphone',
>>         'cellPhone' => 'object_cellphone',
>>         'workCellPhone' => 'object_cellphone',
>
>
> You've mapped the same database field to two different UI fields.


What should it be?  I understood the idea was to create another object
of type cellphone and and then map it to that rather than to create an
object_workcellphone

Simon


More information about the turba mailing list