This tutorial is part of the Identity Manager track within the Identity Suite Essentials program.
Description
This tutorial covers the creation, configuration, and use of a custom self service workflow for Identity Manager 8 with the Netbeans development environment.
Learning Objectives
After completing this tutorial, the following topics should be understood.
- Creating and modifying a new Self Service workflow with Netbeans
- Configuring Identity Manager to use a new workflow
- Using the Identity Manager debugger with a self service workflow
- Using a custom audit in a workflow and an audit report
Prerequisites
The following items must be completed before starting this tutorial.
- Complete the Development Environment Tutorial
- Complete the Identity Manager Configuration Tutorial
- Complete the Authoritative Source Tutorial
Setup
The following steps need to performed to enable the demonstration.
Section 1: Deploy Custom Objects
The Identity Manager artifacts for this module are in the extracted zip file for the [Identity Suite Essential]. The specific artifacts for this tutorial are located in the custom/WEB-INF/config/ISE/module8 folder.
Follow these instructions to deploy the custom objects.
| Download the ISE tutorial bundle. Uncompress the bundle and copy the extracted files to custom/WEB-INF/config directory under Idm8 project directory. |
| folder to view the custom objects from the tutorial bundle. |
| Right click Idm8 in the Projects tab. Select Run to deploy and run the project. |
Section 2: Summary of Custom Objects
This section provides a summary of the custom objects in the project for this module.
| TaskDefinition-ISERequestSecureLocationAccess.xml | Custom Self Service which allows a user to request access to a secure badge location. This workflow also assigns a BadgeAccess resource to users if they do not already have it. |
| UserForm-ISESecureLocationApprovalForm.xml | This is a custom approval form for this workflow which lists the specifics of the requested secure location for the approver. |
| UserForm-ISESecureLocationRequestForm.xml | This is a form for the requestor to use for filling values to request access to a secure location. |
| EmailTemplate-GenericEmailNotification.xml | This is a email template which is used for this tutorial. |
| End User Request Menu.xml | This is the end user menu addition to allow the user see a link for the new workflow |
| End User Tasks.xml | This is the configuration object which gives the end users the permission to run the new workflow |
| Resource-BadgeAccess.xml | This is the simulated resource adapter which is used in this tutorial. |
| RuleLibrary-ISELibrary.xml | This is a rule library with a few rules used by this module. |
| User-itadministrator.xml | This is a administrator who is used for approvals in this module. |
| User-tuser1.xml | This is a test user used in this module. |
Section 2: Configure Workflow for end users
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
<List>
<String>ISE - Request Secure Location Access</String>
<String>ISE Request Secure Location Access</String>
</List>
|
![]() |
End User menu
|
![]() |
The following section was added to allow the end user request menu to contain a link to launch the custom workflow used in this module:
<Field>
<Display class='Link'>
<Property name='name' value='ISE Request Secure Location Access'/>
<Property name='URL' value='user/processLaunch.jsp?id=ISE+-+Request+Secure+Location+Access'/>
</Display>
</Field>
|
![]() |
Generic Email Template
ISE - Generic Email Template
An email template is used in this module for notifications. This template is intended to be reused for multiple different types of scenarios. Variables are used in the workflow to pass values to the emails (examples: $(headerText) and $(bodyText))
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE EmailTemplate PUBLIC 'waveset.dtd' 'waveset.dtd'>
<EmailTemplate id='#ID#EMAILTEMPLATE:ISEGenericEmailNotification' name='ISE - Generic Email Notification'
smtpHost='$(smtpHost)' fromAddress='administrator@example.com' htmlEnabled='false'>
<Variable name='accountId' external='true'/>
<subject>$(subjectText)</subject>
<body>
$(headerText)
-------------
$(bodyText)
</body>
<MemberObjectGroups>
<ObjectRef type='ObjectGroup' id='#ID#All' name='All'/>
</MemberObjectGroups>
</EmailTemplate>
Section 3: Test the new Workflow
|
![]() |
|
![]() |
|
![]() |
Select a secure Location to request access to. The default workflow does not contain any approvals.
Once the access is requested, the user should be provisioned that access immediately.
The steps will describe how to add an approval to the workflow.
Section 5: Workflow enhancements
This section will edit the supplied self service workflow to configure different approval options.
Note: The Identity Manager artifacts includes in this module include a new administrator for escalation approvals: ITAdministrator / Passw0rd
|
![]() |
Approval Queue
This step will describe how to change the workflow to use a transition to use an approval Queue. This transition will use an activity which uses the out of the box Multi Approval subprocess.
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
Parallel approval
Change the transition to use a parallel approval
|
![]() |
Serial Approval
A simple serial approval can be optionally added to the workflow if necessary by chaining the Approval Queue and the Do Parallel approval activity in the workflow. This step is optional for this tutorial. It would simply require changing the transitions from the Display Confirmation Page to the Approval Queue the from the Approval Queue to the Do Parallel Approval. If this step is done, then the appOwner variable should be changed to be a new user since the configurator user is already part of the approval queue step. All the approvers can be easily changed in the workflow to control the workflow process.
Section 7: Audit Report Creation
This section will describe the creation of an Audit Report for all provisioning activity for the Badge Access resource used by this self service workflow.
|
![]() |
|
![]() |
|
![]() |
|
![]() |
Demonstration
After completing the setup above, the following steps should be performed to complete this tutorial.
Section 1: Demonstrate the extended end user request workflow
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
- Login to the Identity Manager end user interface http://localhost:8080/Idm8/user] as the requestors manager and approve the request.
- Login to the Identity Manager admin interface http://localhost:8080/Idm8 as configurator / configurator.
Select the Work Items tabs, then the Approvals subtab.
select List Approvals for: All Approvals
Select the Request details for each of these approvals and Approve the request.
Logout
|
![]() |
Section 2: Run audit report
login to Identity Manager as Configurator / Configurator
Select the Reports tab
|
![]() |
|
![]() |
Resources
The following links provide more information:
- Sun Identity Manager:
Copyright (c) 2008, Sun Microsystems, Inc.
All rights reserved























