# General

Is there a public name-your-favourite-vcs-tool-here repo?
  The git repository is publicly readable and you can submit pull requests there.
How many developers are working on it?
  One.
Is it open source?
  Yes, see download page.
Does it have good name-your-favourite-star-rating-here?
  I don't care ;-).

# Installation

SyntaxError: ...
  You are probably running a wrong Python version or one of the configuration modules is screwed up.
  Have a closer look at the traceback where the SyntaxError appears.
I've installed some packages coming with my favourite Linux distribution and get strange errors with...
  Note that many Linux distribution ship outdated Python modules in their package repositories. Thus for an easy start it is highly recommended to install in a virtual env like described in the installation instructions.
I have started web2ldap in stand-alone mode. It runs and accessing it from localhost works but I cannot access it over my network. What is wrong?

  For security reasons web2ldap does not bind to every interface in your system as default like other network demons do. You have to explicitly bind to a specific network interface by using command line arguments.
  `/opt/web2ldap/bin/web2ldap my.public.ether.addr port`

  E.g. you can enable binding to TCP port 1760 to all interfaces by

  `/opt/web2ldap/bin/web2ldap 0.0.0.0 1760`

I experience problems with session hijacking detection when accessing web2ldap through a web proxy or using HTTPS.
  Check out configuration parameter web2ldapcnf.session_checkvars and especially read the note about REMOTE_ADDR and REMOTE_HOST.

# Customizing

See also extra page customizing UI.

I want to avoid displaying the raw DNs in the search result table. How to do that?
  There are several possibilities:
  - Use configuration parameter search_tdtemplate.
  - Add the attribute displayName to your LDAP entry if appropriate in your schema (e.g. in object class inetOrgPerson).
I would like to setup some automatically filled fields. E.g. automatically set the cn (common name) attribute with the concatenation of values of the attributes givenName and sn (surname).

  There are two ways of achieving something like this:

  - Use LDIF templates for defining defaults for attributes when adding new entries (see host-/backend-specific parameter addform_entry_templates).
  - Implement a plug-in class for the attribute type.
I would like to define a "select" item for certain input fields.
  This can be easily done by defining a plug-in class based on base class web2ldap.app.schema.syntaxes.SelectList and register it as a LDAP syntax handler or explicitly for an attribute type. A simple example can be found in the plugin module for Samba, class SambaGroupType .
  The select list can also be defined based on LDAP URLs specifying a dynamic result set used for the select options. Watch out for plugin classes based on DynamicValueSelectList or DynamicDNSelectList.
  A simple example for that can also be found in the plugin module for Samba, class SambaGroupSID .
How to customize the HTML output to use different colors, different font size, etc.?
  Customization of layout can be done by defining a CSS file (cascaded style sheet). Almost all important HTML elements have own id or class attributes which can be used to define their appearance. Have a look at the example CSS files shipped with the source distribution package.

# Usage

I would like to upload a photo, a certificate or other binary attribute data. Is that possible?
  Yes. But up to now only a single value is supported per attribute. Uploading multiple binary attribute values is currently only possible via LDIF when adding or modifying an entry. You have to convert your binary data with a LDIF tool first and cut&paste its output into the LDIF input field or provide a URL in the LDIF line (see global configuration parameter web2ldapcnf.ldif_url_schemes).
I would like to delete a photo, a certificate or other binary attribute data. Is that possible?
  Yes, it is possible since version 0.10.0. An additional [Delete] link is shown for binary attributes. Note that in case of multi-valued attributes all attribute values are deleted. You cannot delete a single chosen attribute value.

# Integration

I want to refer to the web2ldap gateway from a web page. Is there a way to get a persistent URL?
  Yes, see section constructing persistent bookmarks for details.
Is there some way of nifty browser integration?
  With Mozilla-derived browsers you can use Custom Keywords.
Is Kerberos-based authentication supported?
  Yes. ldap0 has to been built with SASL/GSSAPI support and web2ldap has to be started in stand-alone mode by the end-user to use his/her ticket granting ticket (TGT). Make sure that only this particular end-user has access to web2ldap!