Reuse Task flows without Page fragment

Hello,
I ve seen some examples with task flows being resued inside regions and using page fragments.
However , my requirement is little different and would like some inputs on this.
I have an authentication module to be used in different ADF applications.
I have a login page(not a page fragment) and a router and task flow return activity in the resuable bounded task flow.
We are having a managed bean to check authentication and we have a page flow scope variable which marks success or failure and hands it over to router which inturn routes to task flow return if successful, else routs it back to login page if failure.
When i use this BTF in a consuming task flow(BTF) and add the module as an ADF library, everything is fine except it is not lauching a welcome page upon success and just stays on the same login page.
I have the ADF security on with the redirect page given upon successful authentication as the welcome page.
The welcome page is in the consuming application and not part of the authentication module itself.
In the consuming task flow, i have a control case from the Authentication task flow call activity to the welcome page and the control case rightly given success as outcome automatically bcos of task flow return in the consumed task flow.
Any input to launch the welcome page upon successful authentication is greatly appreciated.

Hi,
you cannot authenticate users in a bounded task flow and expect to redirect you successfully. The redirect only happens if authentication is handled by the ADF Security authentication servlet redirecting the call. So your bounde task flow needs to return an outcome and your consuming application should have a wild card navigation case defined that then redirects to the welcome page
Frank

Similar Messages

  • How to pass parameter through URL to bounded task flow with page fragment

    I want to pass parameter to Bounded Task Flow With Page Fragment trough URL
    as I start this taks flow with router and according to this Param I will rout the user.
    I added input param to taks flow named direction and make the task flow called URL invoke url-invoke-allowed
      <input-parameter-definition id="__41">
          <name id="__42">direction</name>
          <value>#{pageFlowScope.direction}</value>
          <class>java.lang.String</class>
        </input-parameter-definition>but I don't know how to add this to the JSPX that I will add the bounded task flow Inside.
    and How to pass this from URL

    Hi,
    url-invoke-allowed is only required if the task flow itself is directly accessible from a browser (which is not the case at all if the task flow uses page fragments). To pass input parameters to a task flow that is embedded in a region and that has input parameters, you define the input parameters on the taskFlow Id that is created in the PageDef file of the containing page. To learn ADF task flows, have a look at the videos below. They also contain a sample for passing parameters to a region
    http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/taskflow-overview-p1/taskflow-overview-p1.html
    http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/taskflow-overview-p2/taskflow-overview-p2.html
    Frank

  • How to use a managed bean in a bounded task flow without definig it in adfc-config

    Dear all
    I create a bounded task flow without page fragments (the pages are jspx), i created a jspx page with a button that its action has bounded to a managed bean function.
    i defined the managed bean on the corresponding bounded task flow, but it does not work.
    But there is no problem when i define the managed bean in adfc-config.xml.
    can anybody help me with this problem.
    is it possible to use jspx page with backing bean in bounded task flows, without defining the beans on adfc-config?
    Thank you very much

    Dear Timo
    I use jDev 11.1.1.6 and the scope is Request.Although when i use task flow page fragment and create jsff pages, there is no problem.

  • Calling a bounded task flow (that uses fragments) from another application

    Hello,
    I'm currently having difficulties calling a task flow located inside another application.
    I have application Console which is my main application in which I would like to run other applications within. Inside this Console I have it divided into splitter windows and inside them I have regions. My goal is to be able to call a task flow from another application inside one of these regions but so far I'm having no luck.
    My first problem occurred when I created a 'local' task flow to make a call to another application's task flow. When I set the properties to the task flow call, it gave me an error that it could not find the .XML file for that task flow when I ran the Console application. I then proceeded to copy that .XML from the remote application into the Console's WEB-INF directory and I seemed to get a bit farther. The error I get now is saying that I cannot run a task-flow that uses fragments. It's essentially trying to run that task flow as an entirely new page instead of inside the region that it's bound to. It's NOT a dynamic region (although that's the end goal here). So I then changed the other application's task flow to simply display an entire page rather than fragments inside a region and voila, it works..... kind of.
    To recap how I was able to call another application's task flow inside the Console:
    - I had to manually copy the task flow xml file into the Console WEB-INF directory
    - I had to change the task flow so that it didn't use fragments
    - I have called the task flow but I lose my console page entirely, no more regions or splitters so I'm back to square one.
    If anybody has any suggestions, hints, tips or anything, send them this way and I will be forever greateful.
    Thanks,
    Mark

    Thanks for your response Frank.
    Unfortunately the problem seems to be greater than that. I've been able to package task-flows into a jar library and tried importing them that way with no luck.
    I'm simple trying to call an external task-flow to run inside a region which is inside a splitter panel that I call my console.
    Any other ideas ?

  • Cannot create a region from a task flow containing facelets fragments in a

    hi
    Please consider ADF applications migrated from JDeveloper 11g R1 to 11g R2 [1].
    When using JDeveloper 11g R2 to create a task-flow containing facelets fragments and dropping it on an existing/migrated page (created using JDeveloper 11g R1) results in a message :
    "Cannot create a region from a task flow containing facelets fragments in a jspx page.".
    What would be "good guidelines" (do's and don't's) of using facelets aspects in an ADF application migrated from JDeveloper 11g R1 to 11g R2?
    - [1] e.g. specifically JDeveloper 11.1.1.6.0 to JDeveloper 11.1.2.4.0, see also forum thread "migration support from 11.1.1.6.0 to 11.1.2.4.0"
    at migration support from 11.1.1.6.0 to 11.1.2.4.0
    many thanks
    Jan Vervecken

    Thanks for your reply Timo.
    Timo Hahn wrote:
    ... just a wild guess: Oracle is lazy here. They did not expect too many people migrating from a running 11.1.1.6.0 or 11.1.1.7.0 to 11.1.2.4.0. ...Hmm ... maybe.
    ... We had this discussion before: is 11.1.2.4.0 a good migration target? ...Can you refer to that discussion exactly.
    It is not the same as in forum thread "choosing JDeveloper 11g R1 or JDeveloper 11g R2 "
    at choosing JDeveloper 11g R1 or JDeveloper 11g R2
    which does not talk about migration to 11g R2.
    ... My answer was and still is: No. ... I don't see a reason why to do a migration to 11.1.2.x. ...We are considering if a migration to 11g R2 will allow us to make our application "facelets ready", which could potentially allow easier migration to 12c .
    Altough Brian Fry (Oracle) wrote "Re: choosing JDeveloper 11g R1 or JDeveloper 11g R2", the "facelets considerations" in this current forum thread could suggest something different.
    ... I know that we have to migrate to 12c once it'll be available so why the extra step? ...There could be layout requirements that can be perceived to be more easily/flexibly implemented using facelets.
    A team could have resources available now, and maybe not in a couple of months (related to wanting/needing to use facelets, and related to the "perceived/expected complexity" of an 11g R1 to 12c migration compared to an 11g R2 to 12c migration).
    ... (you know how complex this can be) ...Maybe less knowing, and more trying to find out.
    ... in a couple of month when 12c is available. ...How do you know it will be only "a couple of month" before 12c is available. Do you have specific references that confirm this?
    many thanks
    Jan

  • Problem with JSF page in reused task flow

    Jdev 11.1.1.4
    I have a main JSF page with an af:paneltabbed.
    The paneltabbed has two af:showdetailItem
    In every showdetailitem there's a region.
    In both regions I have the same fragment taskflow.
    In this fragment task flow there's one page fragment (as a view activity).
    If I'm executing the secondary page fragment in both showdetailitems at the same time, they interfere one each other. That's my issue.
    This page fragment has a backing bean that depending on the value of a selectonechoice, shows or hides several fields.
    If in showdetailitem A I make a selection that displays all fields and then I go to showdetailitem B and make a selection that hides all fields, when I go back to showdetailitem all fields are hidden as in B !
    Is there any procedure in order to make indepedent both page fragments ? (in fact they are the same but executed in to different regions) I don't want instructions like "si1.setDisabled(true)" of one page fragment affect the other.
    The page is quite complex and that's my main reason to reuse it.
    The page flow is Transaction "Alway begin new transaction" and "Share data controls" disabled in order to make them as independent as possible but I don't think this can affect my issue.

    The bean, that I know has Backing Bean scope which is the most limited scope that I know.
    It is a standar bean created with: Design->Page Properties->Component Binding->checking Auto Bind. The one that is usually created in order to map a pages field and then be able to deal with the fields showing or hiding them.
    By the way, in wich xml file is this registered ? I haven't found it. The only thing I have found is an XML comment at the end of the page's source code like this:
    +<!--oracle-jdev-comment:auto-binding-backing-bean-name:AluCertIniBB-->+
    but I don't thing JSF is going to map the page to that bean only with this.
    Now I'm working in the line to stop and restart both task flow when changing the tab of the panelbox. Restarting the task flow every time I lick in one tab should avoid this problem, wouldn't it ?

  • Is this possible to display standard JSR-286 data in ADF Task Flow WCP Page

    Below is my scenario,
    I have one Webcenter page. Portlet-A (standard JSR-286 based portlet) consumed from WSRP Registration process and Taskflow-B ( with Fragments ) consumed as region from ADF library jar.
    On the submit of an Drop down menu/submit button in Portlet-A , I want display selected data in Taskflow-B.
    Please help me out.

    Hi Yannick,
    Thanks a lot for the information. It worked.
    The portlet data can be accessible using bindings, but parameter name can be different.
    Meanwhile I have got one more scenario, where the Portlet and Task Flow placed in different pages of WCP Application. On change of data in the Portlet the application should navigate to another page where the Task Flow placed and displays selected data.
    Basically I can not use any button for navigation. The navigation should happen once I do some action in Portlet.
    Is this possible? If yes can you please let me know the steps?
    Thanks in advance!
    Somnath
    Edited by: Somnath Basak on Dec 20, 2011 9:41 AM

  • Adding ADF task flow to page as region fails on first request

    Using JDeveloper 11.1.1.1.0, I've created a simple task flow that executes a method call (to set some bind variables and issue a SQL query), then forwards to a jsff page. I've then added a region to another page and dragged this task flow onto my region.
    When I run the page, I see the following in the log:
    <24-Jul-2009 14:22:29 o'clock BST> <Error> <HTTP> <BEA-101020> <[ServletContext@19304275[app:pipeline module:pipeline path:/pipeline spec-version:2.5]] Servlet failed with Exception
    java.lang.NullPointerException
         at oracle.adfinternal.view.faces.renderkit.rich.FormRenderer.encodeAll(FormRenderer.java:234)
         at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1187)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:751)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:415)
         Truncated. see log file for complete stacktraceAnd the Page Loading animation continues indefinitely. If I make a second request to the same page, the same NullPointerException appears in the log but the page loads successfully. It seems that the first request from any new session doesn't complete, but subsequent requests do.
    Can anyone give me any hints about what might cause the oracle.adfinternal.view.faces.renderkit.rich.FormRenderer to throw a NullPointerException at line 234?

    Hi Branislav.
    Since I don't have the source code for oracle.adf.* and oracle.adfinternal.*, it's very difficult to do any meaningful debugging. Debugging the code that I do have access to (apache packages), appears to show that the oracle rendering class fails when it gets to closing my af:form tag. I've removed the af:form and the page is now working correctly.
    At some point I'm going to have to reinstate this form though :-\

  • Bounded-Task-Flow Page Fragment Control Flow Help

    jDeveloper: 11.1.1.0.2
    I am having an issue trying to figure out the correct way to use control flow cases between a bounded-task-flow with page fragments and an unbounded-task-flow page. We have taken the approach in our application to have a few shell / container pages to host bounded-task-flows made up of page fragments to facilitate re-usability and to speed up development. There are 4 or 5 shell pages on the applications unbounded-task-flow. As of now, we have about 20 page fragments that are implemented as bounded-task-flows. These fragments don't do much now, meaning there is only a single fragment in each bounded-task-flow. The issue I am having is trying to invoke a control flow navigation action from one of the fragments to load a different shell page.
    For Example, shellPage1.jspx contains fragment-flow-1 as a region. In my adfc-config.xml I have shellPage1.jspx and shellPage2.jspx, with control flow cases "toShell1" and "toShell2" respectively connecting the two pages. I have a link's action bound to the "toShell2" within the fragment that makes up fragment-flow-1. When the application is run, shellPage1.jspx and its fragment are displayed. But clicking on the link in the fragment ("toShell2") does absolutely nothing. It does not navigate me to the shellPage2.jspx as expected. What am I doing wrong here or do not understand?
    If the fragment is included as a JSP include, and not a bounded task flow include, everything works as expected. This is not desirable as we then need to copy the fragment's pageDef into the shellPage's pageDef to get the DataControls to function.
    If the faces-config.xml is used instead, and a JSF navigation case is used, it will also work as expected. This is not desirable because we really don't want to be mixing adcf-config and faces-config.
    So I am really stumped here.... Thanks in advance!

    Hi there:
    In your case, the adfc-config.xml has the control flow case between shell pages. And the task-flow-N.xml or your-task-flow.xml for each page fragment by default doesn't inherit control flow case from their containing shell page. In your case, in the page fragment task-flow.xml, you should add a "Parent Action" to flow to shell page2 for example. The outcome of "Parent Action" would be "toShell2" if calling from ShellPage1 page fragment.
    Is this 'Correct' or 'Helpful' for you? Please mark it as so if it does.
    Good luck,
    Alex

  • Best Practice - Bounded Task Flows, Regions and Nested Application Modules

    Using JDev 11.1.1.3; understand that it's generally considered good practice to just have 1 root application module servicing model content / services for each page. In our application, we've used a number of bounded task flows and page fragments deployed as af:region's into pages as either a) views targeted in page-flow navigation, b) tab panel content inside a regular jspx, or c) af:popup / af:dialog content. As it stands, we've not engaged nesting of the application modules for this embedded region content, so these regions are no doubt instantiating new AM's if/when invoked. Should the AM's servicing these embedded regions be deployed nested within the root AM's, and then if so, does this change the way that the jsff / fragment content is actually developed (currently as per any other jspx using the DataControl pallete). Or are the best-practice directives talking about a page as being the design-time / declarative composition of content rather than the run-time aggregation of page + fragments ... in which case the fact that our embedded fragments are not using nested AM's is unlikely to concern.
    Thanks,

    Probably a better question for the ADF EMG: http://groups.google.com/group/adf-methodology?hl=en
    CM.

  • How to navigate directly to a view in a task flow

    I have several feature requests that will require me to persist a page and navigate back to it at a later time. These features are things like Recent Items, Favorites, and Breadcrumbs.
    In our app we are using bounded task flows and page fragments.
    I have figured out how to get the view ID and task flow ID of the current page. I am doing this by using a task flow initializer and a region navigation listener. What I can't figure out is how to make use of these when the user wants to navigate to a particular view in a task flow. I can navigate to a task flow by replacing the taskFlowId on a dynamic region. However, I haven't figured out how to navigate to a view (other than the default) in a task flow.
    Am I on the right track here? If so, what should I try next? If not, can you suggest a better method for implementing these features?
    Thanks!!
    Mike

    Thanks for the reply. I tried your suggestion of redirecting to the view activity URL using the code below.
    ControllerContext controllerContext = ControllerContext.getInstance();
    String viewId = "RootFlow1/PageOne";
    String url = controllerContext.getGlobalViewActivityURL(viewId);
    System.out.println(url);
    FacesContext.getCurrentInstance().getExternalContext().redirect(url);
    the sysout prints the URL below
    /TestUIShell-ViewController-context-root/faces/RootFlow1/PageOne?_adf.ctrl-state=qlewpla4_41
    However, I get a 404, saying that it can't find the page. I tried modifying some of the flow settings to get it to work. I set the redirect property on the view to true and the URL Invoke visiblity on the flow to url-invoke-allowed, but I still get a 404. What am I missing?
    To give you more info about our app, we are using an outer page template to define the layout of the app (like the Fusion UIShell) and an inner page template to define the main area where pages will be rendered. Navigation is achieved by putting the main area flow in a dynamic region. When the user clicks a lnk, we swap out the task flow id on the region. Once they are in the region, navigation is normal ADF navigation within just that region.
    I read both of the threads that you referenced, but I don't see anything in there that I can use (maybe I'm missing it). Are there other ways to navigate to a view in a flow that I am missing?
    Thanks!!
    Mike

  • How to make bean for embedded task flow stay in scope when calling TF?

    I have a bounded task flow with page fragments: ManageRecommendationRuleTF.xml that defines a single managed bean with pageFlowScope: ManageRecommendationRuleBean.java
    This task flow has one page ManageRecommendationRule.jsff that embeds two other bounded task flows as regions: ManageRuleTF.xml and ManageRuleConditionsTF.xml
    Each of these task flows defines a single manage bean with pageFlowScope: ManageRuleBean.java and ManageRuleConditionsBean.java
    From the ManageRecommendationRuleTF I call a bounded task flow: SelectTargetProductsTF.xml. When this task flow returns, the ManageRuleBean.java and ManageRuleConditionsBean.java are re-created. Why? I want the state of the beans before the SelectTargetProductTF is called. I do not want to resort to making this a session bean.
    Build JDEVADF_11.1.1.5.0_GENERIC_110409.0025.6013

    Hi,
    the calling task flow is stacked when calling another task flow (using task flow call activity). When the called task flow is returning to the caller then the expected behavior is that the caller task flow is re-established. If this is not what you see, please provide a test case and file a Service Request with support to investigate why this is not working for you. You could e.g. add log messages to the task flow finalizers to see if when navigating off to the called task flow the two region task flows are finalized. If the regions are dynamic regions with the bean in view scope, try and change this to pageFlowScope
    Frank

  • Passing Parameters to Bounded Task Flow from JSPX

    Hi All,
    1. Created a JSPX page using UIShell template.  This page contains 4 UI Components (InputComboBoxListOfValues) in SingleObjectContextArea.  Created a Managed Bean for this page and capture the selected value in ValueChangeListner and added the value to pageFlowScope.
    2. Created Unbounded Task Flow, dragged the JSPX page.
    3. Have a existing Bounded Task Flow with page fragments, it has MethodCall activity which is expecting inputParameter values from JSPX.
    4. To call the Bounded Task Flow from Unbounded Task Flow (has JSPX page) created 2nd JSPX page using UIShell template.
    5. Dragged the existing Bounded Task Flow into 2nd JSPX page, in context menu selected Region.  This Region is created in SingleObjectContextArea of UIShell.
    6. When dragged its asking about inputParameter mapping of Bound Task Flow.
    7. Configured the inputParameter value which are coming from pageFlowScope.
    8. Dragged the controlFlow from 1st JSPX to 2nd JSPX page to complete the Navigation.
    9. When running the Unbounded Task Flow, it showing 1st JSPX with LOV.
    10. Selected the values and clicked on Submit Action.
    11. Its now showing 2nd JSPX which contains Bounded Task Flow.
    12. But its displaying empty records table.  (Note: I am passing parameters to MethodCall inputParameters as pageFlowScope, My DB has displaying records based on inputParameters when tested it from OrcleSQLDeveloper)
    Could any body help me on this issue.
    My Code Snippets of Data Binding of 2nd JSPX page which has Bound Task Flow as a regionModel.:
    <taskFlow id="TaskFlow1"
                  taskFlowId="/WEB-INF/oracle/apps/TaskFlow1.xml#TaskFlow1"
                  activation="deferred"
                  xmlns="http://xmlns.oracle.com/adf/controller/binding">
          <parameters>
            <parameter id="PartnerKeyType" value="#{pageFlowScope.PartnerKeyType}"/>
            <parameter id="PartnerKey1" value="#{pageFlowScope.PartnerKey1}"/>
            <parameter id="InteractionPartnerRole"
                       value="#{pageFlowScope.InteractionPartnerRole}"/>
            <parameter id="BusinessProcessName"
                       value="#{pageFlowScope.BusinessProcessName}"/>
          </parameters>

    Hi
    first of all Can you get the pageFlow scope variable in taskflow?which you are passing from jspx page?
    if you are able to get the Lov value in Taskflow try refresh taskflow on changing the LOV.
    you need to add input parameter type as boolean,change the parameter from false to true when the LOV value changed.
    now use refreshifNeeded property in pagedef bindings file

  • Dynamically modify Task Flow at runtime

    I have a use case where I need to dynamically modify a task flow at runtime. In my use case, for all task flows I need to add a router that can navigate to any view activity on the flow. The router will need to have control flows from the router to each view activity and a case for each.
    What I've Tried
    I've written a test app that uses MDS to modify a single task flow. This works. I did it by using JDev in customization mode, adding the router and stuff to the flow manually, then running the app. This does exactly what I need it to do. The problem is, I need to do this dynamically at runtime. I'll need to have a process that looks at the task flow and generates the MDS metadata that will insert the router (and other stuff) at runtime. I'm not sure how to do this.
    What I'd like to do
    Ideally, I'd like to do this programmatically (not using MDS) by overriding the controller that returns task flow objects. I may be off the mark here, but I imagine that at runtime the task flow xml is represented by a java object. I also imagine that the java object gets returned by some controller based on the name (and maybe type) of the data requested. If I could override this controller to modify the task flow object before it gets returned, that would be ideal.
    I've found some links from others looking to do something similar to what I'm attempting here. These links are over a year old, so I imagine that some progress has been made on this.
    https://bug.oraclecorp.com/pls/bug/webbug_print.show?c_rptno=7355435
    [ER] Add a way to decorate the current PageFlow
    Re: To Simon Lessard - Usecase required for ER request
    Thanks in advance for your help!!
    Cheers,
    Mike

    I have three usecases where I need this ability.
    - breadcrumbs - this should keep a historical trail of the pages the user has visited. clicking on a breadcrumb should take the user back to the page and remove the remainder of the trail.
    - favorites - this is essentially bookmarking within the app. the user should be able to add a page as a favorite the navigate back to it by clicking the link in the favorites drop down.
    - recent items - this is similar to breadcrumbs, but I imagine we will want it to persist across sessions for the user.
    We are using bounded task flows and page fragments. All of these features will need the ability to navigate to any view on a flow (not just the default view). I can navigate to a flow just fine. We have implemented our own version of the XMLMenuModel and are using a dynamic region for navigation. To navigate, we just replace the task flow ID on the dynamic region with the target task flow ID then the region refreshes. This part work just fine. The part that I am working on is how to navigate to a view on the flow. I'm managing state by passing parameters between flows and pages. That part is working ok too. It's just the navigation piece that is giving me grief.
    The little MDS prototype that I did looks promising, but I would need to figure some stuff out. The customization would need to apply to all users and all task flows. I'm not sure how to do that. Also, it would need to be dynamic. The MDS metadata that is responsible for the customization would be different for each task flow and would need to be generated at runtime. I can figure out how to generate the metadata at runtime based on the task flow, but I don't know where the hooks are in the MDS framework where I could put this logic. It would need to execute before the MDS framework tries to merge the base doc (the task flow) with the customization doc that I generate.
    Thanks!!
    Mike

  • Any example for (bounded task flow) popup return value

    I need to know what is the type of popup RETURN VALUE
    any example will be great

    I want to get parameter form popup bounded task flow with NO page fragment (task flow 1) to jsff page from another task flow with page fragment(task flow 2)
    I applied the scenario exist in URL's in first replay and it didn't work
    when I select task flow 1 from inside task flow 2 diagram I found in its inspector page filed called "Dialog Return Value"
    how can I use this field

Maybe you are looking for