This document describes the type interface for LDAP Account Manager


Account types are used to manage a group of accounts by grouping one or more account modules. Examples for account types are user, group, host and smbDomain.

1. Location and naming of types

All LAM types are placed in lib/types/ and are named "<class name>.inc".
E.g. if you create a new type and its class name is "myUser" then the filename would be "myUser.inc".

The class name of a type must contain only a-z, A-Z, 0-9, -, and _.
All type classes should extend the baseType class.

2. Functions

2.1. getAlias


function getAlias()

Returns the alias name for this type. E.g. the alias for smbDomain is "Samba domains".

2.2. getDescription


function getDescription()

Returns a description for the account type. This should be a short sentence describing the account type.

2.3. getListClassName


function getListClassName()

Here you can specify your own class to handle the list view. The class must be a subclass of lamList.

2.4. getDefaultListAttributes


function getDefaultListAttributes()

Returns the default setting for the displayed list attributes. It is used as default for config and the syntax is equal to the config setting.

2.5. getListAttributeDescriptions


function getListAttributeDescriptions()

Returns a hash array which contains predefined, translated descriptions of LDAP attributes.


Example:


return array(
    "sambaSID" => _("Domain SID"),
    "sambaDomainName" => _("Domain name")
    );