Accessing Apache OpenOffice User Profiles on an LDAP Server

From Apache OpenOffice Wiki
Jump to: navigation, search


Apache OpenOffice 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 Apache OpenOffice on a network.

To retrieve user profiles for Apache OpenOffice 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 Apache OpenOffice user profile

Configuring Apache OpenOffice to Retrieve User Profiles From an LDAP Repository

You specify the settings for the LDAP User Profile Back End in LDAP.xcu, an XML file. Apache OpenOffice loads these settings during startup. The structure of the LDAP.xcu 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 Apache OpenOffice to Access User Profiles From an LDAP Repository

  1. In a text editor, create an XML configuration file with the name LDAP.xcu Template:Documentation/Note 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>
    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.

    Template:Documentation/Note

    SearchPassword
    Password of SearchUser.

    Template:Documentation/Note

    UserObjectClass
    Object class that identifies user entities.
    For example, the user entity for an OpenDS Server 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 is 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, 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, 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.
  2. Replace the value placeholders in the LDAP.xcu file with the mandatory settings for your LDAP server.
  3. Copy the LDAP.xcu file to install-dir/share/registry/data/org/openoffice/.

Mapping LDAP User Profiles

By default, an Apache OpenOffice installation includes two meta-configuration mapping files that map Apache OpenOffice 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.

Template:Documentation/Note

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. Template:Documentation/Tip
  2. Enter the mapping information.
    Each line in the file must have the following format:
    <User Profile Attribute>=<LDAP Attribute 1>,<LDAP Attribute 2>,...,<LDAP Attribute N>Template:Documentation/Note
  3. Copy the mapping file to the <Apache OpenOffice installation directory>/share/registry/ldap/ directory.Template:Documentation/Note
  4. In a text editor, open the <Apache OpenOffice installation directory>/share/registry/data/org/openoffice/LDAP.xcu file.
  5. 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