Web Center Tag Library

This chapter provides information about the Web Center tag library.

Certification Tags

This section describes the usage of the DirX Identity Web Center certification tag library.Its tags are intended to be used in action JSPs.

To use a certification tag in a JSP page, include the following tag library directive in the page:

<%@ taglib
    uri="http://www.siemens.com/directory/webManager/certification"
    prefix="cert" %>

Notes

  • The specified URI corresponds to the URI used in the tag library descriptor META-INF/webMgrCert_1_0.tld in the webManager.jar file, and cannot be changed.

  • The prefix is arbitrary but must be different from any other prefix used in the same page. The prefix used in the standard Web Center application is “cert”.

ResetCampaignState Tag

Description:

The tag resets the state of a certification campaign to 'PREPARING' and may also clear its dxrError attribute.

The tag returns the operation’s result:

  • ok: The campaign has been reset.

  • failed: Resetting the campaign failed.

  • disallowed: The authenticated user is not allowed to perform the operation.

Usage:

<cert:resetCampaignState Attributes/>

Attributes:

campaignId="campaignId"

The campaign DN (String).

[In; required; accepts a JSTL expression.]

clearLogs="true"|"false"

Whether to clear the dxrError attribute (boolean).

[In; optional; default: “true“; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the operation’s result (String).

[Out; optional; default: “result“; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

ResetEntry Tag

Description:

The tag discards any unsaved changes to the currently active certification entry.

Usage:

<cert:resetEntry/>

SaveEntry Tag

Description:

The tag saves changes to the currently active certification entry.

The mode attribute defines what is really done:

  • storeInMemory: Store the changes in memory but don’t write them to the database.

  • parameters: Store changes to role parameters in memory but don’t write them to the database.

  • save: Write all unsaved changes to the database.

  • saveAndFinish: Write all unsaved changes to the database and then finish the certification entry.

Unsaved changes can be undone by a calling the resetEntry tag.

The tag attributes include:

  • subjectDN: The DN of the user whose privilege assignments are certified.

  • objectSet: The privilege set to be saved. The supported sets are:

  • certifyRoles

  • certifyPermissions

  • certifyGroups

  • automaticallyAssignedRoles

  • automaticallyAssignedPermissions

  • automaticallyAssignedGroups

  • resources: The set of privilege assignments to be certified. The set must correspond to the specified object set. It’s the DirectoryEntryBean array underlying the relevant form property.

When storing role parameters, the object set must be “certifyRoles” and the tag attributes must include:

  • selectedItem: The index of the role (within the resources array) whose parameters are to be saved.

  • assignmentParameters: Any map including the role parameters. The map must contain a mapping for each parameter of the role assignment. The key for a role parameter in the map is the role parameter name. The values can be given as a String array or as an instance of class “com.siemens.webMgr.identityAPI.Parameter”. Note that user certification only supports deleting role parameter values, not adding or changing values. Caution: The role parameters are removed from the assignmentParameters map passed as input argument.

The tag returns the operation’s result:

  • saved: The changes have been stored or saved.

  • failed: The changes could not be stored or saved.

  • unfinished: The changes have been saved, but the certification entry could not be finished since some privilege assignments have not been accepted or rejected yet (mode “saveAndFinish“ only.)

Usage:

<cert:saveEntry Attributes/>

Attributes:

assignmentParameters="assignmentParameters"

The assignment parameters (java.util.Map).

[In; optional; accepts a JSTL expression.]

mode="parameters"|"save"|"saveAndFinish"|"storeInMemory"

The save mode.

[In; optional; default: “storeInMemory”; accepts a JSTL expression.]

objectSet="objectSet"

The privilege set to be saved (String).

[In; required; accepts a JSTL expression.]

resources="resources"

The privilege assignments to be certified (DirectoryEntryBean[]).

[In; required; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the operation’s result (String).

[Out; optional; default: “result“; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

selectedItem="selectedItem"

The index of the selected role for role parameter changes.

[In; optional; accepts a JSTL expression.]

subjectDN="subjectDN"

The DN of the subject of the certification entry (String).

[In; required; accepts a JSTL expression.]

SaveNotifications Tag

Description:

The tag saves the active flags of the notifications of a certification campaign.

The tag returns the operation’s result:

  • ok: The active flags of the notifications have been saved.

  • failed: Saving the notifications failed.

Usage:

<cert:saveNotifications Attributes/>

Attributes:

formName="formName"

The name of the form with the notification list.

[In; optional; accepts a JSTL expression.]

propertyName="propertyName"

The name of the form property with the notification list.

[In; optional; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the operation’s result (String).

[Out; optional; default: “result“; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

Controller Tags

This section describes the usage of the DirX Identity Web Center control tag library.Its tags are intended to be used mainly in action JSPs but some can be used in view JSPs as well.

To use a control tag in a JSP page, include the following tag library directive in the page:

<%@ taglib uri="http://www.siemens.com/directory/webManager/controller" prefix="ctrl" %>

Notes

  • The specified URI corresponds to the URI used in the tag library descriptor META-INF/webMgrCtrl_1_0.tld in the webManager.jar file, and cannot be changed.

  • The prefix is arbitrary but must be different from any other prefix used in the same page. The prefix used in the standard Web Center application is “ctrl”.

Assign Tag

Description:

The tag performs assignment or unassignment operations like

  • Assigning privileges to a user, role or group.

  • Assigning access rights to a delegation.

  • Assigning resources to an access right.

The tag attributes include:

  • The receiving object’s DN.

  • The set of available objects that might be assigned.

  • The set of objects already assigned to the receiving object.

  • The operation type that defines whether to

  • Assign all available objects.

  • Assign selected available objects.

  • Unassign all assigned objects.

  • Unassign selected assigned objects.

  • The selection, if just selected objects are to be assigned or unassigned.

The tag performs the requested assignments one by one. If it encounters a role assignment requiring role parameters, it interrupts processing of assignments and requests values for the role parameters from the caller.

The tag returns:

  • The updated list of available items.

  • The indexes of the not yet processed selected available items in the updated list.

  • The requested parameters for a role assignment.

If the tag requests to un-assign a privilege from a list of users, the un-assignment may fail for one or more users; for example, due to missing access rights. In this case, the tag sets the error message attribute in the HTTP session to the message key "privilegeAssign.warning.notUnassignable". The common names of the users for which the un-assignment has failed are combined into a single string and assigned to the error message parameter attribute in the HTTP session. You can define the delimiter between common names, a prefix preceding the first common name, and a suffix trailing the last common name via tag attributes. Note that the message is usually displayed via Javascript in the browser.

Usage:

<ctrl:assign Attributes/>

Attributes:

assigned="varName"

The name of the variable referencing the assigned objects (Object[]).

[In; optional; accepts a JSTL expression.]

assignmentParameters="varName"

The name of the variable referencing the mapping instance for the assignment parameters (java.util.Map). The map must contain the keys "selectedAvailable" and "selectedAssigned" each of which must point to a comma-separated list of item indexes in the respective object array. The list may be a simple String, or the first String in a String array.

The index of the first item is 0.

If no item is selected, specify “-1” or just null.

The map is updated during assignment and can be used later on for view update purposes.

[In/Out; optional; accepts a JSTL expression.]

available="varName"

The name of the variable referencing the available objects (Object[]).

[In; optional; accepts a JSTL expression.]

msgNameListDelim="msgNameListDelim"

The delimiter between privilege names in error messages including a privilege name list.

[In; optional; default: “\n- ”; accepts a JSTL expression.]

msgNameListPrefix="msgNameListPrefix"

The prefix preceding the first privilege name in error messages including a privilege name list.

[In; optional; default: “\n- ”; accepts a JSTL expression.]

msgNameListSuffix="msgNameListSuffix"

The suffix following the last privilege name in error messages including a privilege name list.

[In; optional; default: no suffix; accepts a JSTL expression.]

objectId="dn"

The unique identifier (DN) of the object receiving the assignment.

[In; required; accepts a JSTL expression.]

operation="assignAll"|"assignSelection"| "unassignAll"|"unassignSelection"

The operation to be performed.

[In; required; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for varNewAvailable, varNewParameters and varNewSelectedAvailable.

[In; optional; default: “page“; accepts a JSTL expression.]

varNewAvailable="varName"

The name of the variable to accept the new available items (DirectoryEntryBean[]).

[Out; optional; default: “newAvailable“; accepts a JSTL expression.]

varNewParameters="varName"

The name of the variable to accept the parameters for a role assignment (Parameter[]).

[Out; optional; default: “newParameters“; accepts a JSTL expression.]

varNewSelectedAvailable= "varName"

The name of the variable to accept the indexes of the new selected available items (String).

[Out; optional; default: “newSelectedAvailable“; accepts a JSTL expression.]

AssignPrivilegeToUsers Tag

Description:

The tag assigns a privilege to a list of users.

The tag attributes include:

  • The DN of the privilege to be assigned.

  • The DNs of the users the privilege is to be assigned to.

  • Start date, end date, role parameters and re-approval flag for the assignments, if any. The values do not vary with the users.

  • A flag that controls operation signing.

  • init: Don’t perform any assignment. Just generate and return an XML document to sign the assignments.

  • finish: Validate the provided signed document. Perform the assignments in the directory, and save the signed document.

  • The due date for the assignment.

  • The reason for requesting the assignments. The reason is displayed to potential approvers.

The tag returns:

  • The XML document to be signed if requested.

  • The operation’s result:

  • OK: The operation was successful.

  • READ_ERROR: The privilege could not be read.

  • DATE_CONFLICT: Start date lies after end date.

  • EMPTY_LIST: The user list is empty.

  • UNKNOWN_TYPE: The privilege DN denotes neither a role nor a permission nor a group.

  • ROLE_PARAMETERS_MISSING: No parameters provided for a role requiring parameters.

  • ASSIGNMENT_ERROR: The privilege could not be assigned to one or more users.

  • INVALID_SIGNATURE: The provided signature could not be validated.

  • SAVE_SIGNATURE_ERROR: The provided signature could not be saved.

  • Detailed information in case of assignment errors:

  • The DNs of the users the privilege has been assigned to.

  • The DNs of the users the privilege could not be assigned to.

The DNs of the users an approval workflow has been started for due to SoD violations.

Usage:

<ctrl:assignPrivilegeToUsers Attributes/>

Attributes:

dueDate="dueDate"

The assignment due date.

[In; optional; accepts a JSTL expression.]

endDate="endDate"

The end date for the assignment.

[In; optional; accepts a JSTL expression.]

errorInfo="varName"

The name of the variable to accept error details in case of result ASSIGNMENT_ERROR: (Object[])

errorInfo[0]: String[]: User DNs of successful assignments

errorInfo[1]: String[]: User DNs of failed assignments

[Out; optional; default: “errorInfo”; accepts a JSTL expression.]

needsReapproval="true"|"false"

Whether the assignment must be re-approved.

[In; optional; default: “false“; accepts a JSTL expression.]

parameters="parameters"

The parameters for a role assignment.

[In; optional; accepts a JSTL expression.]

privilege="dn"

The DN of the privilege.

[In; required; accepts a JSTL expression.]

reason="reason"

The request reason.

[In; optional; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the operation’s result.

[Out; optional; default: “result“; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for errorInfo and result; defaults to "page".

[Out; optional; default: “page“; accepts a JSTL expression.]

scopeTextToBeSigned="page"|"request"|"session"| "application"

The scope of the variable to accept the text to be signed.

[Out; optional; default: “page“; accepts a JSTL expression.]

signedData="signedData"

The signed XML document.

[In; optional; accepts a JSTL expression.]

signState="init"|"finish"

Whether to start or finish signing the operation.

[In; optional; accepts a JSTL expression.]

startDate="startDate"

The start date for the assignment.

[In; optional; accepts a JSTL expression.]

users="dns"

The DNs of the users the privilege is to be assigned to (String[]).

[In; optional; accepts a JSTL expression.]

varTextToBeSigned="varName"

The name of the variable to accept the XML document to signed (String).

[Out; optional; default: “varTextToBeSigned“; accepts a JSTL expression.]

ChangePassword Tag

Description:

The tag performs user password changes. It can be used

  • When a user changes his password.

  • When an administrator resets a user password to a specific value.

  • To generate a random password that complies with a user’s password policy. In this case, the user password in the directory is left unchanged.

The tag attributes include:

  • The user’s DN.

  • The new password. If left unspecified, a password is automatically generated; in this case, the attributes login and reset are ignored

  • Whether the password is reset by an administrator or changed by the user himself. This impacts changes to various password management attributes.

  • Whether the user is regarded as logged in after the password change. This is usually the case if a user has been forced to change his password after a challenge/response authentication.

The tag returns:

  • The generated password for a successful password generation.

  • The string “saved“ for a successful password change.

  • The string “invalid“ if the provided password did not comply with the user’s password policy.

  • The string “failed“ if the password could not be changed or generated.

The tag can be used the same way for changing account passwords.

Usage:

<ctrl:changePassword Attributes/>

Attributes:

correlationId="correlationId"

The correlation identifier to enable password change tracking.

[In; optional; accepts a JSTL expression.]

login="true"|"false"

Whether the user is regarded as logged in after the password modification.

[In; optional; default: “false“; accepts a JSTL expression.]

masterAccounts="masterAccounts"

The user’s master accounts for password synchronization (DirectoryEntryBean[]).

[In; optional; accepts a JSTL expression.]

omitUser="true"|"false"

Whether both user and account passwords are to be changed, or account passwords only.

[In; optional; default: “false“; accepts a JSTL expression.]

password="password"

The new password.

[In; optional; accepts a JSTL expression.]

preventSyncAccountFlag="preventSyncAccountFlag"

The name of the form property that defines whether the password should be synchronized to the accounts.

[In; optional; accepts a JSTL expression.]

reset="true"|"false"

Whether the password is reset by an administrator, or changed by the user himself.

[In; optional; default: “false“; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the operation’s result (String).

[Out; optional; default: “result“; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

syncAccounts="syncAccounts"

The user’s accounts for password synchronization (DirectoryEntryBean[]).

[In; optional; accepts a JSTL expression.]

userId="dn"

The DN of the user whose password is to be changed.

[In; required; accepts a JSTL expression.]

CheckAccessPolicy Tag

Description:

The tag checks if the logged in user has the access right

  • To perform one or more operations on a given object, or on a set of objects, or

  • To select a given menu item.

To check for the right to perform an operation, include the following tag attributes:

  • The operations.

  • The DNs of the objects for the operation.

To check for the right to perform a menu item, leave the operation unspecified and include the following tag attributes:

  • The menu key; for example “SelfService.”

  • The menu item; for example: “summary.”

The tag returns:

  • Boolean.FALSE if the access right is not granted or the check couldn’t be performed for whatever reason.

  • Boolean.TRUE if the access right is granted, or if no operation or item was specified.

  • The operation that was denied.

Usage:

<ctrl:checkAccessPolicy Attributes/>

Attributes:

forward="forward"

Take additional operations from parameter “operation” of the action referenced by the specified forward of the current action.

[In; optional; accepts a JSTL expression.]

item="item"

The menu item.

[In; optional; accepts a JSTL expression.]

key="key"

The menu policy key.

[In; optional; accepts a JSTL expression.]

objectId="dnOrDNs"

The DN of the object (String) or the DNs of the objects (String[]) to perform the operation on.

[In; optional; accepts a JSTL expression.]

operation="operations"

The comma-separated list of operations to be checked.

[In; optional; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the operation’s result (Boolean).

[Out; optional; default: “result“; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

subset="some"|"all"

Whether to return "true" if performing the operation is allowed on at least one of the objects ("some") or only if it is allowed on objects ("all").

[In; optional; default: “some“; accepts a JSTL expression.]

varDisallowedOperation="varName"

The name of the variable to accept the operation that was denied (String).

[Out; optional; default: “disallowedOperation“; accepts a JSTL expression.]

CheckChallengeResponse Tag

Description:

The tag checks whether a user has correctly responded to challenges presented for authentication.

The tag attributes include:

  • The map of challenges presented to the user, and the responses given by the user.

The tag returns a boolean value indicating the operation’s result:

  • true: The user has responded correctly to the presented challenges.

  • false: The user has not responded correctly.

Usage:

<ctrl:checkChallengeResponse Attributes/>

Attributes:

challengesResponses="challengesResponses"

The map of challenges and responses (java.util.Map).

[In; required; accepts a JSTL expression.]

locked="varLocked"

The name of the variable indicating whether the user is currently locked from authenticating via CR (Boolean).

[Out; optional; default: “locked“; accepts a JSTL expression.]

minChallenges="minChallenges"

The minimum number of challenges to answer correctly.

[In; optional; default: see webCenter.properties; accepts a JSTL expression.]

objectId="dn"

The DN of the user whose password is to be checked.

[In; optional; default: the logged-in user; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the operation’s result (Boolean).

[Out; optional; default: “result“; accepts a JSTL expression.]

resultMap="resultMap"

A scoped variable of type Map<String,Boolean>. The map is filled with the check results (challenge -> true if answer ok, challenge -> false otherwise).

[Out; optional; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

CheckChallengeResponseCompliance Tag

Description:

The tag checks if challenge/response pairs entered by a user are compliant with the following rules:

  • The minimum number of pairs is specified. The number can be set via option “minEnteredChallenges” in file webCenter.properties.

  • All mandatory questions have been answered.

  • No response falls short of the minimum response length. The default minimum length is taken from configuration parameter “challengeResponses.minimumResponseLength” in file webCenter.properties.

  • There are no duplicate responses. This check can be enabled or disabled via option “challengeResponses.duplicateResponsesAllowed” in file webCenter.properties.

The tag attributes include:

  • The user’s DN.

  • The challenge/response pairs concatenated to a single string.

  • The delimiter between two adjacent challenge/response pairs.

  • The delimiter between challenge and response within a pair.

  • The minimum number of pairs (if different from the configured value).

  • The minimum response length.

The tag returns:

  • A string that indicates the operation’s result:

  • ok: The challenge/response comply with the requirements.

  • tooFewChallenges: Too few challenge/response pairs defined.

  • invalid: There are duplicate responses, or responses that fall short of the minimum response length, or unanswered mandatory questions.

  • failed: Missing DN, or the check could not be performed for some reason.

  • In case of result invalid, the invalid pairs are returned in an object of type Map<String,List<String>>. The keys are “mandatory”, “minLength” and “duplicates”. The values are the questions of the corresponding invalid challenge/response pairs.

Usage:

<ctrl:checkChallengeResponseCompliance Attributes/>

Attributes:

challengesResponses="challengesResponses"

The challenge/response pairs (String).

[In; required; accepts a JSTL expression.]

crDelim="crDelim"

The delimiter between challenge and response within a pair.

[In; optional; default: “!NV!”; accepts a JSTL expression.]

json="true"|"false"

Whether to return the information about invalid CR pairs as a String representing an array of JSON objects, or as a Map.

[In; optional; default: “false“; accepts a JSTL expression.]

minChallenges="minChallenges"

The minimum number of CR pairs.

[In; optional; default: see webCenter.properties; accepts a JSTL expression.]

minResponseLength="minResponseLength"

The minimum length of a response.

[In; optional; default: see webCenter.properties; accepts a JSTL expression.]

objectId="dn"

The DN of the user whose CR pairs are to be checked.

[In; optional; default: the logged-in user; accepts a JSTL expression.]

pairDelim="pairDelim"

The delimiter between adjacent CR pairs.

[In; optional; default: “!NI!”; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the operation’s result (String).

[Out; optional; default: “result“; accepts a JSTL expression.]

invalidPairs="invalidPairs"

The name of the variable to accept the invalid pairs (String).

[Out; optional; default: “invalidPairs“; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

CheckCredentials Tag

Description:

The tag checks if a bind to the provisioning database with the given user DN and password succeeds.

The tag attributes include:

  • The user’s DN.

  • The user’s password.

The tag returns:

  • A string that indicates the operation’s result:

  • ok: The bind with the given credentials was succesful.

  • invalid: The bind failed due to invalid credentials.

  • retryLater: Checking the credentials failed for a temporary reason.

  • failed: Checking the credentials failed for a non-temporary reason.

Usage:

<ctrl:checkCredentials Attributes/>

Attributes:

password="password"

The user’s password.

[In; required; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the operation’s result (String).

[Out; optional; default: “result“; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

userId="dn"

The user’s DN.

[In; required; accepts a JSTL expression.]

CheckPassword Tag

Description:

The tag checks if the given user password complies with the user’s password policies.

The tag attributes include:

  • The user’s DN.

  • The password to be checked.

The tag returns:

  • A string that indicates the operation’s result:

  • ok: The password complies with the policies.

  • invalid: The password does not comply.

  • failed: The password could not be checked, for example, due to a problem when accessing the directory.

Usage:

<ctrl:checkPassword Attributes/>

Attributes:

password="password"

The password.

[In; required; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the operation’s result (String).

[Out; optional; default: “result“; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

userId="dn"

The DN of the user whose password is to be checked.

[In; required; accepts a JSTL expression.]

ClearForm Tag

Description:

The tag clears the property map of a DynaActionForm. For a DynaLocaleForm, the modification flag is reset as well.

The tag attributes include:

  • The form to be reset.

The tag does not return any result.

Usage:

<ctrl:clearForm Attributes/>

Attributes:

form="form"

The form to be reset (DynaActionForm).

[In; required; accepts a JSTL expression.]

CopyPrivileges Tag

Description:

The tag copies a user’s privileges to another user.

The tag attributes include:

  • The DN of the user whose privileges to copy.

  • The DN of the user to assign the privileges to.

The tag returns

  • The string “true” in case at least one privilege was copied.

  • The string “false” in case no privilege was copied.

Usage:

<ctrl:copyPrivileges Attributes/>

Attributes:

result="varName"

The name of the variable to accept the operation’s result (String).

[Out; optional; default: “result“; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

sourceDN="dn"

The DN of the privilege source user.

[In; required; accepts a JSTL expression.]

targetDN="dn"

The DN of the privilege target user.

[In; required; accepts a JSTL expression.]

Create Tag

Description:

The tag creates a new object in the directory.

The tag attributes include:

  • The new object’s RDN.

  • The DN of the parent object; can be empty for special objects like password policies.

  • The type of the new object; for example, “user” or “dxrPwdPolicyCheck”.

  • The form from which to get the new object’s attributes.

  • A comma-separated list of properties to copy from the form to the new object. If missing, all appropriate attributes are copied. For example, the list “sn,givenName,description” causes all form properties other than sn, givenName and description to be ignored. Each attribute whose name is prefixed with an exclamation mark ("!") is ignored.

The tag returns

  • The new object’s DN in case the operation was successful.

  • An empty result otherwise.

Usage:

<ctrl:create Attributes/>

Attributes:

attributes="attributes"

An attribute list.

[In; optional; accepts a JSTL expression.]

objectId="dn"

The DN of the new object’s parent; may be empty for special objects.

[In; required; accepts a JSTL expression.]

rdn="rdn"

The RDN of the new object.

[In; required; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the operation’s result (String).

[Out; optional; default: “result“; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

source="form"

The form being the source for the new object’s attributes (DynaActionForm)

[In; required; accepts a JSTL expression.]

storeReadOnlyAttributes="true"|"false"

Whether to store attributes that are flagged as read-only in the form configuration.

[In; optional; default: “false”; accepts a JSTL expression.]

type="type"

The type of the new object.

[In; required; accepts a JSTL expression.]

CreateDelegation Tag

This tag applies to the new delegation implementation only.

Description:

The tag creates a new delegation.

The tag attributes include:

  • The DN of the delegator.

  • The DN of the substitute. The substitute must be different from the delegator.

  • The delegation operation, one of “grant” or “approve”.

  • The form bean to get the new delegation’s attributes from.

  • The list of the names of the attributes to be copied from the form bean to the new delegation. Attributes “dxrAssignFrom“, “dxrAssignTo“ and “dxrOperationImp“ are ignored.

  • Whether to ignore warnings about delegation cycles caused by the new delegation.

The tag returns

  • The new delegation’s DN in case the operation was successful. An empty result otherwise.

  • A string that indicates the operation’s result:

  • ok: The operation was successful.

  • delegationsDisabled: The new delegations are not enabled.

  • circularDelegationChain: The operation failed since the new delegation would lead to a circular delegation chain.

  • invalidSubstitute: The substitute coincides with the delegator.

  • dateConflict: The new delegation’s start and end date are inconsistent.

  • failed: The operation failed for another reason.

Usage:

<ctrl:createDelegation Attributes/>

Attributes:

attributes="attributes"

The list of additional attribute names for the new delegation.

[In; optional; accepts a JSTL expression.]

delegator="dn"

The DN of the delegator.

[In; required; accepts a JSTL expression.]

ignoreWarnings="true"|"false"

Whether to ignore circular delegation warnings (true), or not (false).

[In; optional; default: “false”; accepts a JSTL expression.]

operation="approve"|"grant"|

The delegation operation.

[In; required; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the operation’s result (String).

[Out; optional; default: “result“; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variables.

[In; optional; default: “page“; accepts a JSTL expression.]

source="form"

The form being the source for the new delegation attributes (DynaActionForm)

[In; required; accepts a JSTL expression.]

substitute="dn"

The DN of the substitute.

[In; required; accepts a JSTL expression.]

varDN="varName"

The name of the variable to accept the DN of the new delegation (String).

[Out; optional; default: “delegationDN“; accepts a JSTL expression.]

Delegation Tag

This tag applies to the old delegation implementation only.

Description:

The tag creates or deletes delegation assignments.

When creating a delegation, the tag attributes include:

  • DN of the delegable delegation (required).

  • The DN of the delegating user and the substitute (both required).

  • The operation type “create”.

The tag returns

  • The granted delegation’s DN in case the operation was successful.

  • The string “FAIL” in case of error.

When deleting a delegation, the tag attributes include:

  • DN of the granted delegation (required).

  • The operation type “delete”.

The tag returns

  • The string “OK” in case of success.

  • The string “FAIL” in case of error.

Usage:

<ctrl:delegation Attributes/>

Attributes:

delegatee="dn"

The DN of the substitute.

[In; optional; accepts a JSTL expression.]

delegation="dn"

The DN of the delegation object.

[In; required; accepts a JSTL expression.]

delegator="dn"

The DN of the user delegating access rights.

[In; optional; accepts a JSTL expression.]

operation="create"|"delete"

The operation to be performed.

[In; required; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the operation’s result (String).

[Out; optional; no default; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

Delete Tag

Description:

The tag deletes one or more objects, access rights permitting.

The tag attributes for deleting a single object include:

  • The DN of the object to delete.

  • The deletion due date.

The tag returns

  • The string “ok” in case of success.

  • The string “disallowed” in case of insufficient access rights.

  • The string “failed” in case of error.

The tag attributes for deleting multiple objects include:

  • The DNs of the objects to delete.

The tag returns

  • The string “ok” in case of success.

  • The string “failed” in case of errors of insufficient access rights. In this case, the tag also returns which objects have been deleted, which objects could not be deleted due to insufficient access rights and which ones failed to be deleted, and the list of object for which a deletion workflow has already been started before.

If no object is specified the tag returns “ok”.

Usage:

<ctrl:delete Attributes/>

Attributes:

dueDate="dueDate"

The deletion due date.

[In; optional; accepts a JSTL expression.]

objectId="dn"

The DN of the object to be deleted (String).

[In; optional; accepts a JSTL expression.]

objectIds="dns"

The DNs of the objects to be deleted (String[])

[In; optional; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the operation’s result (String).

[Out; optional; default: “result“; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variables.

[In; optional; default: “page“; accepts a JSTL expression.]

varDeleted="varName"

In case a request for multiple deletions failed only:

The name of the variable to accept the DNs of the entries that have been deleted (String[]).

[Out; optional; default: “deleted“; accepts a JSTL expression.]

varDisallowed="varName"

In case a request for multiple deletions failed only:

The name of the variable to accept the DNs of the entries that could not be deleted due to insufficient access rights (String[]).

[Out; optional; default: “disallowed“; accepts a JSTL expression.]

varFailed="varName"

In case a request for multiple deletions failed only:

The name of the variable to accept the DNs of the entries that could not be deleted due to some error (String[]).

[Out; optional; default: “failed“; accepts a JSTL expression.]

varInProgress="varName"

In case a request for multiple deletions failed only:

The name of the variable to accept the DNs for which a deletion workflow is already running (String[]).

[Out; optional; default: “inProgess“; accepts a JSTL expression.]

DN Tag

Description:

The tag provides some utility methods to handle distinguished names.

The tag attributes include:

  • The DN arguments for the method.

  • The method name.

The method equals requires two arguments and returns Boolean.TRUE if the first DN represents the same entry as the second DN, and Boolean.FALSE otherwise.

The method getParent accepts a single DN and returns its parent DN (String). If the DN is invalid or doesn’t have a parent DN, the result variable is removed from its scope.

The method getRDNs accepts a single DN and returns its RDN values (String[]). If the DN is invalid, the result variable is removed from its scope. The method isAncestor requires two arguments and returns Boolean.TRUE if the second DN is an ancestor of the first DN, and Boolean.FALSE otherwise.

The method isDN accepts a single argument and returns Boolean.TRUE if the argument is a syntactically correct distinguished name and Boolean.FALSE otherwise.

The method isParent requires two arguments and returns Boolean.TRUE if the second DN is the parent of the first DN, and Boolean.FALSE otherwise.

Usage:

<ctrl:dn Attributes/>

Attributes:

dn="dn"

The first DN argument for the method (String).

[In; required; accepts a JSTL expression.]

otherDN="dn"

A second DN argument for the method (String)

[In; optional/required depending on method; accepts a JSTL expression.]

method="equals"|"getParent"|"getRDNs"|"isAncestor"|"isDN"|"isParent"

The method to invoke (String).

[In; required; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the operation’s result (String or Boolean).

[Out; optional; default: “result“; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

ExchangeUserPersona Tag

Description:

The tag exchanges a persona and its associated user..

Usage:

<ctrl:exchangeUserPersona Attributes/>

Attributes:

JavaScriptId="dn"

The DN of the Javascript being called to perform the exchange.

[In; required; accepts a JSTL expression.]

objectId="dn"

The DN of the persona to be exchanged.

[In; required; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the operation’s result (String or Boolean).

[Out; optional; default: “result“; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

Export Tag

Description:

The tag writes an object list to a temporary file on the server intended to be downloaded to the client. The object list must be available in a property of type DirectoryEntryBean[] of a session-scoped form bean.

The tag supports the export formats HTML, XML or CSV. The HTML format is designed for import into Excel.

Usage:

<ctrl:export Attributes/>

Attributes:

fileType="html"|"xml"|"csv"

The export format.

[In; optional; default: “html“; accepts a JSTL expression.]

delim="delim"

The CSV delimiter.

[In; optional; default: “;“; accepts a JSTL expression.]

formName="formName"

The name of the session-scoped form holding the object list (String).

[In; required; accepts a JSTL expression.]

listProperty="listProperty"

The name of the form property (of type DirectoryEntryBean[]) holding the object list (String).

[In; required; accepts a JSTL expression.]

namePrefix="namePrefix"

The file name prefix in the server’s temporary working directory (String).

[Out; optional; default: “File_“; accepts a JSTL expression.]

nbsp="true"|"false"

Whether to print a non blanking space for empty values in HTML tables (Boolean).

[In; optional; default: true; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the absolute path name of the temporary export file (String). In case of errors, the variable is removed from its scope.

[Out; required; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

Expression Tag

Description:

The tag recursively evaluates a JSTL expression as long as the result is of type String and includes a JSTL expression. The final result is either returned in a scoped variable, or turned into a String (by applying the toString method) and printed to the response writer of the JSP page.

The tag attributes include:

  • The expression to be evaluated.

  • The expected Java class of the final result.

  • The maximum number of times the expression is recursively evaluated. Expression evaluation stops if the result of the previous evaluation step doesn’t contain any expressions.

  • The default value if the expression evaluates to null or to an empty String. If left unspecified, the result will be null or the empty String.

  • The result variable’s name and scope. If the name is left unspecified, the result is handed to the response writer.

Usage:

<ctrl:expression Attributes/>

Attributes:

default="default"

The default value.

[In; optional; accepts a JSTL expression.]

iterations="iterations"

The maximum number of times the expression is recursively evaluated.
[In; optional; default: “10“; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

type="className"

The expected Java class of the evaluation result.

[In; optional; default: “java.lang.String”; accepts a JSTL expression.]

value="value"

The expression to be evaluated.

[In; required; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the operation’s result.

[Out; optional; accepts a JSTL expression.]

ExtractEntries Tag

Description:

The tag extracts a subset from an entry list (for example from a DirectoryEntryBean[]).The entries in the subset are selected via their indexes. The subset contains either the entire entries or their DNs only.

The source list must be specified either directly or as property of a form bean. If the source list is left unspecified, or if the list is empty, the result variable is removed from its scope.

The subset of entries to return may be specified either by their indexes in the list, or by their DNs. If the subset is left unspecified, or if denotes an empty sub list, the result variable is removed from its scope.

The tag throws a JSP exception in case of errors.

Usage:

<ctrl:extractEntries Attributes/>

Attributes:

formName="formName"

The form bean name.

[In; optional; accepts a JSTL expression.]

propertyName="propertyName"

The form property name.

[In; optional; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for variable var.

[In; optional; default: “page“; accepts a JSTL expression.]

sort="true"|"false"

Whether to sort the entries (true), or not (false). Only if list source is a form-property.

[In; optional; default “false”; accepts a JSTL expression.]

source="source"

The source entry list (a DirectoryEntryBean[]).

[In; optional; accepts a JSTL expression.]

subset="subset"

The indexes of the entries to return: either an Integer[], or a string with a comma-separated list of indexes, or the string "all" for all entries.

Any indexes pointing outside the list are ignored.

Takes precedence over subsetDNs.

[In; optional; accepts a JSTL expression.]

subsetDNs="dns"

The DNs of the entries to return: either a String[], or a single DN as a String.

[In; optional; accepts a JSTL expression.]

type="dn"|"entry"

The result type; dn: return DNs only; entry: return entries.

[In; optional; default: “entry“; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the DNs (String[]) or entries (DirectoryEntryBean[]).

[Out; required; accepts a JSTL expression.]

ForwardDelegation Tag

This tag applies to the new delegation implementation only.

Description:

The tag forwards a delegation to another substitute. It copies the original delegation to a new one with the new substitute. The delegation operation cannot be changed.

The tag attributes include:

  • The DN of the delegation to be forwarded.

  • The DN of the new substitute. The substitute must be different from the original delegator and from the original substitute.

  • The form bean to get the new delegation’s attributes from.

  • The list of the names of the attributes to be copied from the form bean to the new delegation. Attributes “dxrAssignFrom“, “dxrAssignTo“ and “dxrOperationImp“ are ignored.

  • Whether to ignore warnings about delegation cycles caused by the new delegation.

The tag returns

  • The new delegation’s DN in case the operation was successful. An empty result otherwise.

  • A string that indicates the operation’s result:

  • ok: The operation was successful.

  • delegationsDisabled: The new delegations are not enabled.

  • circularDelegationChain: The operation failed since the new delegation would lead to a circular delegation chain.

  • invalidSubstitute: The new substitute coincides with the original delegator or the original substitute.

  • forwardingNotPermitted: The original delegation doesn’t permit forwarding.

  • dateConflict: The new delegation’s start and end date are inconsistent.

  • failed: The operation failed for another reason.

Usage:

<ctrl:forwardDelegation Attributes/>

Attributes:

attributes="attributes"

The list of additional attribute names for the new delegation.

[In; optional; accepts a JSTL expression.]

ignoreWarnings="true"|"false"

Whether to ignore circular delegation warnings (true), or not (false).

[In; optional; default: “false”; accepts a JSTL expression.]

objectId="dn"

The DN of the original delegation.

[In; required; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the operation’s result (String).

[Out; optional; default: “result“; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variables.

[In; optional; default: “page“; accepts a JSTL expression.]

source="form"

The form being the source for the new delegation attributes (DynaActionForm)

[In; required; accepts a JSTL expression.]

substitute="dn"

The DN of the new substitute.

[In; required; accepts a JSTL expression.]

varDN="varName"

The name of the variable to accept the DN of the new delegation (String).

[Out; optional; default: “delegationDN“; accepts a JSTL expression.]

GenerateReport Tag

Description:

The tag generates a report for a set of objects.

The tag attributes include:

  • The report DN (required).

  • The list of accepted report types.

  • The DNs of the objects to be handled by the report or search base, scope and filter for searching the objects.

  • The prefix for report file names.

The tag returns

  • The type of the generated report.

  • The String “unsupportedTypes” if none of the accepted types is supported by the report.

Usage:

<ctrl:generateReport Attributes/>

Attributes:

namePrefix="namePrefix"

The prefix for report file names.

[In; optional; default: “Report_“; accepts a JSTL expression.]

objectIds="dns"

The DNs of the entries to be handled by the report (String[]). Takes precedence over searchBase, SearchScope and searchFilter.

[In; optional/required; accepts a JSTL expression.]

reportId="dn"

The DN of the report to generate.

[In; required; accepts a JSTL expression.]

reportTypes="types"

A comma-separated list of report types accepted by the caller.

[In; optional; default: “HTML“; accepts a JSTL expression.]

searchBase="dn"

The search base for the entries handled by the report.

[In; optional; accepts a JSTL expression.]

searchFilter="filter"

The search filter.

[In; optional; accepts a JSTL expression.]

searchScope="basenode"|"onelevel"|"subtree"|"

The search scope.

[In; optional; default:"basenode"; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the report type.

[Out; optional; default: “reportType”; accepts a JSTL expression.]

Get Tag

Description:

The tag is used to read attributes of an object, or to fill a form bean with attributes of an object, or to fill a table property of a form bean with attributes from a search result.

In case the target object is a Map, an Object array or a String, the only relevant tag attributes are objectId, attributes, target and scope.

  • If the target object is a Map, the tag reads the attributes of the specified object. For each attribute, it adds an entry to the map with the attribute name as key and the attribute value as value. Attributes with no value are skipped.

  • If the target object is an Object array, the length of the array must match the number of attributes to read. The tag reads the attributes of the specified object. The value of the nth attribute is stored in the nth element of the Object array.

  • If the target object is a String, the tag reads only the first attribute of the specified object. The attribute value is stored in a scoped-variable with the target string as name. If the attribute has no value or no attribute is specified at all, the variable is removed from its scope.

In case the target object is a form bean, the tag is used to fill some or all of the form’s properties with values from the database:

  • The DN of the entry to be read, or of the master entry of a search (for example to fill a list form property like assigned roles of a user).

  • The form property names defining which form fields to set. If the list is empty, all properties are set. Property names prefixed with an exclamation mark ("!") are ignored.

  • A search base for the search operation. If left unspecified, the search base is taken from the request-scoped variable “defaultSearchBase”.

  • A filter for the search operation. If left unspecified, the filter is taken from the request-scoped variable “defaultFilter”.

  • An additional filter for searches for request workflow instances only. The filter may for example restrict the search to workflows with a given state, or to those whose end dates fall within the last 14 days.

The tag returns

  • The string “ok” in the object with the given DN exists.

  • The string “objectNotFound” in case the object doesn’t exist or is not readable.

Usage:

<ctrl:get Attributes/>

Attributes:

attributes="attributes"

The comma-separated list of attributes or form properties to be returned.

[In; optional; accepts a JSTL expression.]

filter="filter"

The search filter.

[In; optional; accepts a JSTL expression.]

objectId="dn"

The DN of the entry to be read, or of the master object for a search operation.

[In; optional; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the result (String).

[Out; optional; default: “result; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the target variable.

[In; optional; default: “page“; accepts a JSTL expression.]

searchBase="dn"

The search base.

[In; optional; accepts a JSTL expression.]

target="target"

The target object.

[Out; required; accepts a JSTL expression.]

workflowFilter="filter"

The additional filter for searches for request workflow instances.

[In; optional; accepts a JSTL expression.]

GetActionInfo Tag

Description:

The convenience tag sets some scoped variables to facilitate access to information about the currently processed Struts action, like the form, path and forward names.

The tag attributes include:

  • The variable names for:

  • The action path like “/getUsers“.

  • The extended action path like “/getUsers.do“.

  • The action form.

  • The action form name.

  • The action form property map.

  • The action forwards, a map mapping each action forward name to the value Boolean.TRUE.

  • The variable scope. All variables are created in the same scope

Usage:

<ctrl:getActionInfo Attributes/>

Attributes:

scope="page"|"request"|"session"|"application"

The scope for the result variables.

[In; optional; default: “page“; accepts a JSTL expression.]

varExtendedPath="varName"

The name of the variable to accept the action path (String).

[Out; optional; default: “extendedActionPath”; accepts a JSTL expression.]

varForm="varName"

The name of the variable to accept the action form (DynaActionForm).

[Out; optional; default: “form”; accepts a JSTL expression.]

varFormMap="varName"

The name of the variable to accept the action form property map (java.util.Map).

[Out; optional; default: “formMap”; accepts a JSTL expression.]

varFormName="varName"

The name of the variable to accept the action form name (String).

[Out; optional; default: “formName”; accepts a JSTL expression.]

varForwards="varName"

The name of the variable to accept the action forwards (java.util.Map).

[Out; optional; default: “actionForwards”; accepts a JSTL expression.]

varPath="varName"

The name of the variable to accept the action path (String).

[Out; optional; default: “actionPath”; accepts a JSTL expression.]

GetLoginUser Tag

Description:

The tag evaluates a user’s input into a login form, searches for a matching user object in the directory and returns its DN. Note that the user is not authenticated; any password entered into the login form is ignored.

The tag checks whether the user has entered the required minimum number of characters into the login form. If not, the search is skipped and a DN is not returned. The minimum number of characters is defined by the application initialization parameter “com.siemens.webMgr.login.minChars”.

The tag attributes include:

  • The property map of the login form the user has submitted.

  • The object class and the search base for user objects.

    The tag returns the user’s DN if exactly one object matches the data entered into the login form, provided the user has entered the minimum number of characters into the login form. Otherwise, the result variable is removed from its scope.

Usage:

<ctrl:getLoginUser Attributes/>

Attributes:

attributes="attributes"

The property map of the login form (java.util.Map).

[In; required; accepts a JSTL expression.]

objectclass="objectclass"

The object class for user objects (String).

[In; optional; default: “*”; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “session“; accepts a JSTL expression.]

searchBase="dn"

The search base (String).

[In; optional; default: the value of the application initialization parameter “com.siemens.webMgr.ldap.baseDN”; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the user’s DN (String).

[Out; optional; default: “com.siemens.webMgr.loginDN”; accepts a JSTL expression.]

GetMemberInfo Tag

Description:

The tag returns DN and type of a given group member. The member must be specified by the group’s DN and the member’s identifier within that group.

There are two group member types, “account” and “user”. An account member identifier is usually not the valid DN of an entry in the database but an artificial string whose exact format depends on the type of group. A user member identifier is usually the user’s DN.

The result variables are removed from their scope in case member DN and type cannot be determined.

The tag throws a JSP exception in case of errors,

Usage:

<ctrl:getMemberInfo Attributes/>

Attributes:

groupId="dn"

The group DN (String).

[In; required; accepts a JSTL expression.]

memberId="memberId"

The member id, as obtained from a group member list (String).

[In; required; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variables.

[In; optional; default: “page“; accepts a JSTL expression.]

varDN="varName"

The name of the variable to accept the member DN (String).

[Out; optional; default: “dn“; accepts a JSTL expression.]

varType="varName"

The name of the variable to accept the member type (String).

[Out; optional; default: “type“; accepts a JSTL expression.]

GetObjectType Tag

Description:

The tag returns the object type of a given object.

Usage:

<ctrl:getObjectType Attributes/>

Attributes:

objectId="dn"

The object’s DN (String).

[In; required; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variables.

[In; optional; default: “page“; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the object type (String]).

[Out; optional; default: “objectType“; accepts a JSTL expression.]

varCap="varName"

The name of the variable to accept the object type with upper-case initial letter (String).

[Out; optional; default: “objectTypeCap“; accepts a JSTL expression.]

GetRoleParameters Tag

Description:

The tag returns the parameters that apply to assignments of a given role. For each parameter, the tag returns its name, role name, type and, if applicable, proposals or root nodes. The parameter values are left unspecified.

The return variable is removed from its scope in case no parameters apply.

The tag throws a JSP exception in case of errors,

Usage:

<ctrl:getRoleParameters Attributes/>

Attributes:

objectId="dn"

The role DN (String).

[In; required; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the role parameters (Parameter[]).

[Out; optional; default: “roleParameters“; accepts a JSTL expression.]

GetStartAction Tag

Description:

The tag returns the start action for the logged in user, as defined in the respective Tiles definition in menu-defs.xml.

If no start action applies to the current user the result variable is removed from its scope.

The tag throws a JSP exception in case of errors.

Usage:

<ctrl:getStartAction Attributes/>

Attributes:

definition="definition"

The name of the tiles definition for the start actions.

[In; optional; default: “.startActions“; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the start action (Parameter[]).

[Out; optional; default: “startAction“; accepts a JSTL expression.]

InstanceOf Tag

Description:

The tag checks if a Java object is an instance of a given Java class or interface.

Usage:

<ctrl:instanceof Attributes/>

Attributes:

object="object"

The Java object.

[In; required; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variables.

[In; optional; default: “page“; accepts a JSTL expression.]

type="type"

The name of the Java class or interface.

[In; required; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the result (Boolean).

[Out; optional; default: “result“; accepts a JSTL expression.]

Body Content:

The tag accepts any body content. The content is evaluated only if the object is an instance of the class or interface.

IsActionForward Tag

Description:

The checks whether a given name is a valid forward name of the current Struts action.

Usage:

<ctrl:isActionForward Attributes/>

Attributes:

name="name"

The name to check.

[In; required; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

toLowerCase="true"|"false"

Whether to convert the name to lower cases before checking.

[In; optional; default:”false”; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the check result (Boolean).

[Out; optional; default “isLoggedIn”; accepts a JSTL expression.]

Body Content:

The tag accepts any body content. The content is evaluated only if the given name is a valid forward name.

IsLoggedIn Tag

Description:

The checks whether the user has already successfully logged in.

The tag attributes include a flag to do the reverse check.

In case the flag is true, the tag returns:

  • Boolean.TRUE, if the user is logged in.

  • Boolean.FALSE, if the user is not logged in.

In case the flag is false, the tag returns:

  • Boolean.FALSE, if the user is logged in.

  • Boolean.TRUE, if the user is not logged in.

Usage:

<ctrl:isLoggedIn Attributes/>

Attributes:

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

value="true"|"false"

Whether to check if the user is logged in (true), or not logged in (false).

[In; optional; default “true”; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the check result (Boolean).

[Out; optional; default “isLoggedIn”; accepts a JSTL expression.]

Body Content:

The tag accepts any body content. The content is evaluated only if the user is logged in.

IsSSOClient Tag

Description:

The tag checks whether the user has logged in via a single sign-on mechanism.

The tag attributes include a flag to do the reverse check.

If the flag is true, the tag returns:

  • Boolean.TRUE, if the user is logged in.

  • Boolean.FALSE, if the user is not logged in.

If the flag is false, the tag returns:

  • Boolean.FALSE, if the user is logged in.

  • Boolean.TRUE, if the user is not logged in.

Usage:

<ctrl:isSSOClient Attributes/>

Attributes:

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

value="true"|"false"

Whether to check if the user is logged via SSO (true), or not logged in via SSO (false).

[In; optional; default “true”; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the check result (boolean).

[Out; optional; default “isSSOClient”; accepts a JSTL expression.]

Body Content:

The tag accepts any body content. The content is evaluated only if the user has logged in via single sign-on.

ListEntries Tag

Description:

The tag fills a table property of a form bean with attributes from a search result. The property must be one of the objectSets supported by the Web-API method “listEntries”.

The search context is used to specify

  • The index of the last entry to be returned (The index of the first element in the search result is 1).

  • The index of the first entry to be returned (only for property “workItems”; must be 1 for all other properties).

  • Criteria for sorting the search result (only for property “workItems”).

The search context returns the total number of objects found.

Usage:

<ctrl:listEntries Attributes/>

Attributes:

context="context"

The search context (of type SearchContext).

[In; optional; accepts a JSTL expression.]

form="form"

The form containing the property to be populated.

[In; required; accepts a JSTL expression.]

objectId="dn"

The DN of the master object for a search operation.

[In; optional; accepts a JSTL expression.]

property="property"

The name of the form property to be populated. The property must be of type DirectoryEntryBean[].

[In; required; accepts a JSTL expression.]

ListReports Tag

Description:

The tag retrieves a list of reports and assigns it to a form property.

The tag attributes include:

  • The filter for the report search.

  • The search base for the objects to be handled by the report.

The tag returns

  • The string “ok” on success.

  • The string “objectNotFound” in case no report was found.

  • The string “failed” in case of a failure.

Usage:

<ctrl:listReports Attributes/>

Attributes:

filter="filter"

The filter for the report search.

[In; required; accepts a JSTL expression.]

formName="formName"

The name of the form to accept the report list.

[In; required; accepts a JSTL expression.]

objectId="dn"

The DN of the search base for the entries to be handled by the report.

[In; required; accepts a JSTL expression.]

propertyName="propertyName"

The name of the form property to accept the report list.

[In; required; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the result.

[Out; optional; default: “result”; accepts a JSTL expression.]

Log Tag

Description:

The tag writes a log message or detailed information about the current HTTP request or session to the log file.

Usage:

<ctrl:log Attributes/>

Attributes:

level="error"|"info"|"debug"

The log level.

[In; optional; default: “debug“; accepts a JSTL expression.]

message="message"

The log message.

[In; optional; accepts a JSTL expression.]

request="true"|"false"

Whether to log detailed information about the HTTP request (true) or not (false).

[In; optional; default: “false“; accepts a JSTL expression.]

session="true"|"false"

Whether to log detailed information about the HTTP session (true) or not (false).

[In; optional; default: “false“; accepts a JSTL expression.]

Login Tag

Description:

The tag authenticates a user against the provisioning directory.

The tag attributes include:

  • Host name and port number of the LDAP server of the provisioning database, as well as a flag indicating whether to connect to the server via SSL. By default, this information is taken from the corresponding application initialization parameters.

  • The user credentials: DN and password. If left unspecified, these values are searched for in

  • The requests parameters (“loginDN” and “password”).

  • Externally provided credentials (in the case of single sign-on).

  • Session-scoped variables (“com.siemens.webMgr.loginDN” and “com.siemens.webMgr.password”).

  • A flag indicating whether login attempts by the special user ANYONE are accepted or rejected.

  • A flag indicating whether to check the user’s password status flags after successful authentication.

    The tag returns the string:

  • OK: The user has been successfully authenticated.

  • TECH: The technical bind was successful, but the user could not be authenticated.

  • NONE: Neither the user authentication nor the technical bind was successful.

  • ANYONE_REJECTED: A login attempt of ANYONE was rejected.

If the password flags are to be checked after successful login, the following page-scoped variables are set:

  • pwdStatus:

  • ok: The password is OK.

  • expired: The password has expired.

  • reset: The password must be reset.

  • warning: An expiration warning should be displayed.

  • pwdDays. For an expiration warning, the number of days before the password expires.

The following session-scoped attributes can be modified or removed:

  • com.siemens.webMgr.loginDN

  • com.siemens.webMgr.password

  • com.siemens.webMgr.userData

Usage:

<ctrl:login Attributes/>

Attributes:

allowAnyone="true"|"false"

Whether the user ANYONE is accepted or rejected.

[In; optional; default: “false“; accepts a JSTL expression.]

checkPwdStatus="true"|"false"

Whether to check the user’s password status flags after authentication.

[In; optional; default: “false“; accepts a JSTL expression.]

dn="dn"

The DN of the user to be authenticated.

[In; optional; default: “page“; accepts a JSTL expression.]

Password="password"

The password of the user to be authenticated.

[In; optional; default: “page“; accepts a JSTL expression.]

port="port"

The port of the directory server.

[In; optional; default: the value of the application initialization parameter “com.siemens.webMgr.ldap.port”; accepts a JSTL expression.]

server="server"

The host name or IP address of the directory server.

[In; optional; default: the value of the application initialization parameter “com.siemens.webMgr.ldap.host”; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

ssl="true"|"false"

Whether to connect to the server via SSL.

[In; optional; default: the value of the application initialization parameter “com.siemens.webMgr.ldap.ssl”; accepts a JSTL expression.]

skipEffectiveAuth="true"|"false"

Whether to skip checking the authentication of the effective user. To be used in case of single sign-on where the user password is unknown.

[In; optional; default: “false“; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the operation’s result.

[Out; optional; accepts a JSTL expression.]

Logout Tag

Description:

The tag cleans up the resources associated with a user’s session. The connection to the directory is shut down. Internal caches are destroyed. Session-scoped variables are removed.

Usage:

<ctrl:logout/>

Attributes:

None.

ModifyDelegation Tag

This tag applies to the new delegation implementation only.

Description:

The tag updates an existing delegation.

The tag attributes include:

  • The DN of the delegation to be updated.

  • The form bean to get the delegation’s updated attributes from.

  • The list of the names of the attributes to be copied from the form bean to the updated delegation. Attributes “dxrAssignFrom“, “dxrAssignTo“ and “dxrOperationImp“ are ignored.

  • Whether to ignore warnings about delegation cycles caused by the updated delegation.

The tag returns

  • A string that indicates the operation’s result:

  • ok: The operation was successful.

  • delegationsDisabled: The new delegations are not enabled.

  • circularDelegationChain: The operation failed since the updated delegation would lead to a circular delegation chain.

  • invalidSubstitute: The new substitute coincides with the delegator.

  • dateConflict: The updated delegation’s start and end date are inconsistent.

  • failed: The operation failed for another reason.

Usage:

<ctrl:modifyDelegation Attributes/>

Attributes:

attributes="attributes"

The list of additional attribute names for the delegation.

[In; optional; accepts a JSTL expression.]

ignoreWarnings="true"|"false"

Whether to ignore circular delegation warnings (true), or not (false).

[In; optional; default: “false”; accepts a JSTL expression.]

objectId="dn"

The DN of the delegation.

[In; required; accepts a JSTL expression.]

operation="approve"|"grant"|

The delegation operation.

[In; required; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the operation’s result (String).

[Out; optional; default: “result“; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

source="form"

The form being the source for the delegation attribute updates (DynaActionForm)

[In; required; accepts a JSTL expression.]

substitute="dn"

The DN of the substitute.

[In; required; accepts a JSTL expression.]

Move Tag

Description:

The tag moves one or more objects to a new parent, access rights permitting.

The tag attributes for moving a single object include:

  • The DN of the object to move.

The tag returns

  • The string “ok” in case of success. In this case, the tag also returns the object’s new DN.

  • The string “disallowed” in case of insufficient access rights.

  • The string “failed” in case of error.

The tag attributes for moving multiple objects include:

  • The DNs of the objects to move.

The tag returns

  • The string “ok” in case of success.

  • The string “failed” in case of errors of insufficient access rights. In this case, the tag also returns which objects have been moved, which objects could not be moved due to insufficient access rights and which ones failed to be moved.

If no object is specified the tag returns “ok”.

Usage:

<ctrl:delete Attributes/>

Attributes:

varNewDN="varName"

In case a single object has been successfully moved only:

The name of the variable to accept the moved object’s new DN (String).

[Out; optional; default: “newDN“; accepts a JSTL expression.]

objectId="dn"

The DN of the object to be moved (String).

[In; optional; accepts a JSTL expression.]

objectIds="dns"

The DNs of the objects to be moved (String[])

[In; optional; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the operation’s result (String).

[Out; optional; default: “result“; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variables.

[In; optional; default: “page“; accepts a JSTL expression.]

varMoved="varName"

In case a request for multiple moves failed only:

The name of the variable to accept the DNs of the entries that have been moved (String[]).

[Out; optional; default: “moved“; accepts a JSTL expression.]

varDisallowed="varName"

In case a request for multiple moves failed only:

The name of the variable to accept the DNs of the entries that could not be moved due to insufficient access rights (String[]).

[Out; optional; default: “disallowed“; accepts a JSTL expression.]

varFailed="varName"

In case a request for multiple moves failed only:

The name of the variable to accept the DNs of the entries that could not be moved due to some error (String[]).

[Out; optional; default: “failed“; accepts a JSTL expression.]

Param Tag

Description:

The tag sets a parameter of an enclosing setMessage tag, optionally replacing “\n” substrings (2 characters, a backslash, followed by the letter n) in the value by new line characters (‘\n’).

The tag throws a JSP exception if not enclosed by a setMessage tag.

Usage:

<ctrl:param Attributes/>

Attributes:

replaceNewLine="true"|"false"

Whether to replace "\n" with a new line character when inserting the parameter value into the message.

[In; optional; default: “false“; accepts a JSTL expression.]

value="value"

The message parameter value.

[In; optional; default: the empty string; accepts a JSTL expression.]

Ancestor Tag:

setMessage

A setMessage tag

PurgeSession Tag

Description:

The tag removes session-scoped variables in order to keep the size of user sessions at a reasonable level. In the default Web Center applications, the tag is invoked by a servlet filter on specific requests.

The tag attributes include:

  • An array of regular expressions for variable names.

  • An array of class names.

A variable is removed if

  • Its name matches one of the regular expressions for variable names.

  • The class (or any base class or interface) of the object it refers to equals an item in the class name array.

Usage:

<ctrl:purgeSession Attributes/>

Attributes:

attrNames="attrNames"

An array of regular expressions for names of session variables to remove.

[In; optional; accepts a JSTL expression.]

classNames="classNames"

An array of the class names of session variables to remove.

[In; optional; accepts a JSTL expression.]

keepMessage="true"|"false"

Whether to retain message related session variables.

[In; optional; default: “false“; accepts a JSTL expression.]

RDN Tag

Description:

The tag provides some utility methods to handle relative distinguished names.

The tag attributes include:

  • The RDN argument for the method, or type and value for concatenating an RDN.

  • The method name.

The method getRDN returns the RDN concatenated from a given type and an unescaped value.

The method getType returns the attribute type of an RDN.

The method getValue returns the unescaped attribute value of an RDN.

Usage:

<ctrl:rdn Attributes/>

Attributes:

method="getRDN"|"getType"|"getValue"

The method to invoke (String).

[In; optional; default: getRDN; accepts a JSTL expression.]

rdn="rdn"

The first DN argument for the method (String).

[In; optional/required depending on method; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the operation’s result (String or Boolean).

[Out; optional; default: “result“; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

type="type"

The RDN type (String)

[In; optional/required depending on method; accepts a JSTL expression.]

value="value"

The RDN value (String)

[In; optional/required depending on method; accepts a JSTL expression.]

ReadPassword Tag

Description:

The tag returns the clear text password of an object (i.e. the decrypted dxmPassword attribute), access rights permitting.

In case of success, the variable result is set to “ok” while the clear text password is returned in variable password.

The variable result is set to “disallowed” in case of insufficient access rights, and to “failed” in case of errors, while the password variable is removed from its scope.

Usage:

<ctrl:readPassword Attributes/>

Attributes:

objectId="dn"

The DN of the object whose password is to be returned (String).

[In; required; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the result (String).

[Out; optional; default: “result; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

varPassword="varName"

The name of the variable to accept the password String.

[Out; optional; default: “password; accepts a JSTL expression.]

ReleaseUserLocks Tag

Description:

The tag releases a user’s locks for logging in with name and password and/or for authenticating via challenge response. It resets all attributes related to the locks.

The tag attributes include:

  • The user’s DN.

  • Which locks to release: “password”, “challengeResponse” or “password, challengeResponse”. If left unspecified, both locks are released.

The tag returns a string that indicates the operation’s result:

  • ok: The locks have been released.

  • disallowed: The logged-in user is not allowed to perform the operation.

  • failed: The locks could not be released.

Usage:

<ctrl:releaseUserLocks Attributes/>

Attributes:

locks="locks"

The locks to be released (String).

[In; optional; accepts a JSTL expression.]

objectId="dn"

The DN of the object whose locks are to be released (String).

[In; required; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the result (String).

[Out; optional; default: “result; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

RemoveToken Tag

Description:

The tag removes the CSRF token from the session.

Usage:

<ctrl:removeToken/>

RemoveVar Tag

Description:

The tag removes a variable from its scope.

Usage:

<ctrl:removeVar Attributes/>

Attributes:

scope="page"|"request"|"session"|"application"

The variable scope.

[In; optional; default: “page“; accepts a JSTL expression.]

var="varName"

The name of the variable to remove.

[Out; required; accepts a JSTL expression.]

Report Tag

Description:

The tag searches for reports, generates a selected report or returns a link to download a generated report.

If attribute reportFile is not empty, the tag returns a link to download the most recently generated report. The link can be used to display the report in a frame. Note that there is at most one generated report per user session. The tag attributes include:

  • The form and the name of the form property to accept the link (both required).

No result is returned. The result variable is removed from its scope.

If attribute selectedReportIndex is a valid index, the tag generates the report with the specified index in the list of reports assigned to the provided form. The generated report is temporarily stored in a file below the application’s temporary working directory. The tag attributes include:

  • The form with the report list (required).

  • The form property name of the report list (required).

  • The index of the selected report (required).

  • The form property names of the base object (required) and the scope for the report.

  • A list of accepted report types, e.g. “HTML,XML,TXT”. The generated report is of the first type in the list supported by the report.

  • The prefix for report file names.

The result variable is set to the type of the generated report.

Otherwise, the tag searches for reports and populates the report form with the resulting list. The tag attributes include:

  • The form to accept the report list (required).

  • The form property name of the report list (required).

  • The form property names of the master object (required for the report list.

  • The prefix for report file names.

No result is returned. The result variable is removed from its scope.

Usage:

<ctrl:report Attributes/>

Attributes:

filter="filter"

The form property name of the filter for searching for reports, or the filter for report generation.

[In; optional; accepts a JSTL expression.]

formObject="form"

The form for listing reports, or for displaying a generated report (DynaActionForm).

[In/Out; required; accepts a JSTL expression.]

listAttribute="propName"

The name of the form property of the report list, or to accept the report list.

[In/Out; optional/required; accepts a JSTL expression.]

namePrefix="namePrefix"

The prefix for report file names.

[In; optional; default: “Report_“; accepts a JSTL expression.]

objectId="propName"

The form property name of the master object for searching for reports, or the base object for report generation.

[In; optional/required; accepts a JSTL expression.]

reportFile="propName"

The name of the form property to accept the download link (String).

[Out; optional/required; accepts a JSTL expression.]

reportFilter="propName"

The form property name of the filter for report generation.

[In; optional; accepts a JSTL expression.]

reportScope="basenode"|"onelevel"|"subtree"|"

The form property name of the scope for report generation.

[In; optional; default: "basenode"; accepts a JSTL expression.]

reportTypes="types"

A comma-separated list of report types accepted by the caller.

[In; optional; default: “HTML“; accepts a JSTL expression.]

resultScope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

selectedReport

The index of the selected report.

[In; optional/required; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the report type.

[Out; optional; accepts a JSTL expression.]

ResetLoginStatus Tag

Description:

The tag resets the login status of the currently active user by deleting the values of the attributes dxrPwdAccountLockedTime and dxrPwdFailureTime.

Usage:

<ctrl:resetLoginStatus Attributes/>

Attributes:

result="varName"

The name of the variable to accept the operation’s result (String).

[Out; optional; default: “result“; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

ResetObject Tag

Description:

The tag discards any unsaved changes to an object.

Usage:

<ctrl:resetObject Attributes/>

Attributes:

objectId="dn"

The DN of object to reset. If left unspecified, the tag does nothing.

[In; optional; accepts a JSTL expression.]

Select Tag

Description:

The tag assigns the DN of a selected object or the value of a selected object property to a scoped variable.

A selected object is identified by its row index in an array of DirectoryEntryBeans. Index “0” selects the first item.

A selected object property is identified by the row index of the object, and by the column index of the property in an array of DirectoryEntryBeans. The row;column pair “0;0” selects the first property of the first item.

Selecting an entry via column index can be suppressed by setting attribute selectProperty to “false”. In this case, always the object displayed in the row is selected. For example, if a user list displays the users’ managers, clicking on a manager will select the user, not the manager.

Usage:

<ctrl:select Attributes/>

Attributes:

dataset="dataset"

The item list (DirectoryEntryBean[]).

[In; required; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

selection="selection"

The index or row and column of the selected entry.

[In; optional; accepts a JSTL expression.]

selectProperty="true"|"false"

Whether to select objects referenced by a property of a list item (true), or whether to select always the list item (false).

[In; optional; default: "true"; accepts a JSTL expression.]

selectSingleItem="true"|"false"

Whether to auto-select the first item if the list has size 1.

[In; optional; default: "false"; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the result.

[Out; optional; accepts a JSTL expression.]

Selection Tag

Description:

The tag either

  • Removes the selected entries from a form property representing a table. Note that only the form property is updated; the entries are not deleted from the database.

  • Returns a map providing easy access to the set of selected entries in a table. The map is used to perform an operation on the selected entries one by one. It contains the following entries:

  • form: The form (DynaActionForm).

  • formField: The form property name (String).

  • forward: The provided forward action name (String).

  • index: The position of the currently handled entry; initially 0 (Integer).

  • size: Number of selected entries (Integer).

  • dns: The DNs of the selected entries (String[]).

  • entries: The selected entries (DirectoryEntryBean[]).

The selected entries can be either specified via their indexes in table or via their DNs.

Usage:

<ctrl:selection Attributes/>

Attributes:

form="form"

The form containing the table (DynaActionForm).

[In; optional; accepts a JSTL expression.]

formFieldName="formFieldName"

The form field name of the table (String).

[In; optional; accepts a JSTL expression.]

forward="forward"

The context menu forward action name (String).

[In; optional; accepts a JSTL expression.]

operation="get"|"remove"

The operation type.

[In; optional; default: "remove"; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for varSelection.

[In; optional; default: “session“; accepts a JSTL expression.]

selectedDNs="selectedDNs"

The DNs of the selected table entries (String[]).

[In; optional; accepts a JSTL expression.]

selectedIndexes="selectedIndexes"

The indexes of the selected table entries (int[]). Takes precedence over selectedDNs.

[In; optional; accepts a JSTL expression.]

selection="selection"

The selection obtained from a prior call to tag getSelection. For operation type remove only.

[In; optional; accepts a JSTL expression.]

varSelection="varName"

The name of the variable to accept the result.

[Out; optional; default: “com.siemens.webMgr.selection”; accepts a JSTL expression.]

Set Tag

Description:

The tag sets or updates attributes of an entry (in memory), saves unsaved updates to the directory, or resets all unsaved updates.

The tag attributes include:

  • The DN of the object to be updated or reset.

  • A comma-separated list of the names of attributes to be copied from the source to the object. Each attribute whose name is prefixed with an exclamation mark ("!") is ignored.

  • The source for the new attribute values, which can be:

  • A form bean (DynaActionForm): If the attribute list is empty, all non-read-only form properties are copied. Otherwise, only the specified properties are copied.

  • An array (Object[]): If the attribute list contains just one attribute name, the value of that attribute is set to the array. Otherwise, the array item at index i is assigned to the attribute at index i.

  • Any other Object: The object is assigned to the first attribute in the list.

  • The operation type, which can be:

  • reset: Reset all unsaved updates to the object; ignore any updates to the source. The result is “unchanged” or “reset”.

  • storeOnly: Copy updates from the source to the object, but don’t save the object to the directory. The result is always “saved”.

  • saveOnly: Save the object to the directory. Ignore any new changes to the source. Don’t save in case of warnings like SoD violations. The result is “unchanged”, “saved” or “warning”.

  • ignoreWarnings: Save the object to the directory. Ignore any new changes to the source. Save without further confirmation in case of warnings like SoD violations. The result is “unchanged” or “saved”.

  • save: Copy updates from the source to the object. Save the object to the directory. Don’t save in case of warnings like SoD violations. The result is “unchanged”, “saved” or “warning”.

  • saveNoFrills: Copy updates from the source to the object. Then just save the object to the directory but don’t perform any special tasks like SoD violation checks or role resolution. The result is “unchanged” or “saved”.

  • A flag that indicates whether only assignments should be saved. Assigning privileges to an object doesn’t require the access right to modify the object. Other attribute changes (possibly inadvertently or automatically performed) usually will require it and may therefore prohibit assignments.

  • A flag that controls operation signing. The flag is evaluated only if the object is to be saved.

  • init: Don’t save the object. Just generate and return an XML document to sign the changes.

  • finish: Validate the provided signed document. Save the object to the directory, and save the signed document.

  • The operation due date.

Usage:

<ctrl:set Attributes/>

Attributes:

assignmentsOnly="true"|"false"

Whether to save assignments only (true) or all attributes (false).

[In; optional; default: "false"; accepts a JSTL expression.]

attributes="attributes"

The attribute set to be stored.

[In; optional; accepts a JSTL expression.]

dueDate="dueDate"

The operation due date.

[In; optional; accepts a JSTL expression.]

finally="ignoreWarnings"|"reset"|"save"|"saveNoFrills"|"saveOnly"|"storeOnly"

The operation type.

[In; optional; default: “save”; accepts a JSTL expression.]

objectId="dn"

The DN of the entry to be updated.

[In; optional; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the result (String).

[Out; optional; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for result and newDN.

[In; optional; default: “page“; accepts a JSTL expression.]

scopeTextToBeSigned="page"|"request"|"session"|"application"

The scope for varTextToBeSigned.

[In; optional; default: “page“; accepts a JSTL expression.]

scopeWarning="page"|"request"|"session"|"application"

The scope for varWarning.

[In; optional; default: “request“; accepts a JSTL expression.]

signedData="signedData"

The signed XML document.

[In; optional; accepts a JSTL expression.]

signState="init"|"finish"

Whether to start or finish signing the operation.

[In; optional; accepts a JSTL expression.]

source="source"

The source of the data to be stored.

[In; required; accepts a JSTL expression.]

varNewDN="varName"

The name of the variable to accept the object’s possibly changed DN after changes to the object (String).

[Out; optional; default: “newDN”; accepts a JSTL expression.]

varTextToBeSigned="varName"

The name of the variable to accept the XML document to signed (String).

[Out; optional; accepts a JSTL expression.]

varWarning="varName"

The name of the variable to accept the message in case of warnings (String).

[Out; optional; accepts a JSTL expression.]

SetActionForward Tag

Description:

A convenience tag to set the action forward in an action page. If the specified forward name is not configured for the current action, the supplied default forward name is set (without further checks).

The attribute returnCode let’s you define the tag’s return code which defines how processing of the JSP page continues. With skipPage, you can cause processing to stop.

Usage:

<ctrl:setActionForward Attributes/>

Attributes:

default="forwardName"

The default forward name.

[In; optional; accepts a JSTL expression.]

name="forwardName"

The forward name.

[In; optional; accepts a JSTL expression.]

returnCode="evalPage"|"skipPage"|"evalBodyInclude"|"skipBody"

The tags return code.

[In; optional; default: “evalPage”; accepts a JSTL expression.]

toLowerCase="true"|"false"

Whether to convert the provided forward name to lower case.

[In; optional; default: "false"; accepts a JSTL expression.]

SetBinary Tag

Description:

The tag sets or updates a binary attribute of an entry. The changes are not saved to the database,

The tag attributes include:

  • The DN of the object to be updated.

  • The name of the binary attribute.

  • The values to be added (DirFileParam[]), as obtained from invoking the DirX JSP tag setParams.

  • A list of expected content types that the items in the DirFileParam[] must match (case ignore string match or regular expression match).

  • Whether to check the validity of the provided values; this is implemented for X.509 certificate attributes only.

  • The values to be deleted (byte[][] or String[]):

  • byte[]: The binary value to be deleted.

  • String: The MD5-SHA1 hash of the value to be deleted.

The tag returns

  • The string “ok” in case the property has been updated.

  • The string “unchanged” in case no property updates were necessary and done.

  • The string “invalid” in case the type of a value to be added doesn’t match any of the expected types.

Usage:

<ctrl:setBinary Attributes/>

Attributes:

add="addValues"

The values to be added (DirFileParam[]).

[In; optional; accepts a JSTL expression.]

attributes="attributes"

The name of the binary property.

[In; required; accepts a JSTL expression.]

checkContent="checkContent"

Whether to perform content checks.

[In; optional; default:”true”; accepts a JSTL expression.]

contentTypes="contentTypes"

A comma separated list of expected content types.

[In; optional; accepts a JSTL expression.]

delete="deleteValues"

The values to be deleted (byte[][]), or their MD5-SHA1-hashes (String[]).

[In; optional; accepts a JSTL expression.]

objectId="dn"

The DN of the entry to be updated.

[In; required; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the result (String).

[Out; optional; default: ”result”; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for result and varInvalidFile.

[In; optional; default: “page“; accepts a JSTL expression.]

varInvalidFile="varName"

The name of the variable to accept the name of a file whose type is invalid (String).

[Out; optional; default: “invalidFile“; accepts a JSTL expression.]

SetLanguage Tag

Description:

The tag changes the language of the current user.

If no new language is provided or the provided language is not supported, the tag takes no action.

Usage:

<ctrl:setLanguage Attributes/>

Attributes:

value="locale"

The current user’s new language.

[In; optional; accepts a JSTL expression.]

SetLocale Tag

Description:

The tag assigns the locale of the currently logged-in user to the request-scoped variable ”javax.servlet.jsp.jstl.fmt.locale.request”.

The variable is evaluated by the internationalization tags of the JSP standard tag library (like <fmt:setBundle>) and must therefore be set before invoking any such tag.

Usage:

<ctrl:setLocale Attributes/>

SetMessage Tag

Description:

A convenience tag to set message-related session variables. A message has a key, a confirmation flag, and parameters.

The key is the reference to the message text in a resource bundle (which is the file text.properties for the default Web Center applications).

The confirmation flag indicates whether the end user must confirm the message. A confirmation message box has two buttons, one to confirm and another one to cancel the operation.

A message text may include placeholders ({0}, {1} etc.) which are replaced with message parameters at runtime. Message parameters usually contain more detailed information about a problem. Parameters may be supplied as an array of Strings, or as any other object. In the latter case, the object is converted into a String using its toString method.

The insert mode defines how the parameters are combined with previously stored ones. The new ones can be appended or prepended to the existing ones, or they can just replace them.

If the message key is left unspecified, the current message-related variables are removed from the session scope.

Messages confirming the successful outcome of an operation should be labeled with success=”true”. Display of these messages is controlled by a parameter in file webCenter.properties.

Usage:

<ctrl:setMessage Attributes>
Body content
</ctrl:setMessage>

Attributes:

clearError="true"|"false"

Whether to clear the session’s error code and error cause.

[In; optional; default: "false"; accepts a JSTL expression.]

confirm="true"|"false"

The confirmation flag.

[In; optional; default: "false"; accepts a JSTL expression.]

defaultKey="messageKey"

The default message key; evaluated in case no message with the key specified by attribute “key” was found.

[In; optional; accepts a JSTL expression.]

insertMode="append"|"override"|"prepend"

How to mix the message parameters with existing ones.

[In; optional; default: "override"; accepts a JSTL expression.]

key="messageKey"

The message key.

[In; optional; accepts a JSTL expression.]

param="messageParameter"

Message parameters (String[] or Object).

[In; optional; accepts a JSTL expression.]

success="true"|"false"

A flag indicating whether the message confirms the successful outcome of an operation.

[In; optional; default: "false"; accepts a JSTL expression.]

Body Content:

The tag accepts any JSP content in its body, especially the following child tag:

param

A message parameter.

SetOption Tag

The tag has been withdrawn for security reasons. Use the tags SetStyle and SetLanguage instead.

SetRoleParameters Tag

Description:

The tag sets the parameter values for a role assignment. The values must be provided in a map, like an HTTP request parameter value map.

For each role parameter, if the map contains a value with the parameter name as key, that value is assigned to the parameter; otherwise, any existing parameter value is removed.

Usage:

<ctrl:setRoleParameters Attributes/>

Attributes:

target="target"

The role parameter array.

[In; optional; accepts a JSTL expression.]

valueMap="valueMap"

The role parameter value map (java.util.Map).

[In; optional; accepts a JSTL expression.]

SetStyle Tag

Description:

The tag changes the style (font size) of the current user.

If no new style is provided or the provided style is not supported, the tag sets the style to the default one defined in file webCenter.properties, or as a last resort, to “medium”.

Usage:

<ctrl:setStyle Attributes/>

Attributes:

value="style"

The current user’s new style.

[In; optional; accepts a JSTL expression.]

StartRegistration Tag

Description:

The tag starts a user registration process by logging in as ANYONE. The DN for ANYONE is obtained from the application initialization parameter "com.siemens.wegMgr.ldap.anyone", the password is stored in the application’s configuration file password.properties.

The tag throws a JspException in case the login fails.

Usage:

<ctrl:startRegistration/>

Attributes:

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the login result (String). See the login tag description for details.

[Out; optional; accepts a JSTL expression.]

Token Tag

Description:

The tag splits a string of tokens around matches of a regular expression, and returns or prints the token at a given position. The tag attributes include:

  • The string of tokens.

  • The regular expression for the token delimiter (as specified in the java.util.regex package).

  • The index of the token to be returned or printed.

  • The name of the scoped variable to accept the result. If left unspecified, the token is printed to the response writer of the JSP page.

Usage:

<ctrl:token Attributes/>

Attributes:

delim="regularExpression"

The token delimiter (String).

[In; optional; default: “:”; accepts a JSTL expression.]

item="itemIndex"

The index of the token to be printed or returned (Integer).

[Out; optional; default. “0”; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

tokens="tokens"

The string of tokens.

[In; required; accepts a JSTL expression.]

trim="true"|"false"

Whether to trim leading and trailing spaces before printing the token.

[In; optional; default: “false“; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the operation’s result.

[Out; optional; accepts a JSTL expression.]

UnassignPrivilegeFromUsers Tag

Description:

Unassigns a privilege from a list of users.

The tag attributes include:

  • The DN of the privilege to be unassigned.

  • The DNs of the users the privilege is to be unassigned from.

  • A flag that controls operation signing.

  • init: Don’t perform any unassignment. Just generate and return an XML document to sign the unassignments.

  • finish: Validate the provided signed document. Perform the unassignments in the directory, and save the signed document.

  • The due date for the unassignment.

  • The reason for requesting to withdraw the assignments. The reason is displayed to potential approvers.

The tag returns:

  • The XML document to be signed if requested.

  • The operation’s result:

  • OK: The operation was successful.

  • READ_ERROR: The privilege could not be read.

  • EMPTY_LIST: The user list is empty.

  • UNKNOWN_TYPE: The privilege DN denotes neither a role nor a permission nor a group.

  • ASSIGNMENT_ERROR: The privilege could not be unassigned from one or more users.

  • INVALID_SIGNATURE: The provided signature could not be validated.

  • SAVE_SIGNATURE_ERROR: The provided signature could not be saved.

  • Detailed information in case of unassignment errors:

  • The DNs of the users the privilege has been unassigned from.

  • The DNs of the users the privilege could not be unassigned from.

Usage:

<ctrl:unassignPrivilegeFromUsers Attributes/>

Attributes:

dueDate="dueDate"

The unassignment due date.

[In; optional; accepts a JSTL expression.]

errorInfo="varName"

The name of the variable to accept error details in case of result ASSIGNMENT_ERROR: (Object[])

errorInfo[0]: String[]: User DNs of successful unassignments

errorInfo[1]: String[]: User DNs of failed unassignments

[Out; optional; default: “errorInfo”; accepts a JSTL expression.]

parameters="parameters"

The parameters for a role unassignment.

[In; required; accepts a JSTL expression.]

privilege="dn"

The DN of the privilege.

[In; required; accepts a JSTL expression.]

reason="reason"

The request reason.

[In; optional; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the operation’s result.

[Out; optional; default: “result“; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for errorInfo and result; defaults to "page".

[Out; optional; default: “page“; accepts a JSTL expression.]

scopeTextToBeSigned="page"|"request"|"session"|"application"

The scope of the variable to accept the text to be signed.

[Out; optional; default: “page“; accepts a JSTL expression.]

signedData="signedData"

The signed XML document.

[In; optional; accepts a JSTL expression.]

signState="init"|"finish"

Whether to start or finish signing the operation.

[In; optional; accepts a JSTL expression.]

users="users"

The DNs of the users the privilege is to be unassigned from (String[]).

[In; optional; accepts a JSTL expression.]

varTextToBeSigned="varName"

The name of the variable to accept the XML document to signed (String).

[Out; optional; default: “varTextToBeSigned“; accepts a JSTL expression.]

UpdateSelectionList Tag

Description:

When modifying or creating an object, the selection list for one of the object’s attributes may depend on the current value of a master attribute, for example locality may depend on country. Whenever the master attribute value changes, the selection list for the dependent attribute should be updated accordingly.

This tag returns the values for an attribute given the master attributes value.

The tag attributes include:

  • The DN of the object that is to be modified.

  • The name of the dependent attribute.

  • Name and value of the master attribute.

Usage:

<ctrl:updateSelectionList Attributes/>

Attributes:

masterType="attributeName"

The master attribute name (String).

[In; required; accepts a JSTL expression.]

masterValue="attributeValue"

The master attribute value (String).

[In; required; accepts a JSTL expression.]

objectId="dn"

The DN of the object (String).

[In; optional; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

type="attributeName"

The name of the attribute whose selection list is to be updated (String).

[In; required; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the operation’s result.

[Out; optional; default: “selectionList”; accepts a JSTL expression.]

UpdateVariables Tag

Description:

The tag updates scoped variables after an object has been moved, renamed or deleted.

The tag attributes include:

  • The object’s new DN (in case of move and rename only).

  • The object’s old DN.

  • A comma separated list of regular expressions (as specified in the java.util.regex package) for the names of the variables to be eligible for update.

  • The scope of the variables.

A variable is updated if its value matches the object’s old DN:

  • The variable’s value is replaced by the object’s new DN if specified (move or rename).

  • The variable is removed from its scope in case the new DN is left unspecified (delete).

Usage:

<ctrl:updateVariables Attributes/>

Attributes:

newDN="dn"

The object’s new DN.

[In; optional; accepts a JSTL expression.]

oldDN="dn"

The object’s old DN.

[In; required; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope of the variables to update.

[In; optional; default: “session“; accepts a JSTL expression.]

varNames="varNames"

A comma separated list of regular expressions for the names of the variables to be updated.

[In; required; accepts a JSTL expression.]

Expression Tags

The tag library implements expression evaluation extensions.

To use a view tag in a JSP page, include the following tag library directive in the page:

<%@ taglib uri="http://www.siemens.com/directory/webManager/expr" prefix="expr" %>

Notes

  • The specified URI corresponds to the URI used in the tag library descriptor META-INF/webMgrView_1_0.tld in the webManager.jar file, and cannot be changed.

  • The prefix is arbitrary but must be different from any other prefix used in the same page. The prefix used in the standard Web Center application is “expr”.

AttributeContains Tag

Description:

The tag defines an instance of method attributeContains.

Usage:

<expr:attributeContains Attributes/>

Attributes:

caseIgnore="true"|"false"

Whether to compare ignoring cases (true) or not (false).

[In; optional; default: “true”; accepts a JSTL expression.]

name="name"

The attribute name; a String.

[In; required; accepts a JSTL expression.]

value="value"

The attribute value to compare against; a String.

[In; required; accepts a JSTL expression.]

AttributeExists Tag

Description:

The tag defines an instance of method attributeExists.

Usage:

<expr:attributeExists Attributes/>

Attributes:

name="name"

The attribute name; a String.

[In; required; accepts a JSTL expression.]

AttributeMatches Tag

Description:

The tag defines an instance of method attributeMatches.

Usage:

<expr:attributeMatches Attributes/>

Attributes:

all="true"|"false"

Whether all attribute values must match (true) or one match suffices (false).

[In; optional; default: “false”; accepts a JSTL expression.]

caseIgnore="true"|"false"

Whether to compare ignoring cases (true) or not (false).

[In; optional; default: “true”; accepts a JSTL expression.]

expression="expression"

The regular expression (see java.util.regex.Pattern) to match against; a String.

[In; required; accepts a JSTL expression.]

name="name"

The attribute name; a String.

[In; required; accepts a JSTL expression.]

not="true"|"false"

Whether the pattern must match (false) or not match (true).

[In; optional; default: “false”; accepts a JSTL expression.]

Method Tag

Description:

The tag defines a name for a method. The method is defined in the tag’s body.

Usage:

<expr:method Attributes/>

Attributes:

name="name"

The attribute name; a String.

[In; required; accepts a JSTL expression.]

Methods Tag

Description:

The tag assigns a method map to a scoped variable. The map is defined in the tag’s body

Usage:

<expr:methods Attributes/>

Attributes:

scope="page"|"request"|"session"|"application"

The scope for the variable.

[In; optional; default: “session“; accepts a JSTL expression.]

var="varName"

The name of the scoped variable.

[In; optional; default: “apply”; accepts a JSTL expression.]

View Tags

This section describes the usage of the DirXIdentity Web Center view tag library.Its tags are intended to be used in view JSPs but not in action JSPs.

To use a view tag in a JSP page, include the following tag library directive in the page:

<%@ taglib uri="http://www.siemens.com/directory/webManager/view" prefix="view" %>

Notes

  • The specified URI corresponds to the URI used in the tag library descriptor META-INF/webMgrView_1_0.tld in the webManager.jar file, and cannot be changed.

  • The prefix is arbitrary but must be different from any other prefix used in the same page. The prefix used in the standard Web Center application is “view”.

AddTokens Tag

Description:

The tag outputs the HTML code for hidden form fields containing the CSRF token and the request ID.

Usage:

<view:addTokens Attributes/>

Attributes:

format="html"|"javascript"|"asVar"

The token format.

[In; optional; default: “html”; accepts a JSTL expression.]

page="true"|"false"

Whether to store the CSRF token for a page refresh (true) or not (false).

[In; optional; default: “false”; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for varName and varValue.

[In; optional; default: “page“; accepts a JSTL expression.]

varName="varName"

The name of the variable to accept the CSRF token name (String).

[In; optional; default: “csrfTokenName”; accepts a JSTL expression.]

varValue="varValue"

The name of the variable to accept the CSRF token value (String).

[In; optional; default: “csrfTokenValue”; accepts a JSTL expression.]

Alert Tag

Description:

The tag generates the HTML code for displaying a localized message according to the session-scoped message variables and to internal error flags.

The message-related session-scoped variables are removed, the internal error flags reset.

Usage:

<view:alert Attributes/>

Attributes:

renderer="rendererName"

The tag renderer.

[In; optional; default: “alert”; accepts a JSTL expression.]

defer="defer"

Whether to defer message display until the document is loaded.

[In; optional; default: “false”; accepts a JSTL expression.]

Assign Tag

Description:

The tag generates the HTML code for displaying an assign form and adds it to the response. The form contains an upper (left) table for the items that can be assigned (available items), a lower (right) table for the items that are already assigned, and buttons to move items from top to bottom (left to right) and vice-versa.

Usage:

<view:assign Attributes>
Body content
</view:assign>

Attributes:

buttonRenderer="rendererName"

The renderer for the assign buttons.

[In; optional; default: “submit”; accepts a JSTL expression.]

componentRenderer="rendererName"

The renderer for the assign control.

[In; optional; default: “assignh” (horizontal mode) or “assignv” (vertical mode); accepts a JSTL expression.]

height="height"

The height of the assign control.

[In; optional; default: ”200”; accepts a JSTL expression.]

labelRenderer="rendererName"

The label renderer for the assign control.

[In; optional; default: “label”; accepts a JSTL expression.]

mode="horizontal"|"vertical"

Whether to align the tables horizontally or vertically.

[In; optional; default: “horizontal”; accepts a JSTL expression.]

readonly="true"|"false"

Whether to show (“false”) or hide (“true”) the available items.

[In; optional; default: “false”; accepts a JSTL expression.]

rendererId="uniqueIdentifier"

The unique identifier of the assign control.

[Required; accepts a JSTL expression.]

size="size"

The page size (maximum number of items per page) for the item tables.

[In; optional; accepts a JSTL expression.]

Body Content:

The tag accepts any JSP content in its body, especially the following child tags:

available

The items available for being assigned.

assigned

The items already assigned to the object.

Assigned Tag

Description:

The tag generates the HTML code for the assigned items table in an assign form and adds it to the response.

Usage:

<view:assigned Attributes>

Attributes:

data="data"

The assigned items (DirectoryEntryBean[]).

[In; required; accepts a JSTL expression.]

renderer="rendererName"

The tag renderer.

[In; optional; default: the corresponding renderer from defaultRenderer.properties; accepts a JSTL expression.]

Ancestor Tag:

assign

The assign form control.

Available Tag

Description:

The tag generates the HTML code for the available items (the items that can be assigned) table in an assign form and adds it to the response.

Usage:

<view:available Attributes/>

Attributes:

data="data"

The available items (DirectoryEntryBean[]).

[In; required; accepts a JSTL expression.]

limitWarning="true"|"false"

Whether a time or size limit warning should be displayed.

[In; optional; default: “false”; accepts a JSTL expression.]

noHitWarning="true"|"false"

Whether a no-hit warning should be displayed.

[In; optional; default: “false”; accepts a JSTL expression.]

renderer="rendererName"

The tag renderer.

[In; optional; default: the corresponding renderer from defaultRenderer.properties; accepts a JSTL expression.]

Ancestor Tag:

assign

The assign form control.

Expression Tag

Description:

The tag recursively evaluates a JSTL expression as long as the result is of type String and includes a JSTL expression. The final result is either returned in a scoped variable, or turned into a String (by applying the toString method) and printed to the response writer of the JSP page.

The tag attributes include:

  • The expression to be evaluated.

  • The expected Java class of the final result.

  • The maximum number of times the expression is recursively evaluated. Expression evaluation stops if the result of the previous evaluation step doesn’t contain any expressions.

  • The default value if the expression evaluates to null or to an empty String. If left unspecified, the result will be null or the empty String.

  • The result variable’s name and scope. If the name is left unspecified, the result is handed to the response writer.

Usage:

<view:expression Attributes/>

Attributes:

default="default"

The default value.

[In; optional; accepts a JSTL expression.]

iterations="iterations"

The maximum number of times the expression is recursively evaluated.
[In; optional; default: “10“; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

type="className"

The expected Java class of the evaluation result.

[In; optional; default: “java.lang.String”; accepts a JSTL expression.]

value="value"

The expression to be evaluated.

[In; required; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the operation’s result.

[Out; optional; accepts a JSTL expression.]

File Tag

Description:

The tag reads a text file from the server’s disk and prints the file content to the response of the current JSP page.

The tag is used to send files like generated reports to the client in order to display the file content in an Iframe or to save it to the client’s disk.

The tag attributes include:

  • The server file name.

  • The server file encoding like “UTF-8” or “ISO-8859-1” (For details, see the Java package java.nio.charset).

  • The buffer size for reading the file.

Usage:

<view:file Attributes/>

Attributes:

bufferSize="bufferSize"

The buffer size for reading the file content.

[In; optional; default: “8192”; accepts a JSTL expression.]

contextRelative="false"|"true"

Whether (true) or not (false) the file name is relative to the Web application context.

[In; optional; default: “false”; accepts a JSTL expression.]

encoding="charSet"

The file encoding (String).

[In; optional; default: the server’s default encoding; accepts a JSTL expression.]

name="fileName"

The name of the server file.

[In; required; accepts a JSTL expression.]

Focus Tag

Description:

The tag sets and/or resets the focus settings. This is used to set the focus properly when displaying a page.

Usage:

<view:focus Attributes/>

Attributes:

nodeId="nodeId"

Sets the id of the DOM node to assign the focus to.

[In; optional; accepts a JSTL expression.]

reset="false"|"true"

Reset the focus settings.

[In; optional; default: “false”; accepts a JSTL expression.]

toolClass="toolClass"

Sets the item CSS class of the tool bar to assign the focus to.

[In; optional; accepts a JSTL expression.]

Form Tag

Description:

The tag generates the HTML code for a form configured in a forms-config.xml file and adds it to the response. The code renders the form and all its elements.

The tag attribute action accepts the path of a Struts action (for example, “/storeUserData.do”). The action is used in two ways:

  • The form to be generated is the one assigned to that action.

  • The value for the action attribute of the generated HTML form tag is the action path, prefixed with the application context path (for example, “/webCenter/storeUserData.do”).

Usage:

<view:form Attributes/>

Attributes:

action="actionPath"

The action path for the form.

[In; required; accepts a JSTL expression.]

enctype="formEncoding"

The form encoding to be used.

[In; optional; accepts a JSTL expression.]

method="get"|"post"

The HTTP method used to submit the form.

[In; optional; default: “post”; accepts a JSTL expression.]

name="formName"

The form bean name.

[In; optional; accepts a JSTL expression.]

onsubmit="handlerCode"

The Javascript handler code for form submit events.

[In; optional; accepts a JSTL expression.]

scope="request"|"session"

The scope for the form.

[In; optional; accepts a JSTL expression.]

style="style"

Value for the form’s CSS style attribute.

[In; optional; accepts a JSTL expression.]

styleClass="styleClass"

The form’s CSS style name.

[In; optional; accepts a JSTL expression.]

type="type"

The form bean type, ie it’s Java class name.

[In; optional; accepts a JSTL expression.]

Body Content:

The form tag extends org.apache.struts.taglib.html.FormTag. It accepts the same body content as the Struts tag, e.g. tiles:insert tags.

Insert Tag

Description:

The tag extends the tiles:insert tag but accepts a JSTL expression for the page name.

Usage:

<view:insert Attributes/>

Attributes:

page="page"

The path of the page to insert.

[In; required; accepts a JSTL expression.]

Language Tag

Description:

The tag is used to display the selection boxes for language and font size in the header section of the default Web Center applications.

The tag attributes include:

  • The unique XML identifier for the tag.

  • The key of the message that contains the selection options. The options are delimited by semicolons. Each option consists of the option value and the language-dependent display name, delimited by a colon. The option with value “default” specifies the selection box header.

  • The renderer for the selection box.

  • The name of the Struts action to be called on value changes. The default action is defined by the respective renderer property.

Usage:

<view:language Attributes/>

Attributes:

action="actionName"

The Struts action name (String).

[In; optional; default: value for renderer attribute “action”; accepts a JSTL expression.]

languages="messageKey"

The key of the message containing the selection options.

[In; optional; default: “java.lang.String”; accepts a JSTL expression.]

renderer="rendererName"

The id of the renderer for the combo box.

[In; required; accepts a JSTL expression.]

rendererId="uniqueIdentifier"

The unique XML identifier for the selection element (String).

[In; required.]

Log Tag

Description:

The tag writes a log message or detailed information about the current HTTP request or session to the log file.

Usage:

<view:log Attributes/>

Attributes:

level="error"|"info"|"debug"

The log level.

[In; optional; default: “debug“; accepts a JSTL expression.]

message="message"

The log message.

[In; optional; accepts a JSTL expression.]

request="true"|"false"

Whether to log detailed information about the HTTP request (true) or not (false).

[In; optional; default: “false“; accepts a JSTL expression.]

session="true"|"false"

Whether to log detailed information about the HTTP session (true) or not (false).

[In; optional; default: “false“; accepts a JSTL expression.]

Match Tag

Description:

The tag if a regular expression matches an input string.

The tag attributes include:

  • The input string.

  • The regular expression (as specified in the java.util.regex package).

  • A flag to request a case-insensitive match.

The tag returns:

  • A flag indicating whether the input string matched the expression.

  • The input substrings that were captured by the expressions capturing groups.

Usage:

<view:match Attributes/>

Attributes:

caseIgnore="true"|"false"

Whether to perform a case-insensitive match.

[In; optional; default: “false”; accepts a JSTL expression.]

pattern="pattern"

The regular expression.

[In; optional; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for varGroups and varMatch.

[In; optional; default: “page“; accepts a JSTL expression.]

value="value"

The input string.

[In; optional; default: the empty string; accepts a JSTL expression.]

varGroups="varName"

The name of the variable to accept input subsequences captured by the pattern’s capturing groups (String[]).

[In; optional; default: “groups”; accepts a JSTL expression.]

varMatch="varName"

The name of the variable to accept the match result (Boolean).

[Out; optional; default: “match”; accepts a JSTL expression.]

Menu Tag

Description:

The tag generates the Javascript code for the menu bar.

The tag attributes include:

  • The name of the menu bar’s Tiles definition. The generated menu bar contains only those menus and items the logged in user is granted access to.

  • The id of the HTML element the menu bar is to be displayed in. The HTML page must contain an element with that id. The current Javascript implementation assumes that the HTML element is a table row (<tr>).

Usage:

<view:menu Attributes/>

Attributes:

definition="definition"

The menu bar’s tiles definition name.

[In; required; accepts a JSTL expression.]

ifModified="true"|"false"

Whether to generate the HTML code for the menu only if the new menu bar is different from the previously generated one.

[In; optional; default: “false”; accepts a JSTL expression.]

menubarId="menubarId"

The ID of the HTML element in which to display the menu bar (String).

[In; required; accepts a JSTL expression.]

vertical="true"|"false"

Whether to generate code for a vertical or horizontal menu.

[In; optional; default: “false”; accepts a JSTL expression.]

NavigationHistory Tag

Description:

The tag generates the Javascript code to set the options for the navigation history select element.

Usage:

<view:navigationHistory Attributes/>

Attributes:

rendererId="rendererId"

The ID of the Web Center renderer to generate the Javascript code.

[In; required; accepts a JSTL expression.]

Out Tag

Description:

The tag escapes special characters in a string and writes the result to the HTTP response. The tag provides a variety of escape algorithms for inserting strings into various parts of HTML, XML and Javascript code.

The tag attributes include:

  • The value to escape and write to the response.

  • The name of the escape algorithm:

  • html: Escape special HTML characters.

  • htmlId: Convert the input string to a valid HTML id. Replaces invalid characters with underscores and then removes leading underscores.

  • htmlPreserveNewLines: Escape special HTML characters and replace each new line character with the HTML tag “<br/>`”.

  • js: Escape special Javascript characters.

  • jsd: Escape special Javascript characters for Javascript code enclosed in double quotes.

  • jss: Escape special Javascript characters for Javascript code enclosed in single quotes.

  • jssd: Escape special Javascript characters for Javascript code enclosed in inner single quotes and outer double quotes.

  • xml: Escape special XML characters.

Usage:

<view:out Attributes/>

Attributes:

value="value"

The value to escape and write.

[In; optional; accepts a JSTL expression.]

escape="html"|"htmlId"|"htmlPreserveNewLines"| "js"|"jsd"|"jss"|"jssd"|"xml"

The escape algorithm.

[In; optional; default: “html”; accepts a JSTL expression.]

recursiveExpressionEvaluation="true"|"false"

Whether (true) or not (false) to evaluate expressions in the value recursively.

[In; optional; default: “false”; accepts a JSTL expression.]

Scripts Tag

Description:

The tag generates the HTML script tags to include a list of Javascripts.

Script lists are defined in webCenter.properties. Each script list has an identifier; its value is a comma-separated list of path names of Javascript files.

The tag takes the script identifier from a request-scoped variable, and returns the script list identifier and the generated HTML script tags in scoped variables.

Usage:

<view:scripts Attributes/>

Attributes:

listParam="listParam"

The name of the request parameter holding the id of the script list to include. Default: “scriptListId”.

[In; optional; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for varId and varTags.

[In; optional; default: “page“; accepts a JSTL expression.]

varId="varName"

The script list identifier (String).

[Out; optional; default: “scriptListId”; accepts a JSTL expression.]

varTags="varName"

The generated script tags (String).

[Out; optional; default: “scriptTags”; accepts a JSTL expression.]

SearchPanel Tag

Description:

The tag adds the HTML code for a search panel to the response.

The tag attributes include

  • The search filter attributes:
    <LDAP attribute name>:<Message key>;…​

  • The search filter operands:
    <Operand name>:<Message key>;…​

    The supported operand names are approx, beginsWith, contains, endsWith, equals, greaterOrEqual, isPresent and lessOrEqual, and their negated counterparts, like not.contains. But note that some operands will work only for specific attributes.

  • The search filter object classes:
    <LDAP objectclass name>:<Message key>;…​

  • The number of filter rows; each row displays the same attributes and operands.

A search can be performed synchronously or asynchronously. In the latter case, the search response does not replace the entire search page but only the search result list. The id of the result table’s parent element must be supplied in attribute “targetId”; if the id is left unspecified, the whole page is rewritten.

Usage:

<view:searchPanel Attributes/>

Attributes:

attributes="attributes"

The search filter attributes.

[In; required; accepts a JSTL expression.]

buttonLabel="messageKey"

The label for the search button.

[In; optional; accepts a JSTL expression.]

buttonTitle="messageKey"

The title (tooltip) for the search button.

[In; optional; accepts a JSTL expression.]

conjunctions="and;or"|"or;and"|"and"|"or"

The filter conjunctions. In case both conjunctions are specified, the first one is the default conjunction.
[In; required; accepts a JSTL expression.]

criteriaCount="criteriaCount"

The number of filter rows.

[In; optional; default: “1”; accepts a JSTL expression.]

filter="ldapFilter"

The initial filter input.

[In; optional; accepts a JSTL expression.]

filterLabel="messageKey"

The label for the search filter.

[In; optional; accepts a JSTL expression.]

hideSearchBase="true"|"false"

Whether to show or hide the search base input fields.

[In; optional; default: “false”; accepts a JSTL expression.]

hideTitle="true"|"false"

Whether to show or hide the search panel title.

[In; optional; default: “false”; accepts a JSTL expression.]

includeTypes="includeTypes"

A semi-colon separated list of additional object types that may be included in the search operations. Each type starts with the mandatory type name, optionally followed by the name of a scoped variable indicating whether the type is enabled, and the message label key.
[In; optional; accepts a JSTL expression.]

objectClasses="ldapObjectClasses"

The object classes for the object class selection box.

[In; optional; accepts a JSTL expression.]

objectClassLabel="messageKey"

The label for the object class selection box.

[In; optional; accepts a JSTL expression.]

operands="operands"

The filter operands.

[In; required; accepts a JSTL expression.]

renderer="rendererName"

The search panel renderer.

[In; optional; default: “searchPanel”; accepts a JSTL expression.]

rendererId="uniqueIdentifier"

The unique identifier for the search panel.

[In; required; accepts a JSTL expression.]

searchBase="dn"

The initial search base.

[In; required; accepts a JSTL expression.]

searchBaseLabel="messageKey"

The label for the search base field.

[In; optional; accepts a JSTL expression.]

showObjectClassSelector="true"|"false"

Whether to show or hide the object class selection box.

[In; optional; default: “false”; accepts a JSTL expression.]

targetId="targetId"

The id of the HTML element whose content is to be replaced by the tag’s output.

[In; optional; accepts a JSTL expression.]

title="title"

The search panel title.

[In; optional; accepts a JSTL expression.]

Tab Tag

Description:

The tag generates the HTML code for a tab in a tab sheet and adds it to the response. The action to be executed on clicking the tab is either identified by its forward name or its action path. Within a single tab sheet, all tabs must use the same method to identify the action.

Usage:

<view:tab Attributes/>

Attributes:

Forward="forward"

The tab’s forward name.

[In; optional; accepts a JSTL expression.]

label="label"

The tag label or its message key.

[In; required; accepts a JSTL expression.]

path="path"

The tab’s action path.

[In; optional; accepts a JSTL expression.]

Ancestor Tag:

tabSheet

The tab sheet for this tab.

Table Tag

Description:

The tag generates the HTML code for a scrollable table and adds it to the response. The table must be configured as a property of the current action form.

A table is part of an HTML form. It can, however, update its content asynchronously without a simultaneous update of its enclosing form. Since, in that case, the table tag is not enclosed by a form tag, the form name must be provided explicitely in attribute “form”.

Usage:

<view:table Attributes/>

Attributes:

data="propertyName"

The form property name of the table.

[In; required; accepts a JSTL expression.]

form="formName"

The name of the form containing the table.

[In; optional; accepts a JSTL expression.]

height="height"

The table height.

[In; optional; default: from form configuration; accepts a JSTL expression.]

limitWarning="true"|"false"

Whether to display a message that a time or size limit has been exceeded when retrieving the table data.

[In; optional; default: “false”; accepts a JSTL expression.]

listPageSizeItems="listPageSizeItems"

The name of the page size selection list.

[In; optional; accepts a JSTL expression.]

listToolbar="listToolbar"

The Tiles definition name for the list toolbar.

[In; optional; accepts a JSTL expression.]

multiple="true"|"false"

Whether the table allows for multiple selections.

[In; optional; default: “false”; accepts a JSTL expression.]

noHitWarning="true"|"false"

Whether to display a message that no entry was found when retrieving the table data.

[In; optional; default: “false”; accepts a JSTL expression.]

renderer="rendererName"

The table renderer.

[In; optional; default: from form configuration; accepts a JSTL expression.]

rendererId="uniqueIdentifier"

The table name.

[In; required; accepts a JSTL expression.]

selectedItemsAttribute="propertyName"

The form property name of the selected items attribute.

[In; optional; default: from form configuration; accepts a JSTL expression.]

selectedRows="selectedRows"

The row numbers of selected items.

[In; optional; default: value of form property selectedItemsAttribute; accepts a JSTL expression.]

size="size"

The table page size.

[In; optional; default: renderer page size; accepts a JSTL expression.]

title="title"

The table caption.

[In; optional; default: from form configuration; accepts a JSTL expression.]

width="width"

The table width.

[In; optional; default: from form configuration; accepts a JSTL expression.] accepts a JSTL expression.]

TabSheet Tag

Description:

The tag generates the HTML code for a tab sheet and adds it to the response.

The tab to be displayed is either identified by its forward name or its action path, depending on whether the included tab tags use forward names or action paths.

Usage:

<view:tabSheet Attributes>

Body content

</view:tabSheet>

Attributes:

action=“uniqueIdentifier

The action to be performed when the tab is activated.

[In; required; accepts a JSTL expression.]

height=“height

The tab sheet height.

[In; optional; accepts a JSTL expression.]

onTabChange=“handlerCode

The Javascript handler code for tab change events.

[In; optional; accepts a JSTL expression.]

renderer=“rendererName

The tab sheet renderer.

[In; optional; default: “tabSheet”; accepts a JSTL expression.]

rendererId=“uniqueIdentifier

The tab sheet name.

[In; required]

selectedForward=“selectedForward

The forward name of the tab to be displayed.

[In; optional; accepts a JSTL expression.]

selectedPath=“selectedPath

The forward path of the selected tab to be displayed.

[In; optional; accepts a JSTL expression.]

width=“width

The tab sheet width.

[In; optional; accepts a JSTL expression.]

Body Content:

The tag accepts any JSP content in its body, especially the following child tags:

tab

The tabs for this tab sheet.

Token Tag

Description:

The tag splits a string of tokens around matches of a regular expression, and returns or prints the token at a given position. The tag attributes include:

  • The string of tokens.

  • The regular expression for the token delimiter (as specified in the java.util.regex package).

  • Whether to discard leading and trailing spaces of the tokens.

  • The index of the token to be returned or printed.

  • The name of the scoped variable to accept the result. If left unspecified, the token is printed to the response writer of the JSP page.

Usage:

<view:token Attributes/>

Attributes:

delim="regularExpression"

The token delimiter (String).

[In; optional; default: “:”; accepts a JSTL expression.]

item="itemIndex"

The index of the token to be printed or returned (Integer).

[Out; optional; default. “0”; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

tokens="tokens"

The string of tokens.

[In; required; accepts a JSTL expression.]

trim="true"|"false"

Whether to trim leading and trailing spaces (true) or not (false).

[In; optional; default: “false”; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the operation’s result.

[Out; optional; accepts a JSTL expression.]

Toolbar Tag

Description:

The toolbar tag reads the Tiles definition of a toolbar and returns the list of toolbar items. It also generates an application-wide unique toolbar id.

Usage:

<view:toolbar Attributes/>

Attributes:

definition="definition"

The Tiles definition name of the toolbar.

[In; optional; accepts a JSTL expression.]

prefix="prefix"

The prefix for the toolbar id.

[In; optional; default: “tb“; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for var and varId.

[In; optional; default: “page“; accepts a JSTL expression.]

toolbarId="toolbarId"

The toolbar id.
[In; optional; default: an automatically generated identifier; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the toolbar item array.

[Out; optional; default: “toolbar“; accepts a JSTL expression.]

varId="varName"

The name of the variable to accept the toolbar id.
[Out; optional; default: “toolbarId“; accepts a JSTL expression.]

Workflow Tags

This section describes the usage of the DirXIdentity Web Center workflow tag library.Its tags are intended to be used in action JSPs to handle workflows and activities.

To use a workflow tag in a JSP page, include the following tag library directive in the page:

<%@ taglib uri="http://www.siemens.com/directory/webManager/workflow" prefix="wf" %>

Notes

  • The specified URI corresponds to the URI used in the tag library descriptor META-INF/webMgrWf_1_0.tld in the webManager.jar file, and may not be changed.

  • The prefix is arbitrary but must be different from any other prefix used in the same page. The prefix used in the standard Web Center application is “wf”.

ApproveActivities Tag

Description:

The tag approves (accepts or rejects) one or more approval activities (also called bulk approval).

The tag attributes include:

  • activityDNs: The DNs of the activities to be approved.

  • updateType: Whether to accept (“grant”) or reject (“deny”) the approval requests.

  • reason: The reason for accepting or rejecting the requests.

The tag attribute result indicates the outcome of the operation:

  • The string “OK” if the approvals succeeded.

  • An error message text in case one or more approvals failed.

In any case, the tag also returns

  • numSucceededApprovals: The number of successfully approved activities.

  • numFailedApprovals: The number of activities which failed to be approved.

In case of error, the tag additionally returns

  • failedApprovals: The activity DNs of the approvals which failed.

Usage:

<wf:approveActivities Attributes/>

Attributes:

activityDNs="dns"

The activity DNs (String[]).

[In; required; accepts a JSTL expression.]

failedApprovals="varName"

The name of the variable to accept the DNs of the failed approvals (String[]).

[Out; optional; default: “failedApprovals”; accepts a JSTL expression.]

numFailedApprovals="varName"

The name of the variable to accept the number of failed approvals (Integer).

[Out; optional; default: “numFailedApprovals”; accepts a JSTL expression.]

numSucceededApprovals="varName"

The name of the variable to accept the number of successful approvals (Integer).

[Out; optional; default: “numSucceededApprovals”; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for result.

[In; optional; default: “page“; accepts a JSTL expression.]

reason="reason"

The reason for approving or rejecting the approval activities.

[In; optional; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the operation’s result.

[Out; optional; default: “result”; accepts a JSTL expression.]

updateType="deny"|"grant"

The update type.

[In; required; accepts a JSTL expression.]

CreateInstance Tag

Description:

The tag creates a workflow instance for a given workflow definition and returns its ID.

Usage:

<wf:createInstance Attributes/>

Attributes:

definition="dn"

The workflow definition name.

[In; required; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the result (String).

[Out; required; accepts a JSTL expression.]

GetActivity Tag

Description:

The tag returns the activity with a given DN.

Usage:

<wf:getActivity Attributes/>

Attributes:

activityDN="dn"

The activity DN.

[In; required; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for var.

[In; optional; default: “page“; accepts a JSTL expression.]

scopeDueDateEnabled="page"|"request"|"session"|"application"

The scope for varDueDateEnabled.

[In; optional; default: “page“; accepts a JSTL expression.]

scopeReadOnly="page"|"request"|"session"|"application"

The scope for varReadOnly.

[In; optional; default: “page“; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the result (RequestActivityInstance).

[Out; required; accepts a JSTL expression.]

varDuedateEnabled="varName"

The name of the variable to accept the due date enabled flag of the activity (Boolean).

[Out; optional; default: “dueDateEnabledActivity”; accepts a JSTL expression.]

varReadOnly="varName"

The name of the variable to accept the read-only flag of the activity (Boolean).

[Out; optional; default: “readonlyActivity”; accepts a JSTL expression.]

GetDefinitions Tag

Description:

The tag returns the list of workflow definitions for a given subject (like dxrUser or dxrRole) and of a given type (like create).

Usage:

<wf:getDefinitions Attributes/>

Attributes:

exclude="exclude"

Regular expressions for workflow definition name, description or path. Definitions matching the expressions are excluded from the list.

[In; optional; accepts a JSTL expression.]

include="include"

Regular expressions for workflow definition name, description or path. Definitions not matching the expressions are excluded from the list.

[In; optional; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

subject="subject"

The workflow definition subject.

[In; required; accepts a JSTL expression.]

type="type"

The workflow definition type.

[In; required; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the workflow definition list (RemoteWorkflowDefinition[]).

[Out; required; accepts a JSTL expression.]

GetInstanceId Tag

Description:

The tag returns the workflow instance ID from an activity DN.

Usage:

<wf:getInstanceId Attributes/>

Attributes:

dn="dn"

The activity DN.

[In; required; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application

The scope for the result variable.

[In; optional; default: “page“; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the workflow instance ID (String).

[Out; required; accepts a JSTL expression.]

GetNextInteractiveActivity Tag

Description:

The tag returns the next interactive running activity for a given workflow instance.

The workflow server cannot determine the next interactive activity as long as any (interactive or automatic) activity for the workflow is currently executed. In this case, you can have the server wait for the workflow to become idle by defining a positive idle timeout. If the workflow is still busy when the timeout expires, the idle flag will be set to “TRUE”.

Usage:

<wf:getNextInteractiveActivity Attributes/>

Attributes:

instanceId="id"

The workflow instance id.

[In; required; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for var.

[In; optional; default: “page“; accepts a JSTL expression.]

scopeActivityDN="page"|"request"|"session"|"application"

The scope for varActivityDN.

[In; optional; default: “page“; accepts a JSTL expression.]

scopeDueDateEnabled="page"|"request"|"session"|"application"

The scope for varDueDateEnabled.

[In; optional; default: “page“; accepts a JSTL expression.]

scopeIdle="page"|"request"|"session"|"application"

The scope for varIdle.

[In; optional; default: “page“; accepts a JSTL expression.]

scopeReadOnly="page"|"request"|"session"|"application"

The scope for varReadOnly.

[In; optional; default: “page“; accepts a JSTL expression.]

timeout="timeout"

The maximum time to wait for the workflow instance to become idle (in milliseconds).

[In; optional; default: “0”; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the activity (RequestActivityInstance).

[Out; required; accepts a JSTL expression.]

varActivityDN="varName"

The name of the variable to accept the activity DN (String).

[Out; required; accepts a JSTL expression.]

varDuedateEnabled="varName"

The name of the variable to accept the due date enabled flag of the activity (Boolean).

[Out; optional; default: “dueDateEnabledActivity”; accepts a JSTL expression.]

varIdle="varName"

The name of the variable to accept the idle flag (Boolean).

[Out; required; accepts a JSTL expression.]

varReadOnly="varName"

The name of the variable to accept the read-only flag of the activity (Boolean).

[Out; optional; default: “readonlyActivity”; accepts a JSTL expression.]

PopulateListFormBean Tag

Description:

The tag populates a form bean with a workflow definition list returned from a listDefinitions call.

Usage:

<wf:populateListFormBean Attributes/>

Attributes:

definitions="definitions"

The workflow definitions (RemoteWorkflowDefinition[]).

[In; required; accepts a JSTL expression.]

form="form"

The form bean to be populated (DynaActionForm).

[In; required; accepts a JSTL expression.]

UpdateActivity Tag

Description:

The tag updates a workflow activity.

The tag attributes include:

  • The DN of the activity to be updated.

  • The operation type, one of:

  • cancel: Cancel the activity.

  • assign: Update the workflow resource orders and the activity. (For request assignment activities only.)

  • changeParticipant: Change the activity participant.

  • deny: Update the workflow subject order according to the provided attribute map, set the denial reason and update the activity. (For approval activities only.)

  • enter: Update the workflow subject order according to the provided attribute map and update the activity. (For enter attribute activities only.)

  • grant: Update the workflow subject order according to the provided attribute map, set the grant reason and update the activity. (For approval activities only.)

  • password: Store the new password in the workflow subject order and update the activity. The new password value must be provided in the tag attribute attributes. (For enter password activities only.)

  • saveCertification: Save the current state of a certification activity.

  • submitCertification: Save and finish a certification activity.

  • A flag controlling operation signing. The flag is evaluated only for the operation types assign, deny, enter and grant.

  • init: Do not update the activity. Just generate and return an XML document to sign the updates.

  • finish: Validate the provided signed document. Update the activity, and save the signed document.

In case the update type is "submitCertification", the tag returns

  • The string “OK” if the certification task is finished.

  • The string “INCOMPLETE_CERTIFICATION” if the certification task is still unfinished.

Usage:

<wf:updateActivity Attributes/>

Attributes:

activityDN="dn"

The activity DN.

[In; required; accepts a JSTL expression.]

attributes="attributes"

The workflow subject order password (String) or attributes (Map, Attribute name -> Attribute value).

[In; optional; accepts a JSTL expression.]

dueDate="dueDate"

The due date for enter attributes activities.

[In; optional; accepts a JSTL expression.]

newParticipant="dn"

In case of change participant: The DN of the new participant.

[In; optional; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for result.

[In; optional; default: “page“; accepts a JSTL expression.]

subjectDN="dn"

The workflow subject DN.

[In; optional; accepts a JSTL expression.]

reason="reason"

The reason for approving or rejecting an approval activity.

[In; optional; accepts a JSTL expression.]

resources="resources"

The workflow order resources for approval activities, reflecting changes to assignment attributes by an approver.

[In; optional; accepts a JSTL expression.]

result="varName"

The name of the variable to accept the operation’s result; for update type submitCertification only.

[Out; optional; default: “result”; accepts a JSTL expression.]

scopeTextToBeSigned="page"|"request"|"session"|"application"

The scope for varTextToBeSigned.

[In; optional; default: “page“; accepts a JSTL expression.]

signedData="signedData"

The signed document.

[In; optional; accepts a JSTL expression.]

signState="init"|"finish"

Whether to start or finish activity update signing.

[In; optional; accepts a JSTL expression.]

updateType="assign"|"cancel"|"changeParticipant"|"deny"|"enter"|"grant"|"password"|"saveCertification"|"submitCertification"

The update type.

[In; required; accepts a JSTL expression.]

varTextToBeSigned="varName"

The name of the variable to accept the document to signed (String).

[Out; optional; accepts a JSTL expression.]

UpdateWorkflow Tag

Description:

The tag cancels, suspends or resumes a workflow instance.

The workflow server cannot update the workflow as long as any (interactive or automatic) activity for the workflow is currently executed. In this case, you can have the server wait for the workflow to become idle by defining a positive idle timeout.

Usage:

<wf:updateWorkflow Attributes/>

Attributes:

timeout="timeout"

The maximum time to wait for the update operation to become executable (in milliseconds)

[In; optional; default: “0”; accepts a JSTL expression.]

updateType="cancel"|"resume"|"suspend"

The update type.

[In; required; accepts a JSTL expression.]

workflowDN="dn"

The workflow DN.

[In; required; accepts a JSTL expression.]

DirXweb for JSP Tags

This section describes the DirXweb for JSP tags used by Web Center applications.The tag implementations can be found in jar file DirXweb12.jar.

To use a DirXweb for JSP tag in a JSP page, include the following tag library directive in the page:

<%@ taglib uri="/siemens/dirxjsp" prefix="dir" %>

Notes

  • The specified URI corresponds to the URI used in the tag library descriptor META-INF/DirXjsp12.tld in file DirXjsp12.jar and cannot be changed.

  • The prefix is arbitrary but must be different from any other prefix used in the same page. The prefix used in the standard Web Center applications is “dir”.

Export Tag

Description:

The tag discards all output generated within its body.

Usage:

<dir:export/>

GetCookie Tag

Description:

The tag splits an HTTP cookie value into sub-cookies. It returns a DirCookie object that provides access methods to the sub-cookies.

Usage:

<dir:getCookie Attributes/>

Attributes:

name="name"

The cookie name (String).

[In; required; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for result.

[In; optional; default: “page“; accepts a JSTL expression.]

var="varName"

The name of the variable to accept the sub-cookies (DirCookie).

[Out; optional; default: “dircookie”; accepts a JSTL expression.]

SetCookie Tag

Description:

The tag sets an HTTP cookie created from a set of sub-cookies. Two adjacent sub-cookies will be delimited by a percent sign (%), name and value of a sub-cookie by a dash (-). Sub-cookie values will be Base64-encoded.

Usage:

<dir:setCookie Attributes>
Body content
</dir:setCookie>

Attributes:

name="name"

The cookie name (String).

[In; required; accepts a JSTL expression.]

path="path"

The cookie path (String).

[In; optional; accepts a JSTL expression.]

domain="domain"

The cookie domain (String).

[In; optional; accepts a JSTL expression.]

comment="comment"

The cookie comment (String).

[In; optional; accepts a JSTL expression.]

httpOnly="true"|"false "

Whether to set the “httpOnly“ flag for the cookie (true) or not (false). This prevents browser access to the cookie via Javascript code.

[In; optional; default: “false“; accepts a JSTL expression.]

secure="true"|"false "

Whether to send the cookie over secure protocols only (true) or not (false).

[In; optional; default: “false“; accepts a JSTL expression.]

maxAge="maxAge"

The maximum age for the cookie (Integer, in seconds).

[In; optional; default: “-1“; accepts a JSTL expression.]

version="version"

The cookie version (Integer, 0 or 1).

[In; optional; default: “1“; accepts a JSTL expression.]

Body Content:

The tag accepts any number of SubCookie tags in its body:

subCookie

A sub cookie.

SetParams Tag

Description:

The tag is used when uploading files to the web server. It provides easy access to multipart/form-data encoded request parameters. See the use case document on Web Center File Upload for details.

The tag attributes include:

  • The comma-separated list of accepted content types provided by the uploading client. If empty, any content type is accepted.

  • The comma-separated list of accepted content types returned by the custom content type detector. If empty, any content type is accepted.

  • The comma-separated list of accepted file extensions provided by the uploading client. If empty, any file extension is accepted.

  • The comma-separated list of accepted mime types returned by the TIKA file type detector. If empty, any mime type is accepted.

  • The encoding used to encode string parameters.

  • Whether to return the file content or the file items.

  • Whether to ignore empty files.

  • The maximum total size of data to be uploaded (in bytes).

The tag returns

  • A map containing the file parameters.

  • A map containing the string parameters.

  • An array with information about the operation’s result.

  • The first item in the array is the result code (Integer:.

    0: The operation was successful.
    1: Size limit exceeded.
    2: Invalid content type.
    3: File upload failed.
    4: Unspecified error.

  • The second item is the exception throw in case of errors.

Usage:

<dir:setParams Attributes/>

Attributes:

acceptedContentTypes="acceptedContentTypes"

The accepted content types (String).

[In; optional; accepts a JSTL expression.]

acceptedCustomContentTypes="acceptedCustomContentTypes"

The accepted custom content types (String).

[In; optional; accepts a JSTL expression.]

acceptedExtensions="acceptedExtensions"

The accepted file extensions (String).

[In; optional; accepts a JSTL expression.]

acceptedMimeTypes="acceptedMimeTypes"

The accepted mime types (String).

[In; optional; accepts a JSTL expression.]

charset="charset"

The string parameter encoding.

[In; optional; default: the platform’s default Java encoding; accepts a JSTL expression.]

content="true"|"false"

Whether to return the file content (true) or not (false).

[In; optional; default: “true“; accepts a JSTL expression.]

maxFileSize="maxFileSize"

The maximum upload data size (Integer, in bytes).

[In; optional; default: “100000“; accepts a JSTL expression.]

scope="page"|"request"|"session"|"application"

The scope for varParam, varFileParam and varResult.

[In; optional; default: “page“; accepts a JSTL expression.]

varParam="varName"

The name of the variable to accept the string parameters (Map<String,Object>).

[Out; optional; default: “dirparam”; accepts a JSTL expression.]

varFileParam="varName"

The name of the variable to accept the string parameters (Map<String,Object>).

[Out; optional; default: “dirfileparam”; accepts a JSTL expression.]

varResult="varName"

The name of the variable to accept the operations result (Object[]).

[Out; optional; default: “dirparamresult”; accepts a JSTL expression.]

SubCookie Tag

Description:

The tag adds a sub-cookie to the enclosing setCookie tag.

Usage:

<dir:subCookie Attributes/>

Attributes:

name="name"

The cookie name (String).

[In; required; accepts a JSTL expression.]

path="path"

The cookie path (String).

[In; optional; accepts a JSTL expression.]

domain="domain"

The cookie domain (String).

[In; optional; accepts a JSTL expression.]

comment="comment"

The cookie comment (String).

[In; optional; accepts a JSTL expression.]

httpOnly="true"|"false "

Whether to set the “httpOnly“ flag for the cookie (true) or not (false). This prevents browser access to the cookie via Javascript code.

[In; optional; default: “false“; accepts a JSTL expression.]

secure="true"|"false "

Whether to send the cookie over secure protocols only (true) or not (false).

[In; optional; default: “false“; accepts a JSTL expression.]

maxAge="maxAge"

The maximum age for the cookie (Integer, in seconds).

[In; optional; default: “-1“; accepts a JSTL expression.]

version="version"

The cookie version (Integer, 0 or 1).

[In; optional; default: “1“; accepts a JSTL expression.]