Accessing OpenOffice.org User Profiles on an LDAP Server

From Apache OpenOffice Wiki
Jump to: navigation, search


OpenOffice.org can use an LDAP User Profile Back End to access user profiles, such as first name, last name, and address, on an LDAP server. As a result, you do not need to manually enter user profiles when you install OpenOffice.org on a network.

To retrieve user profiles for OpenOffice.org from an LDAP repository, you need to provide the LDAP User Profile Back End with the following information:

  • Location of the LDAP repository
  • Mapping file that identifies the attributes in the LDAP repository that are required to generate an OpenOffice.org user profile

Configuring OpenOffice.org to Retrieve User Profiles From an LDAP Repository

You specify the settings for the LDAP User Profile Back End in an XML file. OpenOffice.org loads these settings during startup. The structure of the XML file is defined by the configuration schema for the org.openoffice.LDAP component. The schema is located in install-dir/share/registry/schema/org/openoffice/LDAP.xcs.

To Configure OpenOffice.org to Access User Profiles From an LDAP Repository (up to OpenOffice.org 3.2.x)

  1. In a text editor, create an XML configuration file with the name LDAP.xcu.
    Documentation note.png A sample LDAP.xcu file is provided at install-dir/share/registry/data/org/openoffice/LDAP.xcu.sample.

    The structure of the LDAP.xcu.sample file is:

     <oor:component-data oor:name="LDAP" oor:package="org.openoffice" 
     xmlns:oor="http://openoffice.org/2001/registry" 
     xmlns:xs="http://www.w3.org/2001/XMLSchema" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <node oor:name="UserDirectory">
       <node oor:name="ServerDefinition">
         <prop oor:name="Server" oor:type="xs:string">
           <value>ldapserver.mycorp.com</value>
         </prop>
         <prop oor:name="BaseDN" oor:type="xs:string">
           <value>dc=mycorp,dc=com</value>
         </prop>
         <prop oor:name="Port" oor:type="xs:int">
           <value>389</value>
         </prop>
       </node>
       <!-- The following settings should be omitted if anonymous access is possible -->
         <prop oor:name="SearchUser" oor:type="xs:string"> 
            <value>MyUserLogin</value>
         </prop> 
         <prop oor:name="SearchPassword" oor:type="xs:string"> 
            <value>MyPassword</value> 
         </prop> 
       <!-- End of strings that should be omitted if anonymous access is possible -->
       <prop oor:name="UserObjectClass" oor:type="xs:string">
         <value>inetorgperson</value>
       </prop>
       <prop oor:name="UserUniqueAttribute" oor:type="xs:string">
         <value>uid</value>
       </prop>
       <prop oor:name="Mapping" oor:type="xs:string">
         <value>oo-ldap</value>
       </prop>
     </node>
     </oor:component-data>
  2. Server
    Host name of the LDAP Server.
    BaseDN
    Root entry of the enterprise directory.
    Port
    Port number of the LDAP Server. The default port number is 389.
    SearchUser
    Distinguished Name (DN) of an existing user with read-only access to the LDAP repository.
    Documentation note.png This setting is only required if anonymous access is not supported by the LDAP server.
    SearchPassword
    Password of SearchUser.
    Documentation note.png This setting is only required if anonymous access is not supported by the LDAP server.
    UserObjectClass
    Object class that identifies user entities.
    For example, the user entity for an OpenDS Server might be inetOrgPerson. To find the DN of a user, you need to use this entity in conjunction with the UserUniqueAttribute attribute.
    UserUniqueAttribute
    Attribute that identifies user entities.
    For example, the UserUniqueAttribute for an LDAP repository that is on an OpenDS server might be uid. To find the DN of a user, you need to use this attribute in conjunction with the UserObjectClass. The server compares the value of this attribute to the login user name for the operating system.
    Mapping
    String that indicates a named mapping file, that is, $(Mapping)-attr.map.
    For example, if the LDAP repository is an OpenDS server, then the mapping entry is oo-ldap. This entry tells the LDAP User Profile Back End to use oo-ldap-attr.map as the mapping file. Alternatively, if the LDAP repository is an Active Directory, then the Mapping entry is oo-ad-ldap. This entry tells the LDAP User Profile Back End to use oo-ad-ldap-attr.map as the mapping file.
  3. Replace the value placeholders in the LDAP.xcu file with the mandatory settings for your LDAP server.
  4. Copy the LDAP.xcu file to install-dir/share/registry/data/org/openoffice/.

To Configure OpenOffice.org to Access User Profiles From an LDAP Repository (for OpenOffice.org 3.3 and higher)

Documentation caution.png If you have deployed the LDAP backend on any OpenOffice.org installations using previous versions of OpenOffice.org. You must migrate your old basis/share/registry/data/org/openoffice/LDAP.xcu (and basis/share/registry/ldap/*-attr.map) to the new basis/share/registry/oo-ldap.xcd when you upgrade to OpenOffice.org 3.3 or higher. If you do not migrate the LDAP configurations, OpenOffice.org will not be able obtain the relevant user data from LDAP.


  1. In a text editor, create an XML configuration file with the name oo-ldap.xcd. This file should contain the same LDAP information as described above. In addition, this file also contains the OpenOffice.org configuration properties using oor:external attributes to specify the corresponding LDAP attributes. The value of an oor:external attribute must be the service name com.sun.star.configuration.backend.LdapUserProfileBe followed by a space and then followed by one or more LDAP attribute names (which may not contain commas) separated by commas (and no interspersed spaces).
    Documentation note.png A sample file for Sun Java System Directory Server is provided at basis/share/registry/oo-ldap.xcd.sample, and basis/share/registry/oo-ad-ldap.xcd.sample for Windows Active Directory Server.
  2. Replace the value placeholders in the oo-ldap.xcd file with the mandatory settings for your LDAP server.
  3. Copy the oo-ldap.xcd file to basis/share/registry/.

Mapping LDAP User Profiles (up to OpenOffice.org 3.2.x)

Documentation caution.png The LDAP.xcu.sample, oo-ldap-attr.map, oo-ad-ldap-attr.map files and corresponding directories have been removed in OpenOffice.org 3.3. The OpenOffice.org configuration property /org.openoffice/LDAP/UserDirectory/Mapping is no longer used in OpenOffice.org 3.3 and higher, and has been marked as obsolete.

By default, an OpenOffice.org installation (up to OpenOffice.org 3.2.x) includes two meta-configuration mapping files that map OpenOffice.org user profile attributes to LDAP attributes. The LDAP User Profile Back End uses the install-dir/share/registry/ldap/oo-ldap-attr.map mapping file for a Sun Java System Directory Server and the install-dir/share/registry/ldap/oo-ad-ldap-attr.map mapping file for a Windows Active Directory Server. The Mapping entry in the LDAP.xcu file indicates which mapping file to use. For example, oo-ldap indicates the oo-ldap-attr.map file.

Documentation note.png If you want to change the location of the mapping files, then edit the CFG_LdapMappingUrl entry in the install-dir/program/configmgrrc file to point to the new location of the file. In Windows, this entry is in the install-dir/program/configmgr.ini file.

You can also create a custom user profile mapping file for an alternative LDAP server.

To Create a Custom User Profile Mapping File

  1. Create a text file with the name oo-ldap-server-type-attr.map.
    Tip.png Edit a copy of an existing mapping file, for example, install-dir/share/registry/ldap/oo-ldap-attr.map.
  2. Type the mapping information.
    Each line in the file must have the following format: user-profile-attribut=LDAP-attribute1,LDAP-attribute2,...,LDAP-attribute-n.
    You can only map user profile attributes that are present in the OpenOffice.org configuration schema. The file name path for this schema is install-dir/share/registry/schema/org/openoffice/UserProfile.xcs. You can edit the list of corresponding LDAP attributes to show which attributes in the user entries hold the personal data. The LDAP server sequentially queries each LDAP attribute in the list.
  3. Copy the mapping file to the install-dir/share/registry/ldap/ directory.
    Documentation note.png You need administrator rights to copy the mapping file to this directory on a network installation.
  4. In the install-dir/share/registry/data/org/openoffice/LDAP.xcu file, change the value of the Mapping property to the string that appears before the -attr.map in the name of the mapping file.
    For example, the value of the Mapping property for the file.
Content on this page is licensed under the Public Documentation License (PDL).
Personal tools
In other languages