6.0.0-alpha10
5/21/25

[#7355] horde as kolab-webadmin
Summary horde as kolab-webadmin
Queue Kolab
Type Enhancement
State Resolved
Priority 1. Low
Owners thomas.jarosch (at) intra2net (dot) com, wrobel (at) horde (dot) org
Requester m.gabriel (at) das-netzwerkteam (dot) de
Created 09/18/2008 (6089 days ago)
Due
Updated 08/18/2009 (5755 days ago)
Assigned 11/06/2008 (6040 days ago)
Resolved 08/18/2009 (5755 days ago)
Milestone
Patch Yes

History
08/18/2009 10:37:45 PM Jan Schneider Comment #3
State ⇒ Resolved
Reply to this comment
I guess this can be resolved now that there is koward?
11/07/2008 01:44:28 PM Gunnar Wrobel Comment #2
State ⇒ Stalled
Reply to this comment
Turba is an address book, not a user manager. Kolab will not mix these 
two aspects and any user management features need to be added to the 
Horde admin menu.



If you followed CVS you will have noticed that the Kolab_Server module 
as well as the Kolab driver in the Auth module got extended for 
managing Kolab users. There is currently no frontend for that but this 
will probably be created next year. If you have some time to invest 
into this it should not be too hard to write the pages in the Horde 
admin section required for Kolab user management.



Marking as "stalled" for now as I'm not going to work on this during 
the next months.
11/06/2008 03:09:45 AM Chuck Hagenbuch Assigned to Thomas Jarosch
State ⇒ Assigned
Assigned to Gunnar Wrobel
 
09/18/2008 02:26:26 PM m (dot) gabriel (at) das-netzwerkteam (dot) de Comment #1
Priority ⇒ 1. Low
Type ⇒ Enhancement
Summary ⇒ horde as kolab-webadmin
Queue ⇒ Kolab
Milestone ⇒
Patch ⇒ Yes
State ⇒ New
Reply to this comment
to maintain kolab LDAP data (inetOrgPerson only) as horde admin 
through horde i added my manager dn + pw to horde's conf.xml and 
accessed this through a modified kolab_global source in turba's 
sources.php.



conf.xml patch is attached, my kolab_global source definition is below:



<quote>

    /* Only use LDAP if we have that extension in PHP */

     if (function_exists('ldap_connect')) {

         require_once 'Horde/Kolab.php';



         if (!is_callable('Kolab', 'getServer')) {

             $_kolab_server = $GLOBALS['conf']['kolab']['ldap']['server'];

         } else {

             $_kolab_server = Kolab::getServer('ldap');

         }



         /* A global address book for a Kolab Server. This is typically a

          * read-only public directory, stored in the default Kolab 
LDAP server.

          * The user accessing this should have read permissions to the shared

          * directory in LDAP. */

         if ( Auth::isAdmin() ) {

             $_bind_dn = $GLOBALS['conf']['kolab']['ldap']['binddn'];

             $_bind_pw = $GLOBALS['conf']['kolab']['ldap']['bindpw'];

         } else {

             $_bind_dn = $GLOBALS['conf']['kolab']['ldap']['phpdn'];

             $_bind_pw = $GLOBALS['conf']['kolab']['ldap']['phppw'];

         }

         $cfgSources['kolab_global'] = array(

             'title' => _("Global Address Book"),

             'type' => 'ldap',

             'params' => array(

                 'server' => $_kolab_server,

                 'port' => $GLOBALS['conf']['kolab']['ldap']['port'],

                 'tls' => false,

                 'root' => $GLOBALS['conf']['kolab']['ldap']['basedn'],

                 'sizelimit' => 200,

                 'dn' => array('cn'),

                 'objectclass' => array(

                     'top',

                     'inetOrgPerson',

                     'kolabInetOrgPerson',

                 ),

                 'filter' => 'objectClass=kolabInetOrgPerson',

                 'scope' => 'sub',

                 'charset' => 'utf-8',

                 'version' => 3,

                 'bind_dn' => $_bind_dn,

                 'bind_password' => $_bind_pw,

             ),

             'map' => array(

                 '__key'             => 'dn',

                 'name'              => 'cn',

                 'firstname'         => 'givenName',

                 'lastname'          => 'sn',

                 'email'             => 'mail',

                 'alias'             => 'alias',

                 'title'             => 'title',

                 'company'           => 'o',

                 'workStreet'        => 'street',

                 'workCity'          => 'l',

                 'workProvince'      => 'st',

                 'workPostalCode'    => 'postalCode',

                 'workCountry'       => 'c',

                 'homePhone'         => 'homePhone',

                 'workPhone'         => 'telephoneNumber',

                 'cellPhone'         => 'mobile',

                 'fax'               => 'fax',

                 'notes'             => 'description',

                 'freebusyUrl'       => 'kolabHomeServer',

             ),

             'search' => array(

                 'name',

                 'firstname',

                 'lastname',

                 'email',

                 'title',

                 'company',

                 'workAddress',

                 'workCity',

                 'workProvince',

                 'workPostalCode',

                 'workCountry',

                 'homePhone',

                 'workPhone',

                 'cellPhone',

                 'fax',

                 'notes',

             ),

             'strict' => array(

                 'dn',

             ),

             'export' => true,

             'browse' => true,

         );

     }



</quote>

Saved Queries