LDAP API Module work underway

Events happening in the community are now at Drupal community events on www.drupal.org.
johnbarclay's picture

We started work on the LDAP API module and have 3 maintainers. I hadn't noticed this group until today and wanted to let everyone know what is up. The overview below is from the project page (http://drupal.org/project/ldap). I was searching for a G.D.O. group to host the design wiki on and found this one which is amazingly appropriate ;)

If you are interested in helping out with testing, coding, documentation, writing simpletests, etc., please reply to this discussion. If you maintain LDAP modules that have the potential to leverage the API, let us know so it can inform our architecture.


We are working on Drupal 6 and 7 versions of this concurrently. LDAP Integration is the module to go with if you need ldap now. We feel the need for an API model as the authorization and authentication are too tightly coupled in LDAP Integration have led to a number of unresolvable feature requests.

Functionality

  • Provide commonly used LDAP functions beyond those built into PHP. (see ldap_api.functions.inc)
  • Provide LDAP Server class for binding, searching, etc. to LDAP
  • Provide LDAP Server data structure, web interface and caching for LDAP Server configuration(s) with:
    - built in core parameters such as server address, port, binding credentials
    - hooks for other ldap modules to modify/extend ldap server configuration by
    - adding fields to configuration form
    - adding fields to ldap_api_servers via .install files or to "data" generic storage field with module name for namespace
    - flagging if a given server is enabled for that module.
  • Provide general ldap preferences to be used by other modules:
    - whether to encrypt passwords
    - whether to require ad user passwords are entered over ssl
  • Provide basic status and testing functions for servers with hooks available to other ldap modules
    - status check for ldap extension installed
    - other helper functions previously in ldap help
  • Implementation of exportables, patterns, and other export/import functionality for configuration data.

Design Principles of LDAP API

  • #D7AX - We pledge to make this module as accessible as it can be.
  • Simpletest Coverage.
  • Patterns and Features Support.
  • Internationalization
  • Leverage Other APIs
  • Provide Adequate Hooks
  • PDO in D7; no SQL
  • Drupal Coding Standards/li>
  • no PHP4 support
  • doxygen

Development Steps

  • flush out features of API
  • function and class stub out
  • code 6 and 7
  • D7 simpletests
  • Documentation
  • develop test modules to leverage api
  • rework api functions as informed by test modules

Comments

awesome

coderintherye's picture

First, just want to say this is excellent, and I hope to be able to help you write some simpletests.

Second, have you contacted the maintainers of LDAP_Integration? It would be best if we could make this a group effort to work off a common API.

Drupal evangelist.
www.CoderintheRye.com

Haven't Contacted LDAP Integration...

johnbarclay's picture

Good point. We'll have to make a point of letting the other ldap module maintainers know what we are up to also. It will be easier to do this once we get some code stubs agreed upon in the wiki. We have 3 maintainers thus far.

ldap_integration is a set of 3 modules: ldap auth, ldap groups, and ldap provisioning. All three have the potential to leverage an ldap api. We are definately making sure ldap api offers functionality to help with all three of these use cases. When we get the first iteration of the api, we will test it against ldap authentication, ldap authorization, and ldap provisioning modules. We also will be testing for ldap authentication with non ldap authorization and non ldap authenticaiton with ldap authorization. This decoupling is critical for a number scenarios on my campus alone.

screenshots added to wiki of ldap_api drupal 7

johnbarclay's picture

I added some screenshot of the drupal 7 prototype. Its very rough as we are still working out the functionality of the api. http://groups.drupal.org/node/68688

7-version?

kukle's picture

Hey,

is there allready a version for Drupal 7 @? Otherwise, any idea when you'll have the possibility to publish the 7-version, so I can start testing this wonderful idea for my next project after Drupal 7 is released (new intranet in Drupal 7 with auto-login by LDAP).

LDAP integration development and modules

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week