You use the field name to match the attribute defined on the resource to the text entry field that is displayed on the web page. When the resource is defined, the system sets up a schema map that maps resource account attributes to Identity Manager attributes. For example, your Active Directory resource might have attributes that include firstname, lastname, and Office Phone. When referring to these attributes in the form, you must know the name of the attribute on the Identity Manager schema plus the path to the attribute from the view.
There are two ways of defining the name attribute of the Field element:
The name attribute typically contains a path to an attribute within the user view.
The name attribute is used to identify the field so that it can be referenced by other fields in the form or by a FieldRef element. This occurs when fields are defined to represent containers of other fields and do not correspond to any one attribute of the view.
Determining whether a Field name represents a path expression for the view or is simply a reference name depends on the value of the class attribute selected in the Display element. If the display class is the name of an editing component class, then the name is expected to be a path expression for the view. See the section titled HTML Display Components for a detailed explanation of the component classes.
Typically, you define a Field name by including the path to an attribute in the user view (the path expression). For a list of these attributes, see Chapter 3, Identity Manager Views.
The following field definition renders a text field to edit the Identity Manager email address:
<Field name=’waveset.email’> <Display class=’Text’> <Property name=’size’ value=’60’/> </Display> </Field>
The string waveset.email is a path expression for the user view that targets the email address stored in the Identity Manager repository.
This example field edits the email address defined for a particular resource account. The field name references a resource in the account:
<Field name=’accounts[Active Directory].email’> <Display class=’Text’> <Property name=’size’ value=’60’/> </Display> </Field>
The string accounts[Active Directory].email is a path expression to another location within the user view that holds information about account attributes for a specific resource. In this example, the resource named Active Directory.
This example field defines the email address for all resources including Identity Manager that contain an attribute named email on the left side of the schema map.
<Field name=’global.email’> <Display class=’Text’> <Property name=’size’ value=’60’/> </Display> </Field>
Naming a field provides you a way to reference the field value in other fields. Use the <ref></ref> tag set to reference a field value from another field. The following example concatenates into the fullname field the firstname and lastname field values with a string, a comma, and a space such as: lastname, firstname. The <s> tag designates a string.
<Field name=’global.firstname’> <Display class=’Text’/> </Field> <Field name=’global.lastname’> <Display class=’Text’/> </Field> <Field name=’global.fullname’> <Expansion> <concat> <ref>global.lastname</ref><s>, </s> <ref>global.firstname</ref> </concat> </Expansion> </Field>
Not all Field names represent path expressions for the view. Some fields are defined to represent containers of other fields and do not correspond to any one attribute of the view. In these cases, the Field name is used to identify the field so that it can be referenced by a FieldRef element. If the field does not need to be referenced, you do not need to specify the name.
For example, a form button performs an action, but does not contain a value or need to be referenced by another form. Therefore, it does not need a field name:
<Field> <Display class=’Button’> <Property name=’label’ value=’Recalculate’/> <Property name=’command’ value=’Recalculate’/> </Display> </Field>
For more information on user views, see the section titled User View and Forms.