01.12.2010 09:15, Andreas Dick wrote: ...
As I understand is the today implementation of RC able to read such addressbooks allready...(?)
Ahm, I do not know, this is to core devs.
On the other hand, is it as well possible to create/move entries out of RC in a such setup?
As long as the same schema is used for that contacts. This is mainly about UI representation, just because showing LDAP objects in a general way like most LDAP editors do is always ugly. Anyways, using general LDAP object editor for addressbook is an overkill.
How can RC get new UUIDs for new contacts?
What case do you mean exactly? When RC adds new contacts? Then UUID should be generated by RC. And, of course, it should be first verified that generated UUID does not exist in a directory. There is very small chance that it is already there, and then UUID should be regenerated. If you add contact from outside, then you need to generate that UUID in that tool.
And how can RC handle (add/del/move) groups then?
Do you mean add/delete/move contacts to/from/between groups? You just need to call ldap_modify() on group objects for that. Unfortunately, PHP's implementation of ldap_modify() sucks, you'll need to first read whole list of UUIDs from an object, and then supply whole array of UUID attributes back to ldap_modify(). There is no way to just insert or remove one value of multi-valued attribute, you need to replace all values. I use heavily patched ldap module for my needs which has this fine-grained modify operation, and I'd willing to push changes upstream, but PHP devs community is too unfriendly:
http://sgehrig.wordpress.com/2009/11/06/reading-paged-ldap-results-with-php-...
http://bugs.php.net/bug.php?id=42060
http://sys-net.it/~ando/Download/index.html
After reading that I decided not to even try to push my patches just to save my nerves.
So, I'd better use pure PHP implementation of LDAP operations if one exists.
-> this is what I need and what I will try to implement first for an easy LDAP situation: groups with subdirs, which in my opinion can be read out of every client out there....(?)
Could you please rephrase?
List info: http://lists.roundcube.net/dev/ BT/aba52c80