6.0.0-git
2017-09-22

[#6961] Turba / Hermes upgrade causes client addressbook to be ignored.
Summary Turba / Hermes upgrade causes client addressbook to be ignored.
Queue Turba
Queue Version 2.2.1
Type Bug
State Resolved
Priority 1. Low
Owners jan (at) horde (dot) org
Requester kyrian (at) ore (dot) org
Created 2008-06-20 (3381 days ago)
Due
Updated 2008-06-26 (3375 days ago)
Assigned 2008-06-20 (3381 days ago)
Resolved 2008-06-25 (3376 days ago)
Milestone
Patch No

History
2008-06-26 13:27:24 Michael Rubinsky Comment #12 Reply to this comment
Unfortunately it seems the problem persists in a combination of:

hermes-HEAD-2008-06-26 / horde-3.2.1 / turba-h3-2.2.1
The fix was done in Turba, so you will need the latest HEAD for turba as well.
That is both the 'non-stick' addressbook preference, and the client
addressbook not appearing in the Hermes client menu.
Not sure about the 'non-stick' issue though.  Does this happen with 
*all* your sources or just the client source?
2008-06-26 13:21:52 kyrian (at) ore (dot) org Comment #11 Reply to this comment
Well, do you *see* the address book in the user preferences
(Turba->Options->Address Books)?
...
A bit late, maybe, but I tried this and found that the preference
would not 'stick'. I'd move the client addressbook over to the
selected side, and save changes, but they would not appear afterwards.
Unfortunately it seems the problem persists in a combination of:



hermes-HEAD-2008-06-26 / horde-3.2.1 / turba-h3-2.2.1



That is both the 'non-stick' addressbook preference, and the client 
addressbook not appearing in the Hermes client menu.



This is with a copy of the config/*.php files from the previous 
versions, saved back out again using the Admin->Setup system, though, 
so I guess it's possible that preferences or sources configs are out 
of whack and is causing this.


2008-06-26 10:57:10 kyrian (at) ore (dot) org Comment #10 Reply to this comment
Well, do you *see* the address book in the user preferences
(Turba->Options->Address Books)?  The code that you referred to in
your comment that "excludes" it, is filtering the address books based
on the Turba preference.  So....if you don't have the client address
book listed in your address books preference, then it will not be
available.  If you do not see the client address book anywhere in
turba's address book preferences, then that is another story.
A bit late, maybe, but I tried this and found that the preference 
would not 'stick'. I'd move the client addressbook over to the 
selected side, and save changes, but they would not appear afterwards.



K.
2008-06-25 15:48:48 Jan Schneider Assigned to Jan Schneider
 
2008-06-25 15:48:39 Jan Schneider Comment #9
Version ⇒ 2.2.1
Queue ⇒ Turba
State ⇒ Resolved
Reply to this comment
Moving to Turba, since the issue was there, and closing because it has 
been fixed for Turba 2.2.2.
2008-06-25 15:47:07 CVS Commit Comment #8 Reply to this comment
Changes have been made in CVS for this ticket:

http://cvs.horde.org/diff.php/turba/lib/api.php?r1=1.253&r2=1.254&ty=u
2008-06-21 16:36:16 Jan Schneider Comment #7 Reply to this comment
Absolutely, yes. One setup could be to give READ access only to the
client address book and no SHOW access so that it doesn't even show
up in the preference and can only be used through the API.
Why would we not want the client address book visible in Turba?
Wouldn't it be useful to have it available for looking up phone
numbers, addresses, etc... ?
Sure that. I was just giving an example of a possible setup where you 
don't want to show it in Turba, but still through the API.
2008-06-21 16:10:31 Michael Rubinsky Comment #6 Reply to this comment
Absolutely, yes. One setup could be to give READ access only to the
client address book and no SHOW access so that it doesn't even show
up in the preference and can only be used through the API.
Why would we not want the client address book visible in Turba? 
Wouldn't it be useful to have it available for looking up phone 
numbers, addresses, etc... ?
2008-06-21 15:57:17 Jan Schneider Comment #5 Reply to this comment
The other question, I guess, is if we should somehow allow the client
address book to always be available regardless of Turba's address
book setting if being called via the client api?
Absolutely, yes. One setup could be to give READ access only to the 
client address book and no SHOW access so that it doesn't even show up 
in the preference and can only be used through the API.
2008-06-21 13:39:44 Michael Rubinsky Comment #4 Reply to this comment
I am not sure, but I think it's something like that which is
happening.... but by the same token, there's no means to add it into
such a preference?
Well, do you *see* the address book in the user preferences 
(Turba->Options->Address Books)?  The code that you referred to in 
your comment that "excludes" it, is filtering the address books based 
on the Turba preference.  So....if you don't have the client address 
book listed in your address books preference, then it will not be 
available.  If you do not see the client address book anywhere in 
turba's address book preferences, then that is another story.



The other question, I guess, is if we should somehow allow the client 
address book to always be available regardless of Turba's address book 
setting if being called via the client api?



Other devs...thoughts?
2008-06-21 11:57:30 kyrian (at) ore (dot) org Comment #3 Reply to this comment
So, are you saying that it's failing because the address book that is
being used as the client address book is not listed in the address
book preference?
I am not sure, but I think it's something like that which is 
happening.... but by the same token, there's no means to add it into 
such a preference?



What I observed as stated was that Hermes::listClients() makes a call 
to the Turba API which initially DOES allow use of the clients 
addressbook, but a later foreach loop excludes it for some reason 
which may well be related to address book (search) preferences. I had 
to revert to log some time slices before leaving the office late at 
night, so I didn't manage to track it down any further than I've 
already described.



I'd gladly try and confirm precisely what is happening, if you can 
give me some hints on the additional information you need?


2008-06-20 19:37:36 Michael Rubinsky Comment #2
State ⇒ Feedback
Reply to this comment
I think it is probably doing the wrong thing by not treating the
client addressbook as a 'special case' and ignoring it... either that
or Hermes should use a different part of the Turba lib/api.php
functionality.
So, are you saying that it's failing because the address book that is 
being used as the client address book is not listed in the address 
book preference?
2008-06-20 13:44:24 Chuck Hagenbuch Priority ⇒ 1. Low
 
2008-06-20 11:01:16 kyrian (at) ore (dot) org Comment #1
Type ⇒ Bug
State ⇒ Unconfirmed
Priority ⇒ 3. High
Summary ⇒ Turba / Hermes upgrade causes client addressbook to be ignored.
Queue ⇒ Hermes
Milestone ⇒
Patch ⇒ No
Reply to this comment
Hi Guys,



More spam from me about Horde because I picked a silly time to upgrade 
to a nightly snapshot ;-)



But hopefully the comment will prove useful, if not, please ignore ;-)



I've just tried going from:



turba-h3-2.1.7 / hermes-HEAD-2008-01-18 / whups-HEAD-2008-02-21



To:



turba-h3-2.2.1 / hermes-HEAD-2008-06-19 and hence 
whups-HEAD-2008-06-19 having seen the former two stop working.



Which was to no avail, so I have reverted.



Basically what happens with the latter configuration from a UI point 
of view is that the default addressbook is being used, and the client 
addressbook is being ignored.



I had hoped a reasonably easy fix could present itself and hence be 
added to the Hermes docs I've already provided, so I looked for one.



It seems to come down to that in _turba_search [via 
Hermes::listClients()] a call to Turba::getAddressBookOrder is doing 
something to wipe the client addressbook out of the list, and hence 
it's being ignored, and you end up with gaps in the client column of 
your timesheet listing.



I think it is probably doing the wrong thing by not treating the 
client addressbook as a 'special case' and ignoring it... either that 
or Hermes should use a different part of the Turba lib/api.php 
functionality.



I've tried merging config, sources and registry entries from my old 
and new versions together, including the extra 'provides' for Turba 
which looked the most likely culprit, combined with the 'addressbooks' 
pref in the latest version:



'clients/getClientSource', 'clients/clientFields', 
'clients/getClient', 'clients/getClients', 'clients/addClient', 
'clients/updateClient', 'clients/deleteClient', 'clients/searchClients'



...  and that just got messy and caused loops in the pages, so I gave 
up on that and just reverted.



Hope it helps in some way, if not, then never mind, although if I 
could get a heads-up when it's fixed or worked around, that would be 
appreciated, as I probably need to be able to upgrade Turba on account 
of the recently announced security issue.



Yours,



Kev,

oRe Net.



PS. Looking back on it I am not sure if Turba being upgraded on its 
own without Hermes being upgraded causes the issue, but I am fairly 
sure that's why I continued to upgrade the other two in the first place.


Saved Queries