Summary | missing 'uid' in turba_browse |
Queue | Turba |
Queue Version | 2.3.1 |
Type | Bug |
State | Not A Bug |
Priority | 2. Medium |
Owners | jan (at) horde (dot) org |
Requester | rpolli (at) babel (dot) it |
Created | 06/10/2009 (5846 days ago) |
Due | |
Updated | 08/13/2009 (5782 days ago) |
Assigned | 06/12/2009 (5844 days ago) |
Resolved | 06/12/2009 (5844 days ago) |
Github Issue Link | |
Github Pull Request | |
Milestone | |
Patch | No |
retrieve objects, for historical reasons.
synchronization purposes i.e. for external data exchange,
It enables webservices to be a replacement of sql access.
if I create a cached browser for horde contacts/calendar, I got
browsing data <Id, modified, ..> but when i insert an item, the ws
returns the uid..
As cache checks etag/timestamp to (in)validate the item, actual horde
ws behavior makes impossible to create a "fast" cache, forcing to
continuously use getActionTimestamp on each item (with the overhead
due to the amount of ws call - about 1sec each).
Thx,
R.
retrieve objects, for historical reasons. UIDs are used for any
synchronization purposes i.e. for external data exchange, IDs are used
for internal exchange.
are identified by their IDs, not their UIDs in those contexts.
getActionTimestamp, ..)
All webservice methods are UID-oriented but this one..to me it's quite
confusing :)
Thx for your time,
R.
State ⇒ Not A Bug
for directory services like WebDAV, obrowser, etc. Objects are
identified by their IDs, not their UIDs in those contexts. It's *not*
there to list complete objects, use the list* and export methods for
that.
Assigned to Jan Schneider
Also, what relevance do the calendar methods have to the Turba
(address book) API? Though all the _browse ones should be as
consistent as possible...
here?
an important information to retrieve.
don't see it in any of our other _browse method implementations.
"created" fields..
let me know if you need some examples..
State ⇒ Feedback
here? I don't know what it would mean for webdav, for example, and I
don't see it in any of our other _browse method implementations.
Patch ⇒ Yes
State ⇒ Unconfirmed
Milestone ⇒ 2.3.1
Queue ⇒ Turba
Summary ⇒ missing 'uid' in turba_browse
Type ⇒ Bug
Priority ⇒ 2. Medium
note: if contact->getValue issues a call instead of a simple attribute
retrieval from an object, it could be optimized with a function like:
if ! defined(item[guid]):
item[guid] = item.getValue('_uid')
return item[guid]
Patch follows. The same in kronolith and maybe in all other modules...
@@ -580,6 +584,9 @@
if (in_array('created', $properties)) {
$results[$key]['created'] =
_turba_getActionTimestamp($contact->getValue('__uid'), 'add');
}
+ if (in_array('uid', $properties)) { // rpolli .,+2
+ $results[$key]['uid'] = $contact->getValue('__uid');
+ }
}
return $results;