diff --git a/lam/docs/modules-specification.htm b/lam/docs/modules-specification.htm
index feec1198..cd533b51 100644
--- a/lam/docs/modules-specification.htm
+++ b/lam/docs/modules-specification.htm
@@ -17,10 +17,11 @@ E.g. if you create a new module and its class name is "qmail" then the
filename would be "qmail.inc".
The class name of a module must contain only a-z, A-Z, 0-9, -, and _.
-
+All module classes should extend the baseModule class.
2. Class functions
-2.1. Static functions
+2.1. Functions that have to work without superior accountContainer
+
These functions are called without instanciating an object of the
module class. They must not depend on class variables and are only
allowed to call other static functions.
@@ -69,7 +70,7 @@ a-z, A-Z, 0-9, -, _ and spaces.
The $scope parameter defines
the account type ("user", "group", "host" at this time).
-2.1.3. is_base_module
+2.1.3. is_base_module*
@@ -77,7 +78,7 @@ the account type ("user", "group", "host" at this time).
function is_base_module($scope)
+ style="font-weight: bold;">function is_base_module()
|
@@ -85,16 +86,14 @@ the account type ("user", "group", "host" at this time).
Returns true if your module is
a base module and otherwise false.
-$scope is the account type
-("user", "group", "host" at this time).
-
+
Every account type needs at least one base module. A base module
defines a full qualified account.
E.g. modules that use the object class posixAccount may be base modules
as it makes sense to manage these Unix accounts. On the other hand the
quota module is no base module as it needs posixAccount.
-2.1.4. get_ldap_filter
+2.1.4. get_ldap_filter*
@@ -160,6 +159,43 @@ your module depends on one of these modules.
=> array("exim"));
+2.1.6. get_metaData()
+
+
+
+
+ function get_metaData()
+ |
+
+
+
+
+Returns an hash array including meta data for the baseModule.
+
+Example: return array("is_base" =>
+true);
+
+2.1.7. get_scope()
+
+
+
+
+ function get_scope()
+ |
+
+
+
+
+Returns the account type (user/group/host) of this module object.
+
+This function is provided by the
+baseModule and should not be overwritten.
2.2. Class functions
2.2.1. Constructor
@@ -245,7 +281,7 @@ It must return the help entry as array for the submitted help
identifier. The format of the array to be returned is described in
section 4. "Help entry syntax".
-2.1.5. get_profileOptions
+2.2.5. get_profileOptions
@@ -273,7 +309,7 @@ as keywords to load and save profiles. We recommend to use the module
name as prefix for them (e.g. posixAccount_homeDirectory) to avoid
naming confilcts.
-2.1.6. check_profileOptions
+2.2.6. check_profileOptions
@@ -326,6 +362,10 @@ user to decide which fields are to be displayed on the PDF file. The
format of the array to be returned is described in section 5. "PDF
syntax".
+
+*: These functions do not need to be
+implemented if meta data is supplied. See 6 for a list of meta data
+formats.
3. Meta HTML code
@@ -515,5 +555,17 @@ which should be displayed when this help entry is called.
5. PDF syntax
+
+
+6. Module meta data
+6.1 is_base_module()
+ "is_base" => boolean
+
+6.2 get_ldap_filter()
+ "ldap_filter" => array
+
+ Example: array('or' =>
+'objectClass=posixAccount', 'and' => '(!(uid=*$))')