diff --git a/lam/docs/devel/config_pages.htm b/lam/docs/devel/config_pages.htm
index 27efa4d3..cd2a5e05 100644
--- a/lam/docs/devel/config_pages.htm
+++ b/lam/docs/devel/config_pages.htm
@@ -54,9 +54,9 @@ in modules.inc and checked for dependencies/conflicts with check_module_depends()
and check_module_conflicts().
-Each account type needs a base module
-which provides the base of a senseful account. It also provides the
-LDAP search filter for the account lists.
+Each account type needs exactly one base
+module
+which is the base of a account by providing a structural object class.
Configuration - Save settings (confsave.php):
diff --git a/lam/docs/devel/mod_general.htm b/lam/docs/devel/mod_general.htm
index 56855b03..3e108b68 100644
--- a/lam/docs/devel/mod_general.htm
+++ b/lam/docs/devel/mod_general.htm
@@ -51,7 +51,51 @@ get_metaData() {
-2. Alias name
+2. Base modules
+
+In LDAP every entry needs exactly one structural
+object class. Therefore all modules which provide a structural object class are marked
+as base module.
+
+This is done with is_base_module()
+or meta['is_base'].
+
+Example:
+
+The inetOrgPerson
+module manages the structural object class "inetOrgPerson" and
+therefore is a base module.
+If your module is not a base module you can skip the meta data for
+this, default is false.
+
+
+
+
+ /**
+ * Returns meta data that is interpreted by parent
+class
+ *
+ * @return array array with meta data
+ */
+ function
+get_metaData() {
+ $return = array();
+ // base module
+
+ $return["is_base"] = true;
+ return $return;
+ }
+ |
+
+
+
+
+
+3. Alias name
The module name is very limited, therefore every module has an alias name. This alias name has no limitations and
@@ -100,7 +144,7 @@ get_metaData() {
-3. Dependencies
+4. Dependencies
Modules can depend on eachother. This is useful if you need to access
attributes from other modules or the managed object classes of your
module are not structural.
@@ -148,7 +192,7 @@ array('account'), 'conflicts' => array());
-4. Messages
+5. Messages
There are many situations where you will display messages to the user.
The modules should define such messages at a common place to make it
easier to modify them without searching the complete file.
diff --git a/lam/docs/modules-specification.htm b/lam/docs/modules-specification.htm
index 387b4ece..9f317f60 100644
--- a/lam/docs/modules-specification.htm
+++ b/lam/docs/modules-specification.htm
@@ -83,11 +83,10 @@ sure that there is a general alias for unknown types.
Returns true if your module is
a base module and otherwise false.
-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.
+Every account type needs exactly one base module. A base module manages
+a structural object class.
+E.g. the inetOrgPerson module is a base module since its object class
+is structural.
2.1.4. get_ldap_filter*
@@ -115,11 +114,7 @@ The resulting LDAP filter will look like this:
Example: return "('or' =>
'(objectClass=posixAccount)', 'and' => '(!(uid=*$))')"
-
-This function
-is only used for base modules. Standard modules do not need to
-implement it.
-
+
2.1.5. get_RDNAttributes*