From b8926fcae699f41b978fb2df25ccd14baad20d40 Mon Sep 17 00:00:00 2001 From: Roland Gruber Date: Mon, 10 Jan 2005 10:58:05 +0000 Subject: [PATCH] updated for new base module meaning --- lam/docs/devel/config_pages.htm | 6 ++-- lam/docs/devel/mod_general.htm | 50 ++++++++++++++++++++++++++++-- lam/docs/modules-specification.htm | 15 +++------ 3 files changed, 55 insertions(+), 16 deletions(-) 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*