Re: Some contacts will not update
Simon Brereton <[email protected]>
| Newsgroups | gmane.comp.horde.turba |
|---|---|
| Message-ID | <CAOmHMuECVS1A6mBaBmX0k439jdPSy6TxPZhoQhdSPj_uwfYjWQ@mail.gmail.com> |
On 4 March 2013 18:49, Michael J Rubinsky <[email protected]> wrote: > > Quoting Simon Brereton <[email protected]>: > >> On 4 March 2013 18:24, Michael J Rubinsky <[email protected]> wrote: >>> >>> >>> Quoting Simon Brereton <[email protected]>: >>> >>>> On 4 March 2013 17:45, Simon Brereton <[email protected]> >>>> wrote: >>>>> >>>>> >>>>> On 4 March 2013 17:07, Michael J Rubinsky <[email protected]> wrote: >>>>>> >>>>>> >>>>>> >>>>>> Quoting Simon Brereton <[email protected]>: >>>>>> >>>>>>> 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@localhost on hordebeta >>>>> 1171 Query SHOW CHARACTER SET >>>>> 1171 Query SET NAMES 'utf8' >>>>> 1169 Query SELECT * FROM turba_sharesng_users >>>>> WHERE user_uid = '[email protected]' 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 = '[email protected]' AND g.group_uid = m.group_uid >>>>> ORDER BY g.group_name >>>>> 1169 Query SELECT DISTINCT * FROM turba_sharesng >>>>> s WHERE share_owner = '[email protected]' 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 = >>>>> '[email protected]' >>>>> 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 = >>>>> '[email protected]', object_type = 'Object', object_members = NULL, >>>>> object_uid = >>>>> '[email protected]', >>>>> 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 = '[email protected]', object_workemail = >>>>> '[email protected]', 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:[email protected]' >>>>> 1170 Query UPDATE horde_histories SET history_ts >>>>> = 1362415032, history_who = '[email protected]', 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 > > > You are only partially correct. You should create a new *attribute* of type > cellphone and map that to a *new* field in the database. The way you have it > right now, you are telling Turba that the values in both cellPhone and > workCellPhone are to be stored in the object_cellphone field. What happens > when those values are different, which one gets stored? > > Instead, you need to create an object_workcellphone (or whatever you want to > call it) field in the database to hold the additional field. Actually, I did that, but didn't link to it! Thanks Mike. Simon -- turba mailing list Frequently Asked Questions: http://wiki.horde.org/FAQ To unsubscribe, mail: [email protected]