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