0% found this document useful (0 votes)
2 views64 pages

Appendix-A_How to CreateTaskFlow

The document provides a detailed guide for creating a TaskFlow in OIG 11G R2 PS3 using JDeveloper, focusing on gathering additional request information at the cart item level. It includes step-by-step instructions for setting up the environment, creating a managed bean, and defining the task flow components. The guide emphasizes the importance of proper configuration and coding practices to ensure successful integration with Oracle Identity Manager (OIM).
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views64 pages

Appendix-A_How to CreateTaskFlow

The document provides a detailed guide for creating a TaskFlow in OIG 11G R2 PS3 using JDeveloper, focusing on gathering additional request information at the cart item level. It includes step-by-step instructions for setting up the environment, creating a managed bean, and defining the task flow components. The guide emphasizes the importance of proper configuration and coding practices to ensure successful integration with Oracle Identity Manager (OIM).
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

OIG 11G R2 PS3 Training

OIG 11G R2 PS3 Field Enablement Training


Appendix-A – How to Create a TaskFlow

Disclaimer: The Virtual Machine Image and other software are provided for use
only during the workshop. Please note that you are responsible for deleting them
from your computers before you leave. If you would like to try out any of the Oracle
products, you may download them from the Oracle Technology Network
([Link] or the Oracle E-Delivery WebSite
([Link]

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 1|Page
OIG 11G R2 PS3 Training

Contents
OIG 11G R2 PS3 Field Enablement Training ............................................................................................ 1

Appendix-A – How to Create a TaskFlow .................................................................................................. 1

Introduction .............................................................................................................................................. 3

Creating a new Taskflow Using JDeveloper ............................................................................................ 3

Packaging the taskflow ......................................................................................................................... 53

Attaching the TaskFlow for Entitlement Request Operation ................................................................ 56

Testing the TaskFlow............................................................................................................................. 57

Summary ............................................................................................................................................... 64

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 2|Page
OIG 11G R2 PS3 Training

Introduction

In Lab 4.1 we have seen the task flow for gathering the additional request information at the cart
item level. In this lab we will take a look at how to create a simple taskflow and how to hook it up to
OIM in order to gather additional information at the cart item level.

We would create a task flow which will have only 2 fields collected. Phone and Office. As with the
Lab4.1 when you save the information. We use the newly introduced AdditionalRequestInfo class to
store the information user has entered.

Note: If you are doing it in the workshop VM environment, please revert to the snapshot taken
before Lab4.1 -PS2-Request-Enhancements. This is recommended as we want to
experience end to end task flow creation and hooking it into OIM. Lab4.1 has already
done hooking the task flow in OIM as part of that Lab.

Note: A completed taskflow can be found in /app/dummydata/Appendix_TaskFlow-Completed


folder

Creating a new Taskflow Using JDeveloper

Note: You can either do this in the workshop VM environment or in your Own JDeveloper.

1. In the VM open a terminal window and create a directory Appendix. We will be creating
our new taskflow in this directory

mkdir /app/dummydata/Appendix

2. Launch the JDeveloper using the [Link] located in Deskstop/Startup_Scripts

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 3|Page
OIG 11G R2 PS3 Training

3. In JDeveloper click on New Application

4. Provide the Name as RequestUI and the directory as /app/dummydata/Appendix. The


application is of type Generic Application. Click on Finish

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 4|Page
OIG 11G R2 PS3 Training

5. Application will create a generic project Project1. We would need to delete this project as
we need to create a ADF project. Right Click on Project1 and click Delete Project

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 5|Page
OIG 11G R2 PS3 Training

In the Pop up select the following option to delete the project from JDeveloper and from
file system

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 6|Page
OIG 11G R2 PS3 Training

6. In the Jdeveloper Menu Click on File-> New. Create a project of type ADF View Controller
Project

Click Ok

7. Name the Project as RequestUI and click Finish

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 7|Page
OIG 11G R2 PS3 Training

8. You should see the following structure in JDeveloper

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 8|Page
OIG 11G R2 PS3 Training

9. We need to add the jar files needed for writing and compiling the Java Bean we will be
writing In the next step. We need to add two jars files. These files are

<IDM-HOME>/server/modules/[Link].model_11.1.2/[Link]

<IDM-HOME>/server/modules/[Link].view_11.1.2/[Link]

Right Click on the Project RequestUI->Project Properties

Click on Libraries and ClassPath -> Add Jar/Directory

Select

<IDM-HOME>/server/modules/[Link].model_11.1.2/[Link]

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 9|Page
OIG 11G R2 PS3 Training

Click Select to add the Jar file.

Now Click on Add Jar/Directory Again

Select <IDM-HOME>/server/modules/[Link].view_11.1.2/[Link]

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 10 | P a g e


OIG 11G R2 PS3 Training

Click Select to choose the file

Now you should see the two jars in the list. Click Ok to close the window. Now we should
have the Jars needed for compiling the files later.

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 11 | P a g e


OIG 11G R2 PS3 Training

10. We first need to create a managed bean. Managed bean is responsible to doing the work
in the backend. In our case the managed bean will collect the information entered in the
two text fields Phone and Office. It will also save the information entered in these two
fields by user when Save button is clicked

Now let’s create the Managed Bean class. In the JDeveloper From the Menu Click on

File-> New

Click on Java and Select Java Class

11. Specify the name as RequestBean. Enter the package as [Link] . Click Ok

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 12 | P a g e


OIG 11G R2 PS3 Training

You should have the Java Class Created

12. Now Import the following classes in the java fie

import [Link];

import [Link];

import [Link];
Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 13 | P a g e
OIG 11G R2 PS3 Training

13. Now define the following variables in the code.

private String phone;

private String office;

private String cartItemID;

private boolean readOnly=false;

private boolean showButton = true;

private RequestFormContext requestFormContext;

private AdditionalRequestInfo additionalRequestInfo;

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 14 | P a g e


OIG 11G R2 PS3 Training

The phone and office are the two field’s user will enter the information. The readOnly
variable dictates whether to show the fields in Edit or ReadOnly mode. The showButton
dicates whether to show the buttons ( Save and Cancel) or hide.

The fields will be in Edit mode and button will be shown only for the requester. Approver
will see a read only mode with buttons for Save and Cancel Hidden.

14. Since we are writing a managed bean, we need to create setter and getter methods.
Right click from within the java file and select Generate Assessors

15. Select the following to generate these methods. Click Ok once done

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 15 | P a g e


OIG 11G R2 PS3 Training

16. You should see the methods generated by JDeveloper

17. Now we need to make this bean Serializable. Import the class first

import [Link];
Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 16 | P a g e
OIG 11G R2 PS3 Training

18. Now make the class implement Serializable interface

19. Add a method Save in the bean. This is called when the user clicks on Save button.

public void Save(ActionEvent e){

[Link](" ---- Inside Save ------");

saveData();

20. Now we need to define one more method saveData() which is getting called from Save
as shown able.

public void saveData() {

[Link]("--- Inside #saveData ---");

[Link](cartItemID, "phone", [Link]);

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 17 | P a g e


OIG 11G R2 PS3 Training

[Link](cartItemID, "office", [Link]);

[Link](" ---Saving Done ----- ");

If you look at the above code snippet. Request Context and additionalRequestInfo will
get passed into managed bean automatically.

We can get the cartItem ID once we have these two . The ID will tell us what is getting
requested and based on what is being requested (i.e app instance , role , entitlement) we
can collect different information from user by calling different taskflow. Once the user
enters the information for Phone and office in the screen and saves it . The setter
methods are called first which will set the values for these in the bean. The Save action
will call the save method in the bean which in turn is calling saveData()

We call [Link] method to set these additional values . So that


OIM can save these values and these values will show up In the approval chain as well.

The setAttribute & geAttribute has two types . One as shown above where you pass the
cartItemID which will be useful if you have multiple items in the cart and the
corresponding values needs to be save . The other method without the cart Item Id which
is simpler version which is used if you attach the task flow at the cart level. This is not
recomanded method to gather additional information in PS3.

21. We also need to add an Initialize() method. This method is called first everytime managed
bean is called. This method will call the getAttribute method from AdditonalRequestInfo
interface. So if the values are already selected by the user when he has accessed last time
(i.e the interface is opened by approver where we need to display already selected
value). This initialize () method will get the already set value and display it to the user.

Add the following lines just after the consturtor

public void initialize() {

[Link]("--- Inside Initialize------");

if (requestFormContext != null && additionalRequestInfo != null) {

// initialize attribute values

cartItemID = [Link]();

[Link](" --- Cart Item ID is -----" + cartItemID +

"-----------");

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 18 | P a g e


OIG 11G R2 PS3 Training

phone = (String)[Link](cartItemID, "phone");

[Link](" --- phone is " + phone + "-------");

office =

(String)[Link](cartItemID, "office");

[Link](" --- office is " + office + "-------");

[Link](" --- Request Form Context Action Type " +

[Link]() + "-------");

if ([Link]() ==

[Link]) {

[Link](false);

[Link](true);

} else if ([Link]() ==

[Link] ||

[Link]() ==

[Link] ||

[Link]() ==

[Link]) {

[Link](true);

[Link](false);

If you look at the above code If the Form Context is not null and requestInfo is not null,
we are trying to get the already saved values first ( In the case of approver sees the form).
For the first time when requester is accessing it will return null.

Since we are providing the values at the cart item level, we need to get the cartItemID so
that we can save the values with cartitemID. This allows the taskflow to be attached to
any number of entitlements ,roles and app instances which each item in the cart will have
its own unique cartitemid for saving receptive values.

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 19 | P a g e


OIG 11G R2 PS3 Training

Next if the mode if REQUEST we will set the value of Read Only and Show buttons to true
which means that the form fields will be presented in Editable mode will Save button
enabled.

If the Mode is SUMMARY (when the requester submits and looks for the request using
track request) or APPROVAL (approver is opening the form and looking at it) the form
fields will be shown in read only and save button hidden.

This completes the Managed Bean code.

Note: When you cut and paste the code, Right click on Select Refractor which will arrange
the code nicely formatted

22. Right click on the project RequestUI . Click on Rebuild Request UI

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 20 | P a g e


OIG 11G R2 PS3 Training

Make sure that there are no compilation errors

23. Now we are done with the Bean needed to hold the values we supply in the OIM UI and
we also have the logic to save the values using AdditionalRequestInfo interface. Let’s
design the taskflow which will collect the values in the OIM UI.

Right Click on the Project RequestUI -> New

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 21 | P a g e


OIG 11G R2 PS3 Training

24. Select JSF and make sure ADF Task Flow is selected (default). Click Ok

25. Enter the name as [Link]. Make sure the task flow is bounded task flow and
also make sure page fragments is selected. Task Flow ID ia automatically populated.

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 22 | P a g e


OIG 11G R2 PS3 Training

Also make sure that the PATH oracle/iam/ui/custom is selected for the task flow .

Note: There has been explicit JPS permission granted in OIM for taskflow under the
branch oracle/iam/ui/custom. So you don’t need to grant any explicit permission. It’s
advisable to create any of your custom UI taskflows in this branch. (i.e WEB-
INF/oracle/iam/ui/custom)

Click Ok.

26. You should see the taskflow created.

The project should now look like this

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 23 | P a g e


OIG 11G R2 PS3 Training

27. Click on View -> Component Palette . The pallet will be displayed on right side

28. Now let’s define the elements in taskflow. In the ADF Task-Flow component pallet click
on View and drag and drop to the canvas.

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 24 | P a g e


OIG 11G R2 PS3 Training

29. You would have the view in the canvas. Change the name to requestData

After the change it should look like this

30. Now we should register our managed bean RequestBean with this taskflow so that the
managed bean can be used to hold the values set by the user and to save the data.

Click on the Overview tab to open it

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 25 | P a g e


OIG 11G R2 PS3 Training

Click on Managed Beans. Click on + to register the managed bean we created

Enter the following

Name: RequestBean

Class: [Link]

Scope: PageFlow

31. Click on Parameters

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 26 | P a g e


OIG 11G R2 PS3 Training

We need to create two input parameters requestFormContext and requestAdditionalInfo.


These will be passed by OIM to bean automatically.

Click on + as shown

Name: requestFormContext

Class: [Link]

For the Value expand and click on the Arrow select Expression Builder

Delete the existing value under Expression

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 27 | P a g e


OIG 11G R2 PS3 Training

Open ADF Managed Bean -> pageFlowScope -> RequestBean. Select


requestFormContext.

It should populate the Expression box as shown.

Click Ok

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 28 | P a g e


OIG 11G R2 PS3 Training

Now click on + to define another variable

Enter the following

Name : additionalRequestInfo

Class: [Link]

For the value click on expand and click Expression Builder.

Clear (Delete) the Expression first

Select ADF Managed Bean -> pageFlowScope -> RequestBean -> additionalRequestInfo

The Expression box should be populated like shown below

Click Ok.

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 29 | P a g e


OIG 11G R2 PS3 Training

You should have the configuration as shown below. Click on Save All to save.

32. Lets generate jsff page where we can have our fields to collect input from user

Click on the Diagram tab again.

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 30 | P a g e


OIG 11G R2 PS3 Training

Double click on requestData. It will open up a jsff page creation wizard as shown. Accept
the default and Click Ok

33. It would create a jsff page and you are ready to design the page

34. In the component panel on the right hand side, Locate Panel Group layout under Layout
and drag and drop into canvas

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 31 | P a g e


OIG 11G R2 PS3 Training

It should look like this

35. Locate Input Text under Common Components and drag and drop inside the group layout
you created.

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 32 | P a g e


OIG 11G R2 PS3 Training

Rename the name to Phone from Label 1 ( You can type to change the name)

36. Highlight the field Phone, you should see a property inspector window in Jdeveloper (This
could be a separate window by itself as well).

Click on the expand mark near the field Value and select Expression Builder

Navigate to ADF Managed Bean -> pageFlowScope-> RequestBean -> phone.

Select phone.

The Expression should be populated as shown.

Click Ok

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 33 | P a g e


OIG 11G R2 PS3 Training

Now while highlighting the Phone in the property inspector open the Behavior section.
For Read Only click on Expression Builder

Select ADF Managed Bean -> pageFlowScope-> RequestBean -> readOnly

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 34 | P a g e


OIG 11G R2 PS3 Training

Click Ok

37. Now let’s add one more field. Back under Common component pallet. Drag and Drop an
Select One List Box inside the panel group layout (highlighted by border) .

It will open a pop up for us to define list of values. Click on Create List and then click on +

Add two values as shown below. For the second you need to click on + Again.

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 35 | P a g e


OIG 11G R2 PS3 Training

Click on Next button

Enter the Label as Office.

Click on next to Value and Method Expression Builder brings up expression Builder.

Navigate ADF Managed Beans -> pageFlowScope-> RequestBean-> office

Select office

Expression text should populate as shown click Ok

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 36 | P a g e


OIG 11G R2 PS3 Training

Now back on the Select Value list screen it should look like this. Click on Finish

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 37 | P a g e


OIG 11G R2 PS3 Training

Now the taskflow should look like this

While Highlighting Office, in the property selector on right hand side open the Behavior
section for Read Only using the Expression Builder

Click on ADF Managed Beans -> pageFlowScope-> RequestBean-> readOnly

Click Ok to save

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 38 | P a g e


OIG 11G R2 PS3 Training

38. Now let’s create button Save

Under the common components pallet chose Button and drag and drop on the canvas
inside the Panel Group layout identified by the border

You should see a property pallet for the command button. Change the Text to Save

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 39 | P a g e


OIG 11G R2 PS3 Training

Scroll down to the Action Listener and click on the Arrow

Click on Edit

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 40 | P a g e


OIG 11G R2 PS3 Training

In the Dialog Select the Select Following

Managed Bean -> Request Bean

Method -> Save

Click Ok to save the change

You should see the Action Listener Populated

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 41 | P a g e


OIG 11G R2 PS3 Training

This will call the Save method of the managed bean when the user clicks on Save button.

Now scroll down to Advanced Section. For the Field Visible use the Expression Builder

Click on ADF Managed Beans -> pageFlowScope-> RequestBean-> showButton

Click Ok

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 42 | P a g e


OIG 11G R2 PS3 Training

You should see the page like this below

Click on Save All in JDeveloper to Save the updates

The Project now should look like this.

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 43 | P a g e


OIG 11G R2 PS3 Training

39. Now we need to call the initialize method designed in the managed bean first from the
ADF task flow. Click on the [Link] tab in jdeveloper to open it

40. From the component pallet drag and drop a method call

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 44 | P a g e


OIG 11G R2 PS3 Training

41. Change the name to initialize

42. From the component panel select Control Flow Case and connect initialize and
requestData

The Arrow should go from initialize to requestData

43. Now Rename the name of the Arrow to initialized

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 45 | P a g e


OIG 11G R2 PS3 Training

44. Now we need to associate the manage bean method initialized to the method call we
have created. Double click on initialize method call

Select

Managed Bean -> Request Bean

Method -> initialize

Click Ok

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 46 | P a g e


OIG 11G R2 PS3 Training

45. Now highlight the method call initialize . You should see the property inspector on the
right hand side

46. For the field Fixed Outcome. Enter initialized. Hit Enter Key to save the change.

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 47 | P a g e


OIG 11G R2 PS3 Training

47. Once you complete the step you should not see any warning icon in the taskflow for
initialize method. There should not be any warning symbols.

48. Now we need to make the initialize method call as the default activity in the taskflow.
While in the [Link] taskflow. Click on the Overview tab

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 48 | P a g e


OIG 11G R2 PS3 Training

49. Change the Default Activity to initialize

50. Click Save All in JDeveloper to save all the files

51. Let’s compile the project. Right click on Request UI -> Rebuild

Make sure that that are no errors and project compiles successfully

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 49 | P a g e


OIG 11G R2 PS3 Training

52. Now our task flow is complete and we should package it as a JAR file.

Right Click on Project RequestUI-> New

Select Deployment Profiles -> ADF Library Jar File

Accept the Default name and click Ok

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 50 | P a g e


OIG 11G R2 PS3 Training

It will open one more window click Ok

Now back on main window. If you see an WAR file listed, Highlight it and click Delete

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 51 | P a g e


OIG 11G R2 PS3 Training

Now Click Ok

Highlight the Request UI -> Deploy ->adflibRequestUI1

Click Finish

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 52 | P a g e


OIG 11G R2 PS3 Training

You should see a Deployment tab at the bottom of jdeveloper and it should be successful

The Jar has been created at the following Directory

We are done with the task flow development. You can close the JDeveloper.

Packaging the taskflow

OIM out of the box supplies a shell WAR file which allows you to bundle all your
customizations. This war file is called [Link]. You can
include all your customizations which include your custom taskflow in this WAR file. We
will package our taskflow in this WAR file and distribute to OIM

1. Open a command terminal and navigate to /app/dummydata/Appendix folder

2. Copy the WAR file from server to current directory

cp /app/Middleware/Oracle_IDM1/server/apps/[Link]-dev-starter-
[Link] .

3. Extract the war file

unzip –d taskflow [Link]

4. Now navigate inside taskflow and observe the directory

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 53 | P a g e


OIG 11G R2 PS3 Training

5. We would be putting our taskflow jar into lib directory inside WEB-INF. Lets create the
directory .

mkdir lib

6. Now lets copy our newly built taskflow jar file into this directory

cd lib

cp /app/dummydata/Appendix/RequestUI/deploy/[Link] .

Make sure the jar is in the lib directory

7. Now lets rezip the jar file again

Go back to taskflow directory

cd ..

cd..

Make sure you are in directory /app/dummydata/Appendix/taskflow

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 54 | P a g e


OIG 11G R2 PS3 Training

issue the command

zip –r [Link] *

You should see the WAR file created in taskflow directory

Copy this file to OIM

cp [Link]
/app/Middleware/Oracle_IDM1/server/apps/.

Verify the timestamp at target OIM directory to make sure file is copied

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 55 | P a g e


OIG 11G R2 PS3 Training

Attaching the TaskFlow for Entitlement Request Operation

In PS3 in order to attach the taskflow for cart item level for gathering additional information, you
don’t need to do any customizations unlike in PS2. There are system properties defined one per
Application Instance, Role and Entitlement which will let you attach an task flow each for gathering
additional information. PS2 required you to customize the UI to invoke the taskflow.

1. Start the OIM server using [Link] script on Desktop/Startup_Scripts

2. Login to OIM system admin console as ADMIN

3. Click on Configuration Properties under System Configuration

4. Search for Catalog* and open the Catalog Additional Entitlement Details Task Flow

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 56 | P a g e


OIG 11G R2 PS3 Training

5. Change the value to /WEB-INF/oracle/iam/ui/custom/[Link]#request-flow


Save the change

Note: We are specifying here our newly created taskflow which is located in

/WEB-INF/oracle/iam/ui/custom/[Link]#request-flow directory. And the


name of the task flow is [Link] and there is only one taskflow in this file with
the ID request-flow

Note: Also notice that there are additional system properties for Role and Application
Instance which allows you to specify the task flows for collecting additional information
as well.

6. Logout from sysadmin console

Testing the TaskFlow


Now that we have our task flow deployed. Let’s test it.

1. Start the SOA Server using the [Link] script in Desktop/Startup_Scripts


folder

2. We first need to add the approver user to Catalog item we are requesting.
As the workflow composite AddAccessApproval attached will require an
approval user.

Note: If you are using the default Beneficiary Manager Approval


composite for approving entitlement request you don’t need to do this
step. If currently no workflow is defined for Provision Entitlement, please
define a workflow approval rule to select a workflow composite. (Either
AddAccessApproval Designed in Lab3 and deployed in Lab 3.1 OR default
Beneficiary manager approval). In this Lab setup we are using
AddAccessApproval which requires you to have approver user defined for
catalog item.

Login to Identity console as catalog administrator sellison/Oracle123

3. Click on Request Access -> Request for Self

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 57 | P a g e


OIG 11G R2 PS3 Training

4. Search for the entitlement Legal

5. Click on Information (i) button to open the catalog Details

6. For the approver user, search and select Robert Hanes . Click Apply

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 58 | P a g e


OIG 11G R2 PS3 Training

7. Logout of Identity console

8. Login to Identity console as jkrause/Oracle123

9. Click on Request Access -> Request for Self

10. Search for Legal. This is an entitlement

11. Add the item to Cart using Add to Cart

12. Click on Next

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 59 | P a g e


OIG 11G R2 PS3 Training

13. Now click on the Tab

14. You should see the taskflow we created getting invoked.

15. You would see the Initialize method getting called in the Log (In the terminal
where OIM is running)

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 60 | P a g e


OIG 11G R2 PS3 Training

16. Enter some value for Phone and select HQ for Office. Click on Save

17. You should see the logs in OIM Servers Terminal where the managed bean

is saving the values you have entered.

The Save button click will call the save () method and saveData() method in our
managed bean RequestBean. The saveData() will save the information using the
AdditionalRequestInfo interfaces setAttribute method.

We use cart item ID while saving in this method. Which allows us to save the
additional information even if multiple items are in the cart.

18. Now click on Submit to submit the request.

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 61 | P a g e


OIG 11G R2 PS3 Training

19. The approval will go to DCRANE as dcrane is the manager of this user. Login
Identity console as dcrane/Oracle123

20. The Pending Approvals in the home page should show you that 1 approval is
pending.

21. Click on Pending Approvals to open it

22. Again click on the approval to open it

23. Once the request is open click on the Tab to open the additional details we
have specified

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 62 | P a g e


OIG 11G R2 PS3 Training

Notice that the values presented are in Read Only mode. According to the logic we
built If the Action Type is not REQUEST we want the fields to be read only and
button to be hidden.

Take a look at the log and you can see the information being retrieved from
additonalInfo

24. Now you can Approve the request.

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 63 | P a g e


OIG 11G R2 PS3 Training

Summary
In this lab we saw how to create a taskflow and how to attach it into OIM. We also saw
how to use the AdditionalRequestInfo interface to save and retrieve the additional
information in the request at the cart item level. Also as mentioned there are system
properties for different taskflows for role and application instance as well. Its also
important to note that unlike previous PS2 release , there is no need to customize the
UI for attaching this taskflow.

Oracle Proprietary - Restricted to Personal Use in an Oracle partner training class 64 | P a g e

You might also like