[turba] Some contacts will not update

Simon Brereton simon.buongiorno at gmail.com
Mon Mar 4 17:20:44 UTC 2013


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',

                _("Communications") => array('email', 'workEmail',
'homePhone', 'workPhone',
               'cellPhone', 'workCellPhone', 'fax', 'pager''imaddress',
                'imaddress2', 'imaddress3'),



Run the following SQL commands from the panel

ALTER TABLE `turba_objects`
ADD `object_workemail` VARCHAR( 255 ) NOT NULL AFTER `object_email`,
ADD `object_workcellphone` VARCHAR( 25 ) NOT NULL AFTER `object_cellphone`




Simon


More information about the turba mailing list