Security for Task Flow Scripts

Hi everyone,
I managed to create taskflows with menu maker that run an interface (thx to this forum ;) ).
Now I am facing the situation that I have to apply a certain security on the taskflows.
My question right now is: can I pass location name from FDM Web frontend to the web script behind the taskflow
With normal integration scripts I can simply pass that info to the procedure. If I do the same in the webscript it crashes with an error.
Form my POV I have two possibilities:
1. create a script with clear definitions (such as entity and subfolder on the share) and link it to one taskflow => then assign access to one taskflow.
This requires security access to taskflow entries (is that possible? I did not find that granularity)
2. pass user or location name from FDM Web frontend to the web script behind the taskflow (thereby building in the security from the locations). This would be nice especially because then all users could use the same script and information would be passed to the script from the selected location.
This now brings me into an uncomfortable situation as users could basically access all taskflows and thereby execute all interfaces which is not the way it's supposed to be.
The reason why I am using taskflows is that I need to run the interface in a batch fashion executed at a certain point in time.
Thanks & BR!

the following is a snippet of code i have used in a web custom script linked to a taskflow entry to verify the current location:
     If CStr(API.POVMgr.PPOVLocation) = "Europe" Then
There is no standard facility within FDQM to add user security to the taskflow scripts, but there are ways around this, but the best option to use would depend on the number of users / scripts etc.

Similar Messages

  • Problem with ADF security and task flow calls

    Hi.
    I am using JDeveloper 11.1.2.0.0.
    I encountered a problem when tried to apply ADF security to my application.
    The way to reproduce the problem:
    1. Create new Fusion Web Application;
    2. Import Business Components from Tables from any existing schema and add at least one table to the ApplicationModule.
    3. Create "welcome page" (for instance, welcome.jsf). Add a button with fixed action outcome "test".
    4. Create test page, for instance, test.jsf. Drag and drop any view object from Data Controls onto the page and create a form with navigation controls. Add a button with fixed action outcome "return".
    5. Create bounded task flow, name it "test", drag and drop our test page on it - the page will be the default activity. Add a task flow return activity. Add a control flow case from the default view activity to the return activity, set From Outcome property to "return". So our return button should cause the task flow to exit.
    6. Open adfc-config.xml in diagram mode and place our welcome page on it. Then drag and drop the test task flow to create a task flow call activity. Add a control flow case from welcome page to task flow call activity, set the From Outcome property to "test". So our test button should call the test task flow.
    7. Configure application to run the unbounded task flow starting with Welcome view activity.
    At this point all works as expected: when application runs, the welcome page is displayed with test button. Pressing the test button results in displaying the test page, return button leads back to the welcome page.
    Now let's configure ADF Security.
    Run the ADF Security configuration wizard, choose ADF Authentication and Authorization.
    On the second page select Form-Based Authentication, check the Generate Default Pages flag.
    On the third page choose No Automatic Grants.
    On the next page keep the Redirect Upon Successful Authentication unchecked. Press Finish.
    Open jazn-data.xml to configure roles, users and resource grants:
    1. Create application role test-role.
    2. Grant the test-role privileges to view the test task flow.
    3. Create user and grant him the test-role.
    Now we have the public available welcome page and the test page with restricted access.
    When application runs, the welcome page is displayed as expected. Pressing the test button redirect us to auto-generated login page. After successful authorization the test page is displayed. But nothing happens if we click now the return button for the first time. When we click the return button once more, the application crushes with Error-500 and message "Target Unreachable, identifier 'bindings' resolved to null". The exact error trace depends on UI control bindings, but looks like this:
    javax.el.PropertyNotFoundException: //C:/Users/DUDKIN/AppData/Roaming/JDeveloper/system11.1.2.0.38.60.17/o.j2ee/drs/Test1/ViewControllerWebApp.war/test.jsf @10,120 value="#{bindings.Id.inputValue}": Target Unreachable, identifier 'bindings' resolved to null
         at com.sun.faces.facelets.el.TagValueExpression.isReadOnly(TagValueExpression.java:122)
         at oracle.adfinternal.view.faces.renderkit.rich.EditableValueRenderer._getUncachedReadOnly(EditableValueRenderer.java:476)
         at oracle.adfinternal.view.faces.renderkit.rich.EditableValueRenderer.getReadOnly(EditableValueRenderer.java:390)
         at oracle.adfinternal.view.faces.renderkit.rich.EditableValueRenderer.wasSubmitted(EditableValueRenderer.java:345)
         at oracle.adfinternal.view.faces.renderkit.rich.EditableValueRenderer.decodeInternal(EditableValueRenderer.java:116)
         at oracle.adfinternal.view.faces.renderkit.rich.LabeledInputRenderer.decodeInternal(LabeledInputRenderer.java:56)
         at oracle.adf.view.rich.render.RichRenderer.decode(RichRenderer.java:342)
         at org.apache.myfaces.trinidad.render.CoreRenderer.decode(CoreRenderer.java:274)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.__rendererDecode(UIXComponentBase.java:1324)
    (the rest of lines skipped).
    Any suggestions?
    Edited by: user13307311 on Apr 16, 2013 11:39 PM

    @Lovin_JV_941794
    The welcome page is public available since it does not have appropriate PageDef file.
    Login page comes not from the welcome page, it comes after attempt to access the test page. So after the login succeeded the test page appears, because redirect to welcome page after successful login is not configured. I do not need to return the welcome page at this moment, I need to go to the test page.
    It seems the task flow call stack to be destroyed after redirect to login page.
    Edited by: user13307311 on Apr 17, 2013 12:45 AM

  • Error while runtime customization for task flows in jdev drop6 build 11

    Hi,
    I am using jdev drop 6 build 11. I am trying to build a webcenter application in which I want to drag and drop task flows at runtime. I am able to add the ADF components at runtime. I am also able to expose the task flow at runtime on the UI after creating my own catalog. But if I try to add the task flow by dragging it, it gives an unhandled exception and it shows that no metadata found for metadata object for the task flow. And after this error I am not able to add the ADF components as well. It gives the same error. This is the error I get:
    oracle.adf.controller.ControllerException: ADFC-06002: Unhandled exception.
         at oracle.adfinternal.controller.util.Utils.createAndLogControllerException(Utils.java:193)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.handleException(ControlFlowEngine.java:588)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.invokeTaskFlow(ControlFlowEngine.java:181)
         at oracle.adfinternal.controller.state.ChildViewPortContextImpl.invokeTaskFlow(ChildViewPortContextImpl.java:63)
         at oracle.adfinternal.controller.state.ControllerState.createChildViewPort(ControllerState.java:1236)
         at oracle.adfinternal.controller.ControllerContextImpl.createChildViewPort(ControllerContextImpl.java:69)
         at oracle.adf.controller.internal.binding.DCTaskFlowBinding.createRegionViewPortContext(DCTaskFlowBinding.java:255)
         at oracle.adf.controller.internal.binding.DCTaskFlowBinding.getViewPort(DCTaskFlowBinding.java:198)
         at oracle.adf.controller.internal.binding.TaskFlowRegionModel.doProcessBeginRegion(TaskFlowRegionModel.java:127)
         at oracle.adf.controller.internal.binding.TaskFlowRegionModel.processBeginRegion(TaskFlowRegionModel.java:87)
         at oracle.adf.view.rich.component.fragment.UIXRegion$RegionContextChange.doChangeImpl(UIXRegion.java:1006)
         at oracle.adf.view.rich.context.DoableContextChange.doChange(DoableContextChange.java:91)
         at oracle.adf.view.rich.component.fragment.UIXRegion._beginInterruptibleRegion(UIXRegion.java:707)
         at oracle.adf.view.rich.component.fragment.UIXRegion.processRegion(UIXRegion.java:454)
         at oracle.adfinternal.view.faces.taglib.region.RegionTag.doStartTag(RegionTag.java:120)
         at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:50)
         at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
         at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
         at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)
         at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
         at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
         at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)
         at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
         at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
         at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)
         at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
         at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
         at oracle.jsp.runtime.tree.OracleJspIterationTagNode.executeHandler(OracleJspIterationTagNode.java:45)
         at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
         at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
         at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)
         at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
         at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
         at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)
         at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
         at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
         at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)
         at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
         at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
         at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)
         at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
         at oracle.jsp.runtime.tree.OracleJspNode.execute(OracleJspNode.java:76)
         at oracle.jsp.runtimev2.ShortCutServlet._jspService(ShortCutServlet.java:77)
         at com.orionserver[Oracle Containers for J2EE 11g (11.1.1.0.0) ].http.OrionHttpJspPage.service(OrionHttpJspPage.java:60)
         at oracle.jsp.runtimev2.JspPageTable.compileAndServe(JspPageTable.java:758)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:441)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:706)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:627)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
         at com.evermind[Oracle Containers for J2EE 11g (11.1.1.0.0) ].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
         at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:116)
         at com.evermind[Oracle Containers for J2EE 11g (11.1.1.0.0) ].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
         at oracle.security.jazn.oc4j.JAZNFilter$3.run(JAZNFilter.java:432)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:309)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:450)
         at com.evermind[Oracle Containers for J2EE 11g (11.1.1.0.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:600)
         at com.evermind[Oracle Containers for J2EE 11g (11.1.1.0.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:351)
         at com.evermind[Oracle Containers for J2EE 11g (11.1.1.0.0) ].server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:257)
         at com.evermind[Oracle Containers for J2EE 11g (11.1.1.0.0) ].server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:174)
         at oracle.oc4j.security.OC4JPrivilegedAction.run(OC4JPrivilegedAction.java:41)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.oc4j.security.OC4JSecurity.internalDoPrivileged(OC4JSecurity.java:374)
         at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:389)
         at com.evermind[Oracle Containers for J2EE 11g (11.1.1.0.0) ].server.http.OC4JRequestDispatcher.executeAction(OC4JRequestDispatcher.java:161)
         at com.evermind[Oracle Containers for J2EE 11g (11.1.1.0.0) ].server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:178)
         at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:415)
         at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
         at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
         at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
         at org.apache.myfaces.trinidadinternal.context.FacesContextFactoryImpl$OverrideDispatch.dispatch(FacesContextFactoryImpl.java:267)
         at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:475)
         at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:143)
         at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:189)
         at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:188)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:652)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:243)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:203)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
         at com.evermind[Oracle Containers for J2EE 11g (11.1.1.0.0) ].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:185)
         at com.evermind[Oracle Containers for J2EE 11g (11.1.1.0.0) ].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:85)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:278)
         at oracle.adfinternal.view.faces.activedata.ADSFilter.doFilter(ADSFilter.java:87)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:278)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:238)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:195)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:138)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at com.evermind[Oracle Containers for J2EE 11g (11.1.1.0.0) ].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:17)
         at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:116)
         at com.evermind[Oracle Containers for J2EE 11g (11.1.1.0.0) ].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:17)
         at oracle.security.jazn.oc4j.JAZNFilter$3.run(JAZNFilter.java:432)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:309)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:450)
         at com.evermind[Oracle Containers for J2EE 11g (11.1.1.0.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:600)
         at com.evermind[Oracle Containers for J2EE 11g (11.1.1.0.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:351)
         at com.evermind[Oracle Containers for J2EE 11g (11.1.1.0.0) ].server.http.HttpRequestHandler.doDispatchRequest(HttpRequestHandler.java:977)
         at com.evermind[Oracle Containers for J2EE 11g (11.1.1.0.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:878)
         at com.evermind[Oracle Containers for J2EE 11g (11.1.1.0.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:676)
         at com.evermind[Oracle Containers for J2EE 11g (11.1.1.0.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:644)
         at com.evermind[Oracle Containers for J2EE 11g (11.1.1.0.0) ].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:436)
         at com.evermind[Oracle Containers for J2EE 11g (11.1.1.0.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:185)
         at com.evermind[Oracle Containers for J2EE 11g (11.1.1.0.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:153)
         at oracle.oc4j.network.ServerSocketReadHandler$ClientRunnable.run(ServerSocketReadHandler.java:276)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: oracle.adf.controller.ControllerException: ADFC-02001: ADF Controller cannot find '/WEB-INF/one_task-flow-definition.xml'.
         at oracle.adfinternal.controller.metadata.provider.MdsMetadataResourceProvider.getMetadataObjects(MdsMetadataResourceProvider.java:448)
         at oracle.adfinternal.controller.metadata.provider.MdsMetadataResourceProvider.loadUnmutalbeMetadataResources(MdsMetadataResourceProvider.java:358)
         at oracle.adfinternal.controller.metadata.provider.MdsMetadataResourceProvider.getResources(MdsMetadataResourceProvider.java:170)
         at oracle.adf.controller.internal.metadata.MetadataService.getTaskFlowDefinition(MetadataService.java:214)
         at oracle.adfinternal.controller.activity.TaskFlowCallActivityLogic.findTaskFlowDefinition(TaskFlowCallActivityLogic.java:928)
         at oracle.adfinternal.controller.activity.TaskFlowCallActivityLogic.invokeTaskFlow(TaskFlowCallActivityLogic.java:180)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.invokeTaskFlow(ControlFlowEngine.java:161)
         ... 107 more
    Caused by: oracle.mds.core.MetadataNotFoundException: MDS-00013: no metadata found for metadata object "/WEB-INF/one_task-flow-definition.xml"
         at oracle.mds.core.MetadataObject.getBaseMOFromCache(MetadataObject.java:1567)
         at oracle.mds.core.MetadataObject.getBaseMO(MetadataObject.java:898)
         at oracle.mds.core.MDSSession.getBaseMO(MDSSession.java:2361)
         at oracle.mds.core.MDSSession.getMetadataObject(MDSSession.java:1025)
         at oracle.mds.core.MOResolver.getMetadataObjects(MOResolver.java:185)
         at oracle.adfinternal.controller.metadata.provider.MdsMetadataResourceProvider.getMetadataObjects(MdsMetadataResourceProvider.java:402)
         ... 113 more
    Any information on this?
    Thanks for the help in advance.

    This isn't really the appropriate forum for ADF questions. You should have better luck with the JDev forum:
    JDeveloper and ADF

  • Avoiding request scope bean clashes for task flow calls

    Hi,
    I have two task flows, Tf1 calls Tf2 using a task flow call activity. The structures of the task flows are as follows:
    Tf1
      Managed Bean: TfBean, request scope
        class Tf1Bean
          has property goTf2Button
      View: View1
        Button bound to #{TfBean.goTf2Button}
          Action -> task flow call to Tf2
    Tf2
      Managed Bean: TfBean, request scope
        class Tf2Bean
          has property testButton
      View: View2
        Button bound to #{TfBean.testButton}
    As you can see both have a request scope bean called TfBean but these are different classes in each. The bean classes have different properties for binding the components on the two pages.
    When I click the button in View1 to navigate I get an error telling me that class Tf1Bean does not have the property testButton. Clearly Tf2Bean is not being instantiated as TfBean already exists for the request.
    I'm guessing this is expected behaviour and it seems logical.
    My question however is what would be good standards or practices to avoid this?
    One way would be a naming convention, however what if I am consuming Tf2 from a library? In this case it would ideally work as a black box and I should not be concerned about it's implementation, specifically names chosen for internal managed beans. Even if it was not a problem initially, the developer of the task flow could add or change the name of a request scope bean introducing a conflict at a later stage.
    Thanks,
    Kevin

    Hi Frank,
    Good to meet you at UKOUG Tech13 yesterday. I changed my test case from request scope to backing bean scope. Unfortunately I still get the same error:
    <RichExceptionHandler> <_logUnhandledException> ADF_FACES-60098:Faces lifecycle receives unhandled exceptions in phase RENDER_RESPONSE 6
    javax.faces.FacesException: javax.el.PropertyNotFoundException: The class 'yyy.view.Tf1Bean' does not have the property 'testButton'.
      at com.sun.faces.application.ApplicationImpl.createComponentApplyAnnotations(ApplicationImpl.java:1900)
      at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:446)
      at javax.faces.webapp.UIComponentELTag.createComponent(UIComponentELTag.java:222)
      at javax.faces.webapp.UIComponentClassicTagBase.createChild(UIComponentClassicTagBase.java:506)
      at javax.faces.webapp.UIComponentClassicTagBase.findComponent(UIComponentClassicTagBase.java:744)
      at javax.faces.webapp.UIComponentClassicTagBase.doStartTag(UIComponentClassicTagBase.java:1311)
      at org.apache.myfaces.trinidad.webapp.UIXComponentELTag.doStartTag(UIXComponentELTag.java:67)
      at oracle.adfinternal.view.faces.unified.taglib.nav.UnifiedCommandButtonTag.doStartTag(UnifiedCommandButtonTag.java:51)
    ...etc.
    What I think is happening, please correct me if I'm wrong...
    Running Tf1, page View1 is displayed.
    Clicking the button on View1 initiates a request and an instance of Tf1Bean is instantiated for the managed bean named TfBean.
    During the request navigation occurs to Tf2 and hence page View2.
    View2 needs a property in TfBean called testButton.
    There is already a managed bean instantiated for this request called TfBean, however this is of class Tf1Bean and does not have the property.
    I have a simple workspace showing this if you want me to send it to you. I am using 11.1.2.4 by the way.
    Thanks,
    Kevin

  • ADF Dynamic UI Shell showing Blank Tab for Task Flow

    Hi,
    Jdev 11.1.2.0.0
    I tried implementing standard Dynamic Tab UI Shell in my application. Each Tab in my application is displaying a taskflow.
    If I enable ADF Security, my Tabs are displayed as empty. I did added Task Flow Resource Grant.
    But if I disable ADF security, tabs are displaying correct contents.
    Checked below forums
    https://forums.oracle.com/thread/2393963
    https://forums.oracle.com/thread/1023619
    I also tried adding Sample Patterns (Dynamic Tabs) project as Jar.
    And assigning Authenticated Role to blank.xml. Its not working. Still showing blank.
    Appreciate help on this issue.
    Thanks.
    Abhijit

    Issue got Fixed. After providing Authenticated Role to
    blank.xml and dynamicTabShellDefinition
    Refer
    https://forums.oracle.com/thread/2393963

  • How to change default ports for task flow application?

    I deploy a task form with the following hwtaskflow.xml information:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <hwTaskFlows xmlns="http://xmlns.oracle.com/bpel/workflow/hwTaskFlowProperties">
    <ApplicationName>worklist</ApplicationName>
    <LookupType>LOCAL</LookupType>
    <TaskFlowDeploy>false</TaskFlowDeploy>
    <TaskFlowServer>
    *<hostName/>*
    *<httpPort/>*
    *<httpsPort/>*
    </TaskFlowServer>
    <hwTaskFlow>
    <WorkflowName>ApproverHumanTask</WorkflowName>
    <TaskDefinitionNamespace>http://xmlns.oracle.com/MyApp/MyComposite/MyTask</TaskDefinitionNamespace>
    <TaskFlowId>MyTask_TaskFlow</TaskFlowId>
    <TaskFlowFileName>WEB-INF/MyTask_TaskFlow.xml</TaskFlowFileName>
    </hwTaskFlow>
    </hwTaskFlows>
    When I deploy the form then check the task URI in EM I see
    Host name: server host name
    HTTP port: 80
    HTTPS port: 443
    I know I can override these ports in the hwtaskflow but what if I want HTTPS port left blank? We don't have HTTPS active on our server. Another server in our environment only populates the HTTP port (HTTPS port is left blank) but I'm puzzled why the different behavior.
    Can anyone tell me either how to specify a "blank" HTTPS port in the hwtaskflow or, preferably, how to change the server configuration so that HTTPS port is not filled in when I deploy the task form? We are wanting a completely automated deployment and presently we have to manually remove the HTTPS port via EM after deploying. Argh!

    Jon,
    May be you already figured out the solution nevertheless i will answer your questions.
    1. Turning off the https port - give value as 0 for httpsPort in your hwtaskflow.xml.
    Second reason why your custom hwtaskflow is not getting picked up is you have set the TaskFlowDeploy as false.
    If you set this as true , and specify your cluster address you should be all set.
    for eg : - your cluster host address is somename.cluster.com with only http configured at port 80 lets assume.
    Then your hwtaskflow should look like this
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <hwTaskFlows xmlns="http://xmlns.oracle.com/bpel/workflow/hwTaskFlowProperties">
    <ApplicationName>worklist</ApplicationName>
    <LookupType>LOCAL</LookupType>
    <TaskFlowDeploy>true</TaskFlowDeploy>
    <TaskFlowServer>
    <hostName>somename.cluster.com</hostName>
    <httpPort>80</httpPort>
    <httpsPort>0</httpsPort>
    </TaskFlowServer>
    <hwTaskFlow>
    <WorkflowName>LeaveRequestTask</WorkflowName>
    <TaskDefinitionNamespace>http://xmlns.oracle.com/BuildApplication/BuildProject/LeaveRequestTask</TaskDefinitionNamespace>
    <TaskFlowId>LeaveRequestTask_TaskFlow</TaskFlowId>
    <TaskFlowFileName>WEB-INF/LeaveRequestTask_TaskFlow.xml</TaskFlowFileName>
    </hwTaskFlow>
    </hwTaskFlows>
    This will automatically pick up the values on deployment , other play you can configure this is in your em console as well.

  • CreateInsert Not Working on Child Task Flow

    JDev version :: 11.1.2.3
    I have a parent Task Flow 'A1' which uses Data Control 'D1'
    Another Task Flow 'A2' which uses Data Control 'D2'
    I navigate from Task Flow A1 to A2 and does createInsert for a VO named 'X' and then Loads
    the page. The Page does not opens in a CreateInsert Mode.
    However If i run the Task flow A2 directly , it does open in CreateInsert Mode.
    Can anyone tell me what can be the issue ?
    Regards,
    Nikhil Misra

    Hi,
    from my understanding of your post which you have been made. i did that same it's working.
    with your requirement, i did that same.
    things which i used.
    1. one jspx page named simple.jspx.
    2. 3 Bounded TF named it as (common-taskflow,task-flow,task-flow1).
    3. 2 jsff(view,view1).
    4. one backing bean.
    5. two datacontrol
    here i posted the code.
    sample.jspx this will consume your common-taskflow as static region
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
              xmlns:f="http://java.sun.com/jsf/core"
              xmlns:h="http://java.sun.com/jsf/html"
              xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
      <jsp:directive.page contentType="text/html;charset=UTF-8"/>
      <f:view>
        <af:document id="d1">
          <af:form id="f1">
            <af:region value="#{bindings.commontaskflowdefinition1.regionModel}"
                       id="r1"/>
          </af:form>
        </af:document>
      </f:view>
    </jsp:root>
    commontask-flow.xml code
    <?xml version="1.0" encoding="windows-1252" ?>
    <adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
      <task-flow-definition id="commontask-flow-definition">
        <default-activity id="__1">task-flow-definition</default-activity>
        <task-flow-call id="task-flow-definition">
          <task-flow-reference>
            <document>/WEB-INF/task-flow-definition.xml</document>
            <id>task-flow-definition</id>
          </task-flow-reference>
        </task-flow-call>
        <task-flow-call id="task-flow-definition1">
          <task-flow-reference>
            <document>/WEB-INF/task-flow-definition1.xml</document>
            <id>task-flow-definition1</id>
          </task-flow-reference>
        </task-flow-call>
        <method-call id="CreateInsert">
          <method>#{bindings.CreateInsert.execute}</method>
          <outcome id="__2">
            <fixed-outcome>CreateInsert</fixed-outcome>
          </outcome>
        </method-call>
        <control-flow-rule id="__3">
          <from-activity-id id="__4">task-flow-definition</from-activity-id>
          <control-flow-case id="__6">
            <from-outcome id="__12">goto</from-outcome>
            <to-activity-id id="__5">CreateInsert</to-activity-id>
          </control-flow-case>
        </control-flow-rule>
        <control-flow-rule id="__7">
          <from-activity-id id="__8">CreateInsert</from-activity-id>
          <control-flow-case id="__10">
            <from-outcome id="__11">CreateInsert</from-outcome>
            <to-activity-id id="__9">task-flow-definition1</to-activity-id>
          </control-flow-case>
        </control-flow-rule>
        <use-page-fragments/>
      </task-flow-definition>
    </adfc-config>
    picture will be like this
    task-flow-definition(default activity) >> goto (control flow case) >> create insert method >> CreateInsert(control flow case) >> task-flow-definition1 .
    create insert for task-flow-defintion1(folds of view1.jsff. this view1.jsff folds of emp table). while invoking TF create insert works.
    task-flow-definition.xml
    <?xml version="1.0" encoding="windows-1252" ?>
    <adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
      <task-flow-definition id="task-flow-definition">
        <default-activity id="__1">view</default-activity>
        <managed-bean id="__4">
          <managed-bean-name id="__2">MBean</managed-bean-name>
          <managed-bean-class id="__5">MBean</managed-bean-class>
          <managed-bean-scope id="__3">backingBean</managed-bean-scope>
        </managed-bean>
        <view id="view">
          <page>/view.jsff</page>
          <redirect/>
        </view>
        <task-flow-return id="goto">
          <outcome id="__10">
            <name>goto</name>
          </outcome>
        </task-flow-return>
        <control-flow-rule id="__11">
          <from-activity-id id="__12">view</from-activity-id>
          <control-flow-case id="__13">
            <to-activity-id id="__14">goto</to-activity-id>
          </control-flow-case>
        </control-flow-rule>
        <use-page-fragments/>
      </task-flow-definition>
    </adfc-config>
    picture will be like this
    view(default activity) >> *  (control flow case) >> task-flow-return(named it as goto).
    view.jsff code
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
              xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
              xmlns:f="http://java.sun.com/jsf/core">
      <af:panelFormLayout id="pfl1">
        <af:inputText value="#{bindings.EmployeeId.inputValue}"
                      label="#{bindings.EmployeeId.hints.label}"
                      required="#{bindings.EmployeeId.hints.mandatory}"
                      columns="#{bindings.EmployeeId.hints.displayWidth}"
                      maximumLength="#{bindings.EmployeeId.hints.precision}"
                      shortDesc="#{bindings.EmployeeId.hints.tooltip}" id="it7">
          <f:validator binding="#{bindings.EmployeeId.validator}"/>
          <af:convertNumber groupingUsed="false"
                            pattern="#{bindings.EmployeeId.format}"/>
        </af:inputText>
        <af:inputText value="#{bindings.FirstName.inputValue}"
                      label="#{bindings.FirstName.hints.label}"
                      required="#{bindings.FirstName.hints.mandatory}"
                      columns="#{bindings.FirstName.hints.displayWidth}"
                      maximumLength="#{bindings.FirstName.hints.precision}"
                      shortDesc="#{bindings.FirstName.hints.tooltip}" id="it9">
          <f:validator binding="#{bindings.FirstName.validator}"/>
        </af:inputText>
        <af:inputText value="#{bindings.LastName.inputValue}"
                      label="#{bindings.LastName.hints.label}"
                      required="#{bindings.LastName.hints.mandatory}"
                      columns="#{bindings.LastName.hints.displayWidth}"
                      maximumLength="#{bindings.LastName.hints.precision}"
                      shortDesc="#{bindings.LastName.hints.tooltip}" id="it10">
          <f:validator binding="#{bindings.LastName.validator}"/>
        </af:inputText>
        <af:inputText value="#{bindings.Email.inputValue}"
                      label="#{bindings.Email.hints.label}"
                      required="#{bindings.Email.hints.mandatory}"
                      columns="#{bindings.Email.hints.displayWidth}"
                      maximumLength="#{bindings.Email.hints.precision}"
                      shortDesc="#{bindings.Email.hints.tooltip}" id="it2">
          <f:validator binding="#{bindings.Email.validator}"/>
        </af:inputText>
        <af:inputText value="#{bindings.PhoneNumber.inputValue}"
                      label="#{bindings.PhoneNumber.hints.label}"
                      required="#{bindings.PhoneNumber.hints.mandatory}"
                      columns="#{bindings.PhoneNumber.hints.displayWidth}"
                      maximumLength="#{bindings.PhoneNumber.hints.precision}"
                      shortDesc="#{bindings.PhoneNumber.hints.tooltip}" id="it5">
          <f:validator binding="#{bindings.PhoneNumber.validator}"/>
        </af:inputText>
        <af:inputDate value="#{bindings.HireDate.inputValue}"
                      label="#{bindings.HireDate.hints.label}"
                      required="#{bindings.HireDate.hints.mandatory}"
                      shortDesc="#{bindings.HireDate.hints.tooltip}" id="id1">
          <f:validator binding="#{bindings.HireDate.validator}"/>
          <af:convertDateTime pattern="#{bindings.HireDate.format}"/>
        </af:inputDate>
        <af:inputText value="#{bindings.JobId.inputValue}"
                      label="#{bindings.JobId.hints.label}"
                      required="#{bindings.JobId.hints.mandatory}"
                      columns="#{bindings.JobId.hints.displayWidth}"
                      maximumLength="#{bindings.JobId.hints.precision}"
                      shortDesc="#{bindings.JobId.hints.tooltip}" id="it4">
          <f:validator binding="#{bindings.JobId.validator}"/>
        </af:inputText>
        <af:inputText value="#{bindings.Salary.inputValue}"
                      label="#{bindings.Salary.hints.label}"
                      required="#{bindings.Salary.hints.mandatory}"
                      columns="#{bindings.Salary.hints.displayWidth}"
                      maximumLength="#{bindings.Salary.hints.precision}"
                      shortDesc="#{bindings.Salary.hints.tooltip}" id="it1">
          <f:validator binding="#{bindings.Salary.validator}"/>
          <af:convertNumber groupingUsed="false"
                            pattern="#{bindings.Salary.format}"/>
        </af:inputText>
        <af:inputText value="#{bindings.CommissionPct.inputValue}"
                      label="#{bindings.CommissionPct.hints.label}"
                      required="#{bindings.CommissionPct.hints.mandatory}"
                      columns="#{bindings.CommissionPct.hints.displayWidth}"
                      maximumLength="#{bindings.CommissionPct.hints.precision}"
                      shortDesc="#{bindings.CommissionPct.hints.tooltip}" id="it6">
          <f:validator binding="#{bindings.CommissionPct.validator}"/>
          <af:convertNumber groupingUsed="false"
                            pattern="#{bindings.CommissionPct.format}"/>
        </af:inputText>
        <af:inputText value="#{bindings.ManagerId.inputValue}"
                      label="#{bindings.ManagerId.hints.label}"
                      required="#{bindings.ManagerId.hints.mandatory}"
                      columns="#{bindings.ManagerId.hints.displayWidth}"
                      maximumLength="#{bindings.ManagerId.hints.precision}"
                      shortDesc="#{bindings.ManagerId.hints.tooltip}" id="it3">
          <f:validator binding="#{bindings.ManagerId.validator}"/>
          <af:convertNumber groupingUsed="false"
                            pattern="#{bindings.ManagerId.format}"/>
        </af:inputText>
        <af:inputText value="#{bindings.DepartmentId.inputValue}"
                      label="#{bindings.DepartmentId.hints.label}"
                      required="#{bindings.DepartmentId.hints.mandatory}"
                      columns="#{bindings.DepartmentId.hints.displayWidth}"
                      maximumLength="#{bindings.DepartmentId.hints.precision}"
                      shortDesc="#{bindings.DepartmentId.hints.tooltip}" id="it8">
          <f:validator binding="#{bindings.DepartmentId.validator}"/>
          <af:convertNumber groupingUsed="false"
                            pattern="#{bindings.DepartmentId.format}"/>
        </af:inputText>
        <f:facet name="footer">
          <af:panelGroupLayout layout="vertical" id="pgl2">
            <af:panelGroupLayout layout="horizontal" id="pgl1">
              <af:commandButton actionListener="#{bindings.First.execute}"
                                text="First" disabled="#{!bindings.First.enabled}"
                                partialSubmit="true" id="cb4"/>
              <af:commandButton actionListener="#{bindings.Previous.execute}"
                                text="Previous"
                                disabled="#{!bindings.Previous.enabled}"
                                partialSubmit="true" id="cb3"/>
              <af:commandButton actionListener="#{bindings.Next.execute}"
                                text="Next" disabled="#{!bindings.Next.enabled}"
                                partialSubmit="true" id="cb2"/>
              <af:commandButton actionListener="#{bindings.Last.execute}"
                                text="Last" disabled="#{!bindings.Last.enabled}"
                                partialSubmit="true" id="cb5"/>
            </af:panelGroupLayout>
            <af:commandButton text="Submit" id="cb1"/>
          </af:panelGroupLayout>
        </f:facet>
      </af:panelFormLayout>
      <af:commandButton text="go to another TF" id="cb6"
                        action="#{backingBeanScope.MBean.do_success}"/> // check here
      <!--oracle-jdev-comment:preferred-managed-bean-name:MBean-->
    </jsp:root>
    this view.jsff folds of employee table nothing with that button is the matter it will peform the navigation
    Bean code
    public class MBean {
        public MBean() {
        public String do_success() {
            // Add event code here...
            return "goto";
    task-flow-definition1.xml
    <?xml version="1.0" encoding="windows-1252" ?>
    <adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
      <task-flow-definition id="task-flow-definition1">
        <default-activity id="__1">view1</default-activity>
        <view id="view1">
          <page>/view1.jsff</page>
        </view>
        <use-page-fragments/>
      </task-flow-definition>
    </adfc-config>
    view1.jsff code
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
              xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
              xmlns:f="http://java.sun.com/jsf/core">
      <af:panelFormLayout id="pfl1">
        <af:inputText value="#{bindings.Empid.inputValue}"
                      label="#{bindings.Empid.hints.label}"
                      required="#{bindings.Empid.hints.mandatory}"
                      columns="#{bindings.Empid.hints.displayWidth}"
                      maximumLength="#{bindings.Empid.hints.precision}"
                      shortDesc="#{bindings.Empid.hints.tooltip}" id="it2">
          <f:validator binding="#{bindings.Empid.validator}"/>
          <af:convertNumber groupingUsed="false"
                            pattern="#{bindings.Empid.format}"/>
        </af:inputText>
        <af:inputText value="#{bindings.RowID.inputValue}"
                      label="#{bindings.RowID.hints.label}"
                      required="#{bindings.RowID.hints.mandatory}"
                      columns="#{bindings.RowID.hints.displayWidth}"
                      maximumLength="#{bindings.RowID.hints.precision}"
                      shortDesc="#{bindings.RowID.hints.tooltip}" id="it1">
          <f:validator binding="#{bindings.RowID.validator}"/>
        </af:inputText>
        <f:facet name="footer">
          <af:panelGroupLayout layout="vertical" id="pgl2">
            <af:panelGroupLayout layout="horizontal" id="pgl1">
              <af:commandButton actionListener="#{bindings.First.execute}"
                                text="First" disabled="#{!bindings.First.enabled}"
                                partialSubmit="true" id="cb1"/>
              <af:commandButton actionListener="#{bindings.Previous.execute}"
                                text="Previous"
                                disabled="#{!bindings.Previous.enabled}"
                                partialSubmit="true" id="cb5"/>
              <af:commandButton actionListener="#{bindings.Next.execute}"
                                text="Next" disabled="#{!bindings.Next.enabled}"
                                partialSubmit="true" id="cb3"/>
              <af:commandButton actionListener="#{bindings.Last.execute}"
                                text="Last" disabled="#{!bindings.Last.enabled}"
                                partialSubmit="true" id="cb2"/>
            </af:panelGroupLayout>
            <af:commandButton text="Submit" id="cb4"/>
          </af:panelGroupLayout>
        </f:facet>
      </af:panelFormLayout>
    </jsp:root>
    this  view1.jsff folds just emp table as af:form. nothing in this.
    logic flows into common taskflow.
    if i misunderstood your requirement please correct me.
    Thanks

  • Remote task flows in ADF

    Is invoking a remote-task-flow in ADF world similar to WSRP concept in weblogic/webcenter world?
    We have a scenario, where we are building an app based on ADF, which needs to share some of its contents (task flows etc) in another ADF based application. Can we leverage remote-task-flow invocation for that, or we need to strictly have a WSRP based approach only. Consider the fact the invoking client app is based on fusion ADF standards.
    Thanks

    Hi,
    Thanks for the reply. Yep I agree using web-center we can achieve this, however in our case the supposed consumer application is an ADF based and non weblogic/webcenter one.
    In the white paper link, you mentioned also it says that -
    The resulting WSRP portlets can be consumed by custom Oracle WebCenter applications, by Oracle Portal 11g, and by Oracle WebLogic Portal. The Ensemble pagelets can be consumed by Oracle WebCenter Ensemble and Oracle WebCenter Interaction.
    Hence with that in mind, I was looking at something like a producer consumer for task flows in pure ADF world.
    I am not exactly sure, by what you mean by - 'I would suggest,you better use remote adf taskflow only for reusing it'. Do you mean as a shared library (jar)?
    There is a whitepaper which talks about more than re-usability concept, but more on the lines of - producer consumer (I guess).
    http://www.oracle.com/technetwork/developer-tools/adf/learnmore/43-remote-task-flow-169185.pdf
    Is this something which can be extended to have a page fragment (not the whole page) of the consumer application call a particular remote task flow?
    Thanks
    Sachin

  • JDev 11g:  Task Flows,Rich Client- some questions to the Oracle team

    Hello,
    We're currently involved (early stages) in a large project with a Jan-Mar 2008 pilot delivery timeframe - one heavily including end-user customizable workflow elements, to which the aforementioned JDev/ADF 11 features would be a great fit.
    Our plans so far were to go ADF with BC and include Shale or Spring WebFlow plus custom development to provide for the very same things that the feature-complete Task Flows will offer.
    Questions:
    1. Delivery timeframe - any unofficial pointers on the schedule for the next JDev/ADF releases?
    2. Platform compatibility - Will the framework (ADF) run on J2EE 1.3 (OAS 10.1.2.x) or does it require 1.4+?
    3. Design-time-at-runtime for Task Flows - Do we have it in the released bits? (Couldn't find it). Any pointers on how is it supposed to operate?
    4. Am I right to think that what we're seeing with Task Flows is (among other things) a piece of the replacement functionality for the decommissioned Oracle Workflow subsystem (which bit us, by the way, as it was part of our original architecture).
    5. Will Rich Client support older platforms than the currently supported IE7 and Firefox 2?
    Thanks for any and all pointers,
    Thanassis Stathopoulos
    Athens, Greece

    Thanks Shay,
    http://www.oracle.com/technology/products/jdev/collateral/papers/11/newfeatures/index.html
    Regarding my question 3 "Design time at runtime" - quoting from "JDeveloper 11g new features" at the above URL, under "ADF Task Flow". The third entry from the paragraph's end reads:
    'Support for customization of task flows at runtime using "design time at runtime"'.
    I was wondering what this is exactly - web-deployable editor to edit the flow definition after deployment?
    Re your point 4, product replacement - with the feature set described in the paragraph above, Task Flows is much more than a Web UI controller. With "save for later", transactions, flow abstraction/nesting, BPEL outcalls, conditional logic, method calls etc etc it probably covers 50% of a typical workflow package and 75% of an embeddable workflow library (audit trail/timeouts/persistence nonwithstanding). This made me wonder whether it is part of a bigger, yet-to-be-announced OAS feature. Especially if one also considers the "design-time-at-runtime" sentence listed above.
    Now, definition-wise, I guess it' s whether this feature set is considered half-full or half-empty :-)
    Thanks again,
    Thanassis

  • ADF Security, Task Flow as a region in a page resource grant

    JDeveloper 12c (12.1.2); Application uses ADF form based security, external LDAP provider (Active Directory)
    After sign-in page (upon successful authentication/authorization) user is forwarded to a page that executes VO method prior to render. I am new to task flow concept and am told to achieve this like:
    - create bounded task flow, with method call activity (execute exposed AM method that calls VO method, runs custom SQL) and view activity as page fragment.
    - then drop the above task flow into a page as a region
    In ADF security setup, I gave resource grant task-flow to certain application role. Started the application, login and got 403 error. Then went back and gave resource grant 'view' to the actual page that contains task flow. It worked fine.
    So the question is, when protecting application (implemented with task flows) with ADF security, I thought it is enough to grant those task flows to whatever application roles (groups) and inherently any page that uses that task flow(s) (as a region) will be protected?
    From this test, it seems that I have to assign each page (that has task flow as a region) to application roles individually?

    Hi,
    any page that is contained in a bounded task flow is protected  by the task flow permission grant, this is correct. If this is not what you see, please file a bug with support or send me a simple reproducible test case please. My mail address (replace all < name > with the described symbol.
    frank <dot> nimphius <at> oracle <dot> com
    The test case will need to be in a ZIP file nemaed to "unzip" and should be able for me to run stand alone (please no database scripts to run prior to try the test case)
    Frank

  • How to return the name (or ID) of the Task FLow in Script

    Sitaution; two task flows created which can be accessed via Tools > TaskFlows within FDQM
    Task Flow "1.1 Multi Load - Import" --> Should run Batch Process Up to Import (enmBatchProcessLevel: 2)
    Task Flow "2.1 Multi Load - Import Up To Validate" --> Should run Batch Process Up to Validate (enmBatchProcessLevel: 4)
    I have developed one generic script which I would like to use for each task flow.
    Only the enmBatchProcessLevel differs between the task flows and therefore I would like to parse this enmBatchProcessLevel as a parameter my generic script.
    To be able to do this, the script needs to know on which task flow a user has clicked. So, I am looking for a function or statement which returns the name (or ID) of the task flow. Based on this name (or ID) a conditional statement can be performed in which a variable is dynamically filled. This variable can then be parsed as a parameter to my generic script.
    For instance:
    Sub GenericRoutine
         Dim strTaskFlow
         Dim intBatchProcessLevel
         '--Get the Task Flow Name
         strTaskFlow = ......<How to return the TaskFlow name or ID?>
         '--Validate the task flow and fill variable intBatchProcessLevel dynamically
         Select Case strTaskFlow
              Case "1.1 Multi Load - Import"
                   intBatchProcessLevel = 2
              Case "2.1 Multi Load - Import Up To Validate"
                   intBatchProcessLevel = 4
         End Select
         '--Execute generic script
         '--Call Batch script and parse intBatchProcessLevel as a parameter:
         Call sBatchProcess(intBatchProcessLevel)
         '--Execute generic script
    End Sub
    Sub sBatchProcess(Byval intBatchProcessLevel)
         Dim lngProcessLevel
         Dim strDelimiter
         Dim blnAutoMapCorrect
         '--Use intBatchProcessLevel to fill lngProcessLevel
         lngProcessLevel = intBatchProcessLevel
         strDelimiter = "_"
         blnAutoMapCorrect = 0
         Set BATCHENG.PcolFiles = BATCHENG.fFileCollectionCreate(CStr(strDelimiter))
         BATCHENG.mFileCollectionProcess BATCHENG.PcolFiles, CLng(lngProcessLevel), , CBool(blnAutoMapCorrect)
    End Sub
    Edited by: user13642656 on Jul 21, 2011 4:55 AM

    Hi, thanks for your reply.
    The Generic script contains 600+ records, which I would like to maintain once, when having multiple Task Flows for Import, UpToValidate, ValidateOnly, UpToExport, ExportOnly etc.
    Is there a central storage in FDQM workbench for script, like a "Module" in Excel VisualBasic environment? Thanks!

  • Secure page unbounded task flow

    i need to secure access to jspx pages in a unbounded task flow. what is the best way to achieve this using jdev 11.1.15 ?
    as of now any user is able to access any jspx pages by typing a URL after logging in.
    Edited by: 963798 on Dec 17, 2012 4:06 AM

    You can't stop users from accessing pages defined in the unbounded taskflow as, by design, all pages in an unbounded taskflow are accessible from anywhere in you application. So all you can do is add the pages you want to secure to bounded taskflows, add resource grants to the taskflow (remove them for the actual pages/jspx), configure the taskflows so they cannot be invoked from a url and add the taskflows to the unbounded taskflow (just drag and drop them to the unbounded taskflow or change you view activity to a taskflow call). Hope this helps.

  • Task-flow ADF security on Standalone WLS

    Hi,
    Jdev 11g
    I have into the main adfc-config.xml 3 links one to a jspx and 2 links to 2 different bounded task flows.
    I applied ADF security depends on Roles to the three links, one on the jspx itself (on the pagedef) and 2 to the Task-flow.
    All is working perfectly on the embedded WLS.
    When deploying the application to a standalone WLS and applying the security migration as explained (system-jazn-data.xml verified and security is migrated) I have only the jspx working and for the 2 task-flows I have an Authorization check failed exception.
    I always think that it is a migration problem but seems not because the jspx is working depends on the right Role.
    Any idea what can cause this and why the ADF security is working only on jspx page and not on the task-flow after deploying to a standalone WLS?
    Thanks
    Jamil
    <May 27, 2009 12:22:20 PM AST> <Error> <HTTP> <BEA-101017> <[weblogic.servlet.in
    ternal.WebAppServletContext@197171f - appName: 'TasdeeqEAR', name: 'TasdeeqApp',
    context-path: '/TasdeeqApp', spec-version: '2.5', request: weblogic.servlet.int
    ernal.ServletRequestImpl@31dbd4[
    GET /TasdeeqApp/faces/home?_adf.ctrl-state=1028508221_19 HTTP/1.1
    Accept: */*
    Accept-Language: en-US,ar-SA;q=0.5
    User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC
    1; .NET CLR 2.0.50727; Media Center PC 5.0; InfoPath.2; .NET CLR 3.5.21022; .NET
    CLR 3.5.30729; .NET CLR 3.0.30618; Tablet PC 2.0; FDM)
    Accept-Encoding: gzip, deflate
    Connection: Keep-Alive
    Cookie: JSESSIONID=9Z7tKdGCD0BSvt2GnDfLrkhZJ62rhMPpGLmXtGctDT2YGTQcl2VJ!-1394634
    041
    ]] Root cause of ServletException.
    oracle.adf.controller.security.AuthorizationException: ADFC-0619: Authorization
    check failed: '/WEB-INF/registrar-task-flow.xml#registrar-task-flow' 'VIEW'.
    at oracle.adf.controller.internal.security.AuthorizationEnforcer.handleF
    ailure(AuthorizationEnforcer.java:145)
    at oracle.adf.controller.internal.security.AuthorizationEnforcer.checkPe
    rmission(AuthorizationEnforcer.java:80)
    at oracle.adf.controller.internal.security.AuthorizationEnforcer.checkRe
    ad(AuthorizationEnforcer.java:314)
    at oracle.adf.controller.internal.metadata.MetadataService.getTaskFlowDe
    finition(MetadataService.java:204)
    at oracle.adfinternal.controller.activity.TaskFlowCallActivityLogic.find
    TaskFlowDefinition(TaskFlowCallActivityLogic.java:931)
    Truncated. see log file for complete stacktrace
    >

    Hi Frank,
    I copied the <jazn-policy> section from the jazn-data.xml to system-jazn-data.xml and it is working
    So as expected something wrong with the migration...I will check what
    Thanks
    Jamil

  • How to create a page-definition for bounded task-flow?

    I should be able to create a page definition which declare all bindings required for a bounded task flow.
    How do I do it in JDeveloper 11.1.1.2?
    How do I navigate to the page definition when I am in the bounded task flow "Diagram tab"?

    I found out the following:
    1. To create a page-definition file for a bounded task flow
    Right click on the "Default" activity (not a view activity) of the bounded task flow, select "Create Page Definition" from the context menu.
    2. To go the page-definition file for a bounded task flow
    Right click on the "Default" activity (not a view activity) of the bounded task flow, select "Go to Page Definition" from the context menu.
    My new question is:
    In JDeveloper 11.1.1.2, how do I create page-definition for a bounded-task-flow if all activities are view activities (page fragments) ?
    How does JDeveloper I want to create page-definition for the task-flow instead of create page-definition of the page fragment or the page?

  • How to get feedback messages for schema creation script created by Tasks- Generate Script

    I am using sql server 2008 R2. I created a script file by using Tasks->Generate Scripts. I 
    selected option so only create statements are generated for all objects – tables, indexes, views, functions etc in the database.
    Then when I used this generated  script to create objects in another database in SSMS, it created the objects but did
     not give me any feed back, i.e., table created, view created etc. I thought my script did not run , but when I refreshed left panel 
    of SSMS and I can see all created objects.. So question is what  is needed to get 
    feedback when  sql statements are run..

    You need to add the PRINT statements yourself for that. The wizard will not do it for you.
    Please Mark This As Answer if it solved your issue
    Please Vote This As Helpful if it helps to solve your issue
    Visakh
    My Wiki User Page
    My MSDN Page
    My Personal Blog
    My Facebook Page

Maybe you are looking for

  • ADF BC : "Attributes selected in query with no column type found! ..."

    hi Using JDeveloper 10.1.3.3.0, I have this "Selected in Query" attribute, "Never" updatable, in my Entity Object. The Entity Object is based on the SCOTT.EMP table and the attribute, called "BonusInfo", is defined using the expression " '[bonus info

  • Exclamation:  "This is impossible!"

    We have a large site with lots of traffic. I have reieved a number of errors in our log files EX: Application:The request has exceeded the allowable time limit Tag: CFSTOREDPROC The only problem is, according to this document. http://www.adobe.com/cf

  • IPhoto crops again when printing

    I crop a photo, then hit Done. But then, when I hit Print I photo (appears to) then crop it again. Why? Thanks

  • Current User ID

    My current User ID & Password gain me access to the app store with no problem; however, when I attempt to update 3rd party applications via the app store, I'm presented a sign-in form with my old User ID filled in and my current password doesn't work

  • How do I get certificate authentication working across multiple domains?

    Hi, I've got LC ES2 set up for certificate authentication and when there's only one domain (with a single certificate mapping set up), it works fine. However would like to have multiple domains (application specific), with a small set of administrato