ADF 11g: Ode to the Task Flow


Last night we organized the “Ode to the Task Flow” session at AMIS. After a short presentation introducing the Bounded Task Flow it was time for the hands-on lab: “Build your first taskflow”.

In this lab many of the attendees created their first taskflow, learning the basics of ADF taskflows. This first taskflow receives a job title, and optionally your favorite color via input parameters. Based on that information a welcome message is created. The taskflow is smart enough to invoke the proper logic by using a router to show the correct page fragment based on an input parameter. From this activity, you can change your name in another view activity. This taskflow includes routers, method calls, input parameters, default activities and wild card control flows.

After diner (great Chinese food) there was no time for my usual after diner dip. I had to present a demo on packaging an ADF Task Flow as an ADF Library, and invoking it into a new application. After this demo, the second hands-on lab started. This part of the “Ode to the Taskflow” hands-on lab, was about the mechanism used to achieve reuse across applications: the ADF Library – the bundle in which reusable taskflows are published with all their dependent objects. The ADF Library can subsequently be passed around and imported into other ADF applications. Goal of this lab: create an ADF Library for your first taskflow, and use it a new application.

After this hands-on lab the session was over. It was fun presenting this session. Attendees learned how to use taskflows and also about the mechanism behind reuse. I have uploaded some of the materials for the hands-on lab here.

I can’t wait to prepare a next ADF 11g session. Any topic suggestions ?

About Author

Luc Bors is Expertise Lead ADF and technical specialist/architect at AMIS, Nieuwegein (The Netherlands). He developed several Workshops and training on ADF and also is an ADF and JHeadstart instructor. Luc is a member of the ADF Methodology group and publishes articles on ADF in oracle technology related magazines, on the AMIS technology blog, (


  1. Mozaharul Haque on

    I’m talking about an old post, May 7,2010 about “ADF 11g: Ode to the Task Flow”. I downloaded the hands-on lab
    and want to know about the part-1. If the radio button has been changed from Manager to Programmer, the
    region on the right panel does not change or refresh, althouth the Refresh attribute has been set to
    “ifNeeded”. Does the “ValueChangelistener” of radio group has to be used ?
    I tried some thing like :
    public void Valuechange(ValueChangeEvent valueChangeEvent) {
    if (valueChangeEvent.getNewValue().toString().equals(“Manager”)) {
    System.out.println(“this is Manager”);
    }else if(valueChangeEvent.getNewValue().toString().equals(“Programmer”)){
    System.out.println(“this is Programmer”);

    It works.But how to invoke the task flow in the java code?
    Please help,


  2. Mozaharul Haque on

    Downloaded the hands-on lab zip file, converted into JDeveloper Creating “myFirstTaskFlow” bounded task flow when try to drag and drop to the “myFirstTaskFlowTestPagePageDef.jspx” file it gives a error message which says region could not be created on the jspx page. But I created a jsf page and added the task flow as a region. When the page was run, although “ifNeeded” was selected in the property inspector, clicking the radio option does not refresh the region. I used the provided “testbean” and its methods. Could you please help?


  3. This is really good Hands on on

    This is a really good hands on and will demystify Bounded task flows. Good for newbies

  4. we are facing an issue with train taskflow, default task able to display the page title on browser tab and header in IE, but when navigate to another taskflow its displaying the url content instead of page title which was mentioned in main page with af:document tag.

    this is happening only in IE browser, other browsers working fine.
    our application is developed with ADF webcenter.
    Please suggest me if anything configuration required.