Base To-Do/SDBC driver for LDAP directories

From Apache OpenOffice Wiki
< Base To-Do
Revision as of 20:51, 12 March 2010 by R4zoli (Talk | contribs)

Jump to: navigation, search

Description

LDAP (Lightweight Directory Access Protocol) is very often used in companies to store address data which need to be accessed by all employees. Thus, it's desrirable to access LDAP directories in OpenOffice.org, for instance for doing mail merges with it.

OpenOffice.org already features accessing LDAP data, by shipping Mozilla components which enable access to LDAP servers. However, this solution has some disadvantages, the most prominent being that the broad variety of LDAP schemes (i.e. which LDAP classes and attributes actually used to reflect the data being of interest) is not captured currently - we use a fixed mapping from LDAP to an OOo table, which seriously limits the use of this feature for some people/organizations.

To enable everybody to access the LDAP data of her choice in OOo, we would need to write a dedicated SDBC driver, which "flattens" an LDAP directory to a database table (i.e. provides the data of an LDAP directory as set of rows), but would be fully customizable. This means the user can herself decide which LDAP attribute should be mapped to which "table column" in the "databases table" provided by the SDBC driver.

The driver would probably not need to make extensive use of our own query engine. Since by design, LDAP is very strong in querying only selected data, the driver would translate SQL WHERE clauses into LDAP restrictions and let the server do the work (as it should be with any good database :).

As a first step, such a customization would take place in the configuration. As a second step, a user interface needs to be created, which allows the user to conveniently change this mapping.

  • required skills: C++, familiarity with UNO
  • useful skills: familiarity with LDAP, familiarity with OOo's database access API
  • Contact: mailto:dev@dba.openoffice.org
  • effort: 4 weeks for the driver, 2 week for the customizability, 3 weeks for a possible user interface
  • difficulty: medium
Personal tools