Customizing Request Application Flows in OIM 11g?

To all:
I'm trying to work through a scenario using Request Templates - I'm not sure that this approach is possible using configuration approaches and wanted to see if anyone has any useful feedback. First, let me describe the problem I'm attempting to solve:
- The users who will be using self-service will be somewhat restricted on what they can do: basically, once they have an account in OIM (this is 'automatic' from a reconciliation - there's no self-registration or user creation) they can request access to a small number of applications.
The ideal flow that we would like to follow is:
Step 1: Log in to OIM.
Step 2: Create Request
Step 3: Select the Application for requested access and the requested role.
Step 4: Enter an effective date and justification.
Step 5: Submit
... something 'application focused', not 'resource focused' as the end user community is not particularly aware (nor do they really need to be) about the details of how a user is authenticated.
I can get 'close' to this using a request template, with this flow:
Step 1: Log in to OIM
Step 2: Create a request.
Step 3: Select a Request Template. (I named the template after the application - "Select App Account")
Step 4: Select Your Resource (only one in this case - restricted to "AD User")
Step 5: Enter information about the AD account. (I can restrict this down to only allow for group selection, which is great.)
Step 6: Enter effective date, justification
Step 7: Submit
So the only thing I'd really like to 'skip' (or somehow default) is the selection of a resource and skip that step - because the template only allows for a single selection anyway, and having an extra step with a single selection that may only muddle the process would be detrimental to the usability of the request.
Is this a modification that we can make to the request flow ("If only one resource, default and move on") - or will we need to create some form of customized request process using the APIs?
I've dug into the JSF navigation in the iam-console-faces WAR file; it seems that navigation is tied up in the backing beans - has anyone else used Request Templates to meet this type of need?
My thanks in advance for any insight you can provide!

Dewan.Rajiv wrote:
It's a new flow which Oracle has introduced in OIM 11g. You can't skip that selection until you do modification in OOTB UI.
RO is mandatory thing to raise request so you can go for custom UI (Need ADF Knowledge) in which you'll ask end user to select other things except that Resource and you'll fetch RO name from some configuration file for using in request APIs.Thanks - it looks like customizing the OOTB UI might not be possible - rather than using ADF/Faces configuration files, most of the navigation redirects seem to be 'hidden away' in compiled class files. (My original thought: add some kind of filter and/or extension to an ADF Task Flow that governs the request application flow - but there are not task flow files to modify?)

Similar Messages

  • How to deploy a new ADF task flow in OIM 11g R2

    Hi,
    I have created a new ADF task flow.
    Now I need to deploy the same in OIM 11g R2, so that when I click on a link it will call my new ADF task flow.
    Please help me in identifying the steps required to deploy the adf task flow.
    Thanks

    Hi Durga,
    Thanks for sharing the post. I think I am facing the same issue which you were facing.
    I have already done these steps but still not able to get my custom page on click of a link which I created in OIM self service page :
    1. I have created the adflibHomepagePortletsUI.jar as an adf library using Jdeveloper and copied it to oracle.iam.ui.custom-dev-starter-pack.war --> WEB-INF/lib folder after unpacking it.
    2. have updated the custom-catalog.xml file inside oracle/adf/rc/metadata folder with the below lines :
    <folder name="Sample Folder" id="sampleFolder">
    <contents>
    <resource id="helloWorld" name="Hello World"
    description="Hello World Taskflow Reference"
    repository="application.classpath"
    path="adflibHomepagePortletsUI.jar/ADF_TaskFlow/WEB-INF+oracle+iam+ui+sample+homepage+tfs+hello-world-tf.xml#hello-world-tf">
    <attributes>
    <attribute value="coreDefault" attributeId="attr.background" isKey="false"/>
    </attributes>
    </resource>
    </contents>
    </folder>
    3. repacked the war file and copied it in OIM_HOME/server/apps directory
    4. Restarted the OIM server.
    5. entered the following lines in jazn-data.xml present in user_projects\domains\idmdomain\servers\oim_server1\tmp\_WL_user\oracle.iam.console.identity.self-service.ear_V2.0\6bddg\META-INF\jazn-data.xml
    <permission>
    <class>oracle.adf.controller.security.TaskFlowPermission</class>
    <name>/WEB-INF/oracle/iam/ui/sample/homepage/tfs/hello-world-tf.xml#hello-world-tf</name>
    <actions>view</actions>
    </permission>
    5. Login to self service console.
    6. Click on the custom link who's actionListener is pointing to bean which is launching the taskflow created in the above steps.
    7. On Click of the link a new tab gets open with blank page.
    Please help me in knowing the step which I am missing in order to solve this issue.
    Many thanks once again.

  • Using web services in Approval Work flow in OIM 11g

    Hi All,
    I am a new bie to OIM 11g. I have created an approval work flow and it is working fine.
    Now my requirement is to use a web service in the approval work flow instead of directly embeding the java code in Java Embeding Activity. Can some body share me a document or url for the process of doing it.
    Thanks in advance for the help.
    Thanks,
    Preeti

    If you are using OIM 11gR2 please refer the below document. All steps are very clear with the screenshots.
    http://docs.oracle.com/cd/E27559_01/dev.1112/e27150/request.htm#autoId27
    See section 21.3.5.7 Configuring the Human Task and BPEL Mappings
    Also see this OBE tutorial for getting idea on Java embedding activity and assigning and retrieving data from global variables in SOA
    http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/oim/oim_11g/Request_Workflow_for_Self_Registration/request_workflow_for_self_registration.htm

  • How to add custom text in template page - OIM 11g R1

    Does anyone let me know how add custom text in one of the 'Request Templates' page - OIM 11G R1.  My requirement is to add custom static text in 'Role' selection page.
    - Kalyan.

    Does anyone let me know how add custom text in one of the 'Request Templates' page - OIM 11G R1.  My requirement is to add custom static text in 'Role' selection page.
    - Kalyan.

  • Request Administrator isuse in OIM 11g

    I assignd one OIM user (12345) to role as "Request Administrator" and trying to search all the requests raised in OIM.
    I am not able to see all requests .It shows the requests only raised for 12345 user or raised by 12345 user but not other users request.
    Please let me know the reason.
    Thanks for help.

    user123456 wrote:
    What do you mean by Claim/acquire the task?There's a small button on top of the page in OIM UI which you can click to acquire the task to your self from some else.
    There must be some Role in OIM 11g who can manage all the tasks/requests irrespective of whether it's created by them or assign by them.I doubt if that's simple, why want one single role to manage everything while you are assigning it to some other? Assign it to this role always then!
    Do you have any idea about such kind of Role?No
    Thanks !!

  • OOTB Request Based Provisioning in OIM 11g

    Hi Experts,
    I am new to 11g approval work flow.
    I am able to do following thing:
    1) User login to OIM self user page.
    2) User is able to raise request for new resource XYZ Resource.
    3) On succesful submission, the Request goes to approval and its assigned to XELSYSADM
    4) Once the xelsysadm is approving the request, the user gets access to XYZ Resource.
    The above workflow is working.
    I want instead of Xelsysadm, the request should get assigned to user's manager.
    Is it possible to achieve OOTB?
    Please reply!!
    Regards,
    J

    Just wanted to add
    There are three levels of approvals:
    Template Level -- 1st Level
    Request Level -- 2nd Level
    Operation Level -- 3rd Level
    set the Request Level to Auto Approval by checking the box on the request templateThis will Auto Complete the Template Level Approval
    In case if you want to Auto Approve the Request Level then you need to create Approval Policy.
    Request Level and Operation Level are handled at APPROVAL POLICY.

  • How to retrieve Request Form Data in OIM 11g for SOA workflows

    Hi,
    I have a business requirement wherein, I need to retrieve a field's value inside my SOA composite for further processing and decide on the Approver of the Request. Say for e.g. I'm having a field *"Country"* inside my Request Form, and what i need to do is, as soon as the request form is submitted, I need to retrieve the value for *"Country"* attribute inside my SOA Composite using Payload, and further process it. This scenerio is with respect to provision an application instance to a user.
    Now, in a similar scenario, where I was trying to create a user of type *"Contractor"*, I had used Request Service Api to retrieve the Basic information of the userform submitted, and decide on approval. Fortunately, the basic data like, First Name, Last Name, Login etc was successfully being fetched from the Request and I was able to perform further operations.
    Unfortunately, the same code which was working for Creation of a User, is not working when I'm trying to provision an application instance to the user.
    Below is the code which worked fine for me to retrieve basic request data for user creation, and isn't working for provisioning application instance:
    RequestService reqSvc = (RequestService)oimClient.getService(RequestService.class);
    String reqId = ((oracle.xml.parser.v2.XMLElement)getVariableData("inputVariable", "payload", "/ns3:process/ns4:RequestID")).getText();
    System.out.println("request ID: " reqId);+
    Request req = reqSvc.getBasicRequestData(reqId);
    List <RequestEntity> targetEntities = req.getTargetEntities();
    System.out.println("targetEntities : " targetEntities);+
    System.out.println("------------");
    for (RequestEntity rea : targetEntities)
    +{+
    List <RequestEntityAttribute> attributes = rea.getEntityData();
    for( oracle.iam.request.vo.RequestEntityAttribute attribute : attributes)
    +{+  
    System.out.println("Attribute.getName() : " attribute.getName().toString());+
         if(attribute.getName().equals("User Manager"))
         +{+
    beneficiaryManagerKey = attribute.getValue().toString();
         System.out.println("User Manager : " beneficiaryManagerKey);+
    +}+
         e+lse if(attribute.getName().equals("User Login"))+
         +{+
    userid = attribute.getValue().toString();
         System.out.println("User Login  : " userid);+
    +}+
    +}+
    +}+
    Any pointers to this would be of a great help.
    Regards

    List <RequestEntity> targetEntities = req.getTargetEntities();
    System.out.println("targetEntities : " + targetEntities);
    System.out.println("------------");
    The above piece of code retrieves the attributes and their values from the request form while creating a user, but not from the request form, which provisioning a resource to a user.
    Regards,

  • Modify the request by approvar in OIM 11g

    Hi,
    I have a requirement where- an approver needs to update few fields in the request form and then approve the request.
    I am using Oracle 11g R1.
    Please let me know how to achive this.

    You need to configure your Approval Policies and rule within them to apply to your requests appropriately. By default there is a Request Level, and Operation Level approval (there is also template, but not needed). If you have not configured an approval policy that will cover your request, then it will require those approvals.
    -Kevin

  • How to assign approvaal policy for a request template in OIM 11g

    When I request for resource in OIM 11g, It's always going for Default approval of xelsysadm.
    I want this Request level approval must go to "Beneficiary Manager approval". While requesting I am selecting request template (which I created) for Provision resource as Request type.I have already set "Beneficiary Manager approval" as request level approval for this request template.
    I have created one approval policy, How can I assign this approval Policy to request template so that When i submit this request , it should go to my Manager approval.
    Regards,
    J

    Hi Rajiv,
    I do not need approval of Operational level. I want to stop the approval process after request level approval.
    Here you are saying to create a new approval policy and set as AUTO Approval as true. There are some default approval policies which comes with OIM 11g and one of the approval policy is trigeering the Operaional level approval. So I think I do not need to create new approval policy and I can use exsting approval policy and modify as you suggested selecting AUTO APPROVAL and create approval rule as request template=="XYZ".
    I am not sure which default approval policy trigeering the Operational approval now. Can you pls tell me that?
    Can you pls confirm that, there is only way to restrict Opertional Approval by selecting "AUTO APPROVAL" true and put the approval rule as request template=="XYZ"
    Thanks Rajiv for your help all the time.

  • Issue with deleting a group using Request APIs in OIM 11g R1

    Hi,
    I am facing an issue with Request Based provisioning in OIM 11g R1.
    I am currently testing a scenario where i have imported a data set for 'Modify Provisioned Resource' and am able to add a group/entitlement to an already provisioned resource by using the following code :
            RequestBeneficiaryEntityAttribute childEntityAttribute= new RequestBeneficiaryEntityAttribute();
            childEntityAttribute.setName("AD User Group Details");
            childEntityAttribute.setType(TYPE.String);
            List<RequestBeneficiaryEntityAttribute> childEntityAttributeList=new ArrayList<RequestBeneficiaryEntityAttribute>();
            RequestBeneficiaryEntityAttribute attr = new RequestBeneficiaryEntityAttribute("Group Name", <group>,                                                                       RequestBeneficiaryEntityAttribute.TYPE.String);
            childEntityAttributeList.add(attr);
            childEntityAttribute.setChildAttributes(childEntityAttributeList);
            childEntityAttribute.setAction(RequestBeneficiaryEntityAttribute.ACTION.Add);
            beneficiaryEntityAttributeList = new ArrayList<RequestBeneficiaryEntityAttribute>();   
            beneficiaryEntityAttributeList.add(childEntityAttribute);
            beneficiarytEntity.setEntityData(beneficiaryEntityAttributeList);
    This works fine for adding a group but if i try to remove a group by changing the action to Delete in the same code, the request fails. The only change made is in the following line:
    childEntityAttribute.setAction(RequestBeneficiaryEntityAttribute.ACTION.Delete);
    Could you please suggest where can this possibly be wrong.
    Thanks for your time and help

    Hi BB,
    I am trying to follow up your response.
    You are suggestng to use prepopulate adapter for to populate respource object name, that means We have to just use an sql query from obj tabke to get the resource object name. right ?? it could be like below, what should I have entity-type value here ??
    <AttributeReference name="Field1" attr-ref="act_key"
    available-in-bulk="false" type="Long" length="20" widget="ENTITY" required="true"
    entity-type="????"/>
    <PrePopulationAdapter name="prepopulateResurceObject"
    classname="my.sample.package.prepopulateResurceObject" />
    </AttributeReference>
    <AttributeReference name="Field2" attr-ref="Field2" type="String" length="256" widget="lookup-query"
    available-in-bulk="true" required="true">
    <lookupQuery lookup-query="select lkv_encoded as Value,lkv_decoded as Description from lkv lkv,lku lku
    where lkv.lku_key=lku.lku_key and lku_type_string_key='Lookup.xxx.BO.Field2'
    and instr(lkv_encoded,concat('$Form data.Field1', '~'))>0" display-field="Description" save-field="Value" />
    </AttributeReference>
    Then I need think about the 'Lookup.xxx.BO.Field2' format.
    Could you please let me know if my understanding is correct?? What is the entity-type value of the first attribute reference value?
    Thanks for your all help.

  • OIM 11g - Renaming an UDF attribute

    Hi,
    May I know how i can rename a custom defined user attribute in OIM 11g?.Thanks.

    878153 wrote:
    Thanks BB.My requirement is to renamed a UDF which I have created.For example,I created a UDF with labee "Mobile" and want to change it to "Telephone" .May I know how I can achieve this?.If you want to define the label for your attribute in GUI, then use resource bundles to define the label for your label:
    $OIM_ORACLE_HOME//server/customResources/customResources_<your language>.properties
    Add the global.udf. prefix to the name of the attribute.
    Otherwise, you will have to create a new attribute and delete the old one.

  • How to achieve localization in OIM 11g

    Hi,
    I need to display the specific language to the user login into the OIM based on the country or some other user attribute and also need to send all the email communication in that particular language to the user.
    Could you please let me know how to achieve this functionality in OIM 11g.
    Thanks

    Now if we can change the localization by changing user's browser language then please let me know what extra we are acheiving in the link provided by youThat's nice question..
    If you see the blog, it is mentioned there
    Customers can plug a lot of custom code and objects in OIM 11g in order to achieve their business requirements. While some customers don't care about localization, some of them do care, and this post gives tips on how to localize some pieces of OIM.Oracle gives localization for existing things not for the customization which a client is doing at their end.
    HTH

  • Help required related with OIM 11g Email Notification

    Experts,
    I have a requirement where I have to pass the User's Password through autogenerated email.
    But I have a scenario where I dont have to provision any target resource for users..so i dont have access to Notification Tab for such kind of users.
    I thought of writing a custom Event Handler to send email using custom code.
    But IN OIM 11g , I found that Inside, Advanced->Notification Template-> Create User Self Service Notification … is getting triggered with UserID: $userLoginId<br> and its woking fine.
    But once I added Password: $password<br> In the same template, its not providing me the password.
    So I think the Parameters associated with this Event "Self register user" does not have $password.
    Is there any way to check which all parameters can be accessed in these Events?
    Also, what is the best way to send password to users who does not any target resources associated?
    Thanks,
    Regards,
    J

    Hi I am trying to get the Create User Self Service Notification template working but for some reason I get an error in the log saying unexpected error occured while sending notification. and I am not recieving any mails..I have done the following steps
    created an IT resource with the name same as the value of Email Server property
    have made the value of RequestNotification property 1
    is there anything else I need to do..
    Can you also give some details as to how you have created the IT Resource...is the authentication true/false if true does any username and password do..
    Thank you

  • Customizing request datasets in OIM 11g

    Hi Friends,
    I have couple of questions/issues while customizing request datasets in OIM 11g. Can you please help me?
    1) I gave read-only="true" in my request dataset for one of the attribute, but I was still able to edit that attribute value while raising requests.
    2) I gave hidden="true" in my request dataset for one of the attribute, but I was still able to see that attribute while raising requests.
    3) I have around 90 attributes in my request dataset. Is there any way to display category type and under that category display the attrbitues i.e. just like attributes in user profile.
    4) As I have 90 attributes, I am expecting the format will be like first 45 will be shown in left panel(column) and remaining 45 in right panel (column). Instead of this , it is showing first 70 in left panel and the remaining 20 in right panel which is very ugly to see. Is there any way to show frist 45 on left side and remaining 45 on the right side? Please help me.

    Regarding the first two points:
    1) The read only property applies to the approver only, i.e. approver can read and not modify the attribute. It does not apply to the requester. I don't believe you can configure a read-only attribute in the data set.
    2) If you want to hide an attribute, you can restrict it in your request template.

  • Can we apply an event handler only for a custom request in oim 11G?

    Hi,
    We would like to create a custom request for user creation, modification etc.
    I saw that event handlers allow to add business rules by running java code during differents steps of processes.
    I would like to know if we can trigger an event handler on a specific request and not on all user CREATION, UPDATE etc.
    For example, we would like to have differents creation requests and a differents event handler on each request.
    And can we add "logical" input on request form and read them in event handler?
    For example, 3 inputs: day, month and year on the form which fill one user attribute "end contract date".
    Regards,
    Pierre

    thank you Akshat,
    I saw part 19 in the developper's guide. If I understand, I can change the default CreateUserRequestData to define ALL form components that will be used in my differents user creation request templates.
    I can use prepopulation adapter to pre populate field with java code.
    I can use the plug-in point oracle.iam.request.plugins.StatusChangeEvent to run custom java code.
    But they don't mention where you can run java code for a specific creation template named "MyUserCreationTemplate1" and other java code for an other specific creation tempalate" MyUserCreationTemplate2".
    That makes me think we must retrieve the template name in java code and execute the appropriate business logic.
    if request name==MyUserCreationTemplate1
    Edited by: user1214565 on 31 mai 2011 07:42

Maybe you are looking for

  • HP pavilion g7-2293nr Notebook PC black screen

    hello here is my issue, i got this laptop christmas of 2012 so my warranty has run out but have had no major problems, sadly 2 days ago i had turned my laptop off and it was working fine no crashes no blue screen or sudden shut downs but it turned of

  • No video editing Software

    Hello! I have just bought creative cloud (The student and teacher version) but there was a problem... I wanted to download After Effects and Premiere Pro (That´s what i especially need), but it didn´t appear in my 'Adobe Application Manager'. How can

  • Reg: MM flow..

    Hi Experts. Can any body please tell me the flow of MM...(Flow chart of business flow..) I need this information ASAP..

  • Error on a simple function to fill an array plz hlp

    Hi guys. I'm trying to fill in an array with a simple function, here is the code public class rekener {     int getal;     int counter=-1;     int[] getallen= new int[5];     StringBuffer buffer= new StringBuffer();     public void getGetal(int getal

  • Showing correct currency in PLD

    Hi Experts I am using variables to show the total, discount, VAT and grand total on my purchase orders in PLD.   I don't seem to be able to find a way of making the system show the correct currency when a PO is either USD or GBP.     How can I make i