diff --git a/lam/HISTORY b/lam/HISTORY
index 1b53442b..a9c99890 100644
--- a/lam/HISTORY
+++ b/lam/HISTORY
@@ -3,6 +3,7 @@ December 2012
- IMAP: support "/" as path separator (RFE 3575692)
- show server profile name on config pages (RFE 3579768)
- LAM Pro:
+ -> Custom fields for admin interface
-> MIT Kerberos support
-> Qmail user support
diff --git a/lam/docs/manual-sources/howto.xml b/lam/docs/manual-sources/howto.xml
index f2d52f8e..25a7b1e5 100644
--- a/lam/docs/manual-sources/howto.xml
+++ b/lam/docs/manual-sources/howto.xml
@@ -3422,35 +3422,128 @@ Run slapindex to rebuild the index.
- Attention: This module is only
- available for LAM Pro Self Service.
+ Limitations:
- To create custom fields for the Self Service please edit your Self
- Service profile and switch to tab "Module settings". Here you can add a
- new field. Simply fill the fields and press on "Add".
+ Custom fields cannot manage
- Please note that the field name cannot be changed later. It is the
- unique ID for this field.
+
+
+ structural object classes
+
- After you created your fields please press on "Sync fields with
- page layout". Now you can switch to tab "Page layout" and add your new
- fields like any other standard field.
+
+ (binary) attributes that require file uploads
+
+
+
+ multi-value attributes
+
+
+
+ attributes that require validation rules across multiple
+ attributes or cannot be described by a simple regular
+ expression
+
+
+
+ Activating the custom fields
+ module:
+
+ You may specify custom fields for all of your account types.
+ Please enter tab "Modules" in your server profile. Now activate the
+ "Custom fields (customFields)" module for all needed account
+ types.
-
+
- Examples for fields and their representation in Self
- Service:
+ Defining groups:
+
+ All input fields are devided into groups. A group may contain one
+ or more object classes and allows you to add/remove a certain set of
+ input fields.
+
+ E.g. you may define two groups - "My application A" and "My
+ application B" - that manage different LDAP attributes and object
+ classes. This way you will be able to control both attribute sets
+ independently.
+
+ To create a group please edit your server profile and switch to
+ tab "Module settings". You will see the section "Custom fields" which
+ allows you to add new groups. Now select your account type (e.g. Users)
+ and specify an alias for your group. This alias will be printed as group
+ header when you later edit an account in the admin interface.
+
+
+
+
+
+
+
+
+
+ After you created your new group you can setup the managed object
+ classes. If you specify any object classes then you will later be able
+ to add/remove a complete set of attributes including their object
+ classes.
+
+ Skipping the object classes field is only useful if you want to
+ manage some attributes that are not yet supported by LAM but there is
+ already a LAM module that manages the object class.
+
+
+
+
+
+
+
+
+
+ The group may look like when you edit a user.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Adding fields:
+
+ Now you can add a new field that manages an LDAP attribute. Simply
+ fill the fields and press on "Add".
+
+ Please note that the field name cannot be changed later. It is the
+ unique ID for this field.
+
+
+
+
+
+
+
+
+
+ Examples for fields and their representation:Text field:
- Text fields can be set read-only. They allow to specify a validation
+ Text fields allow to specify a validation
expression and error message.
@@ -3461,7 +3554,7 @@ Run slapindex to rebuild the index.
- Presentation in Self Service:
+ Presentation:
@@ -3485,7 +3578,7 @@ Run slapindex to rebuild the index.
- Presentation in Self Service:
+ Presentation:
@@ -3502,7 +3595,7 @@ Run slapindex to rebuild the index.
and rows.Please note that the validation
+ linkend="customFields_validation_expressions_admin">validation
expression should be set to multi-line. This is done by adding
"m" at the end.
@@ -3514,7 +3607,7 @@ Run slapindex to rebuild the index.
- Presentation in Self Service:
+ Presentation:
@@ -3539,7 +3632,7 @@ Run slapindex to rebuild the index.
- Presentation in Self Service:
+ Presentation:
@@ -3566,7 +3659,7 @@ Run slapindex to rebuild the index.
- Presentation in Self Service:
+ Presentation:
@@ -3580,7 +3673,9 @@ Run slapindex to rebuild the index.
Select lists allow the user to select a value in a large list of
options. The definition of the possible values and their display is
- equal to radio buttons.
+ similar to radio buttons.
+
+ You can also allow multiple values.
@@ -3590,7 +3685,7 @@ Run slapindex to rebuild the index.
- Presentation in Self Service:
+ Presentation:
@@ -3600,7 +3695,15 @@ Run slapindex to rebuild the index.
-
+
+
+
+
+
+
+
+ Validation expressions:The validation expressions follow the standard of uid=<user name>,...
+
+
+ Custom fields (LAM Pro)
+
+ This module allows you to manage LDAP attributes that are not
+ covered by the other LAM modules (e.g. if you use custom LDAP
+ schemas). You can fully define how your input fields look
+ like:
+
+
+
+ Label
+
+
+
+ LDAP attribute name
+
+
+
+ Unique name for field
+
+
+
+ Read-only display
+
+
+
+ Field type: text, password, text area, checkbox, radio
+ buttons, select list
+
+
+
+ Validation via regular expression
+
+
+
+ Error message if validation fails
+
+
+
+ To create custom fields for the Self Service please edit your
+ Self Service profile and switch to tab "Module settings". Here you
+ can add a new field. Simply fill the fields and press on
+ "Add".
+
+ Please note that the field name cannot be changed later. It is
+ the unique ID for this field.
+
+ After you created your fields please press on "Sync fields
+ with page layout". Now you can switch to tab "Page layout" and add
+ your new fields like any other standard field.
+
+
+
+
+
+
+
+
+
+ Examples for fields and their representation in Self
+ Service:
+
+ Text field:
+
+ Text fields allow to specify a validation
+ expression and error message.
+
+
+
+
+
+
+
+
+
+ Presentation in Self Service:
+
+
+
+
+
+
+
+
+
+ Password field:
+
+ You can also manage custom password fields. LAM Pro will
+ display two fields where the user must enter the same password. You
+ can hash the password if needed.
+
+
+
+
+
+
+
+
+
+ Presentation in Self Service:
+
+
+
+
+
+
+
+
+
+ Text area:
+
+ This adds a multi-line field. The options are similar to text
+ fields. Additionally, you can set the size with the number of
+ columns and rows.
+
+ Please note that the validation
+ expression should be set to multi-line. This is done by
+ adding "m" at the end.
+
+
+
+
+
+
+
+
+
+ Presentation in Self Service:
+
+
+
+
+
+
+
+
+
+ Checkbox:
+
+ Sometimes you may want to allow only yes/no values for your
+ LDAP attributes. This can be represented by a checkbox. You can
+ specify the values for checked and unchecked. The default value is
+ set if the LDAP attribute has no value.
+
+
+
+
+
+
+
+
+
+ Presentation in Self Service:
+
+
+
+
+
+
+
+
+
+ Radio buttons:
+
+ This displays a list of radio buttons where the user can
+ select one value.
+
+ You can specify a mapping of LDAP attribute values and their
+ display (label) on the Self Service page. To add more mapping fields
+ please press "Add more mapping fields".
+
+
+
+
+
+
+
+
+
+ Presentation in Self Service:
+
+
+
+
+
+
+
+
+
+ Select list:
+
+ Select lists allow the user to select a value in a large list
+ of options. The definition of the possible values and their display
+ is similar to radio buttons.
+
+ You can also allow multiple values.
+
+
+
+
+
+
+
+
+
+ Presentation in Self Service:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Validation expressions:
+
+ The validation expressions follow the standard of Perl regular
+ expressions. They start and end with a "/". The beginning of
+ a line is specified by "^" and the end by "$".
+
+ Examples:
+
+ /^[a-z0-9]+$/ allows small letters and numbers. The value must
+ not be empty ("+").
+
+ /^[a-z0-9]+$/i allows small and capital letters ("i" at the
+ end means ignore case) and numbers. The value must not be empty
+ ("+").
+
+ Special characters that must be escaped with "\": "\", ".",
+ "(", ")"
+
+ E.g. /^[a-z0-9\.]$/i
+
diff --git a/lam/docs/manual-sources/images/customFields10.png b/lam/docs/manual-sources/images/customFields10.png
index 1bd975bb..c8e77788 100644
Binary files a/lam/docs/manual-sources/images/customFields10.png and b/lam/docs/manual-sources/images/customFields10.png differ
diff --git a/lam/docs/manual-sources/images/customFields12.png b/lam/docs/manual-sources/images/customFields12.png
index 0b271d3e..72e5fd92 100644
Binary files a/lam/docs/manual-sources/images/customFields12.png and b/lam/docs/manual-sources/images/customFields12.png differ
diff --git a/lam/docs/manual-sources/images/customFields14.png b/lam/docs/manual-sources/images/customFields14.png
new file mode 100644
index 00000000..fc9561ae
Binary files /dev/null and b/lam/docs/manual-sources/images/customFields14.png differ
diff --git a/lam/docs/manual-sources/images/customFields15.png b/lam/docs/manual-sources/images/customFields15.png
new file mode 100644
index 00000000..0d0fd370
Binary files /dev/null and b/lam/docs/manual-sources/images/customFields15.png differ
diff --git a/lam/docs/manual-sources/images/customFields16.png b/lam/docs/manual-sources/images/customFields16.png
new file mode 100644
index 00000000..e1a16e92
Binary files /dev/null and b/lam/docs/manual-sources/images/customFields16.png differ
diff --git a/lam/docs/manual-sources/images/customFields17.png b/lam/docs/manual-sources/images/customFields17.png
new file mode 100644
index 00000000..16f542ee
Binary files /dev/null and b/lam/docs/manual-sources/images/customFields17.png differ
diff --git a/lam/docs/manual-sources/images/customFields18.png b/lam/docs/manual-sources/images/customFields18.png
new file mode 100644
index 00000000..857f6370
Binary files /dev/null and b/lam/docs/manual-sources/images/customFields18.png differ
diff --git a/lam/docs/manual-sources/images/customFields19.png b/lam/docs/manual-sources/images/customFields19.png
new file mode 100644
index 00000000..79f09a60
Binary files /dev/null and b/lam/docs/manual-sources/images/customFields19.png differ
diff --git a/lam/docs/manual-sources/images/customFields2.png b/lam/docs/manual-sources/images/customFields2.png
index 1ac8f6fb..4af113d0 100644
Binary files a/lam/docs/manual-sources/images/customFields2.png and b/lam/docs/manual-sources/images/customFields2.png differ
diff --git a/lam/docs/manual-sources/images/customFields20.png b/lam/docs/manual-sources/images/customFields20.png
new file mode 100644
index 00000000..d33f3cba
Binary files /dev/null and b/lam/docs/manual-sources/images/customFields20.png differ
diff --git a/lam/docs/manual-sources/images/customFields6.png b/lam/docs/manual-sources/images/customFields6.png
index 06f4486d..ea4625e4 100644
Binary files a/lam/docs/manual-sources/images/customFields6.png and b/lam/docs/manual-sources/images/customFields6.png differ
diff --git a/lam/docs/manual-sources/images/customFields8.png b/lam/docs/manual-sources/images/customFields8.png
index fbe9bb61..41936eac 100644
Binary files a/lam/docs/manual-sources/images/customFields8.png and b/lam/docs/manual-sources/images/customFields8.png differ