Technical Overview: Form Storage -- LDAP

From IHRIS Wiki

Form Storage Options

The options specifying a LDAP storage for $form are stored at:

/modules/forms/forms/$form/storage_options/LDAP

It has the following structure:

  • connect: required parent node which contains connection information to the ldap server
    • port: Optional scalar node. The port to connect to. Defaults to 389.
    • host: Optional scalar node. The server to connect to. Defaults to localhost.
    • user: Optional scalar node. The user node to bind on. Defaults to admin.
    • pass: Required scalar node. The password user to bind the user with.
    • bind_dn: Optional scalar node. DN to bind to. Defaults to 'dc=localhost' Results in a bind query of the form "cn=$user,$bind_dn"
  • list: Required parent node containing named list queries. The names are the names of the child nodes
    • records: Required parent node. The list query for getting record ids. Children are the options passed to the ldap_list call:
      • base_dn: Required scalar node. the base dn to do the listing on
      • filter: Required scalar node. The filter
      • attributes: Required parent node. Values of children are the attributes to be returned. The name of the child is how the attribute should be referenced. In the case of 'records', there should only one child, a child name 'id'
      • scope: Optional scale node. defaults to 'ONELEVEL'. Can be one of 'ONELEVEL', 'SUBTREE','BASE'