Pages

Sunday, June 22, 2008

Advanced TaskFlow Train Features

In this blog I will explain you more about some features of a bounded taskflow train. A train is a wizard with stops or steps which helps the user to complete the transaction. In this blog I'll show how you can skip or disable a train stop, this can be handy when a user already did this step or this step is in this case not necessary. The second part of the blog explains how you can use a other taskflow as a train stop.Here an example of a train with four steps. If you the user to go from step 1 to Step 3 we have to set the sequential to false. You can always use a method in a bean to control this To disable a step we have to add true to the skip flied of the property editor of a train stop.
You don't only have to use views for the train stops you can also use bounded taskflows as a train stop. This taskflow has to be a bounded train with only one view page and a taskflow return ( else you can't navigate back to the main train). Here is an example of the main train taskflow.
Train_step2-flow-definition is the sub train taskflow. You can see I have added two control flow cases next and previous to this taskflow, else we can't navigate to step 1.5 and step3 from this sub taskflow. Next and previous are the outcome values of the two taskflow returns. Here you can see an example of the sub train taskflow. The two taskflow returns have the outcome values next and previous. I have to add two buttons to the step2 page which call the next or previous action. At last a more complex example of a train. You can find this example in the oracle documentation. It gives an impression what you can do in taskflow.

15 comments:

  1. Hi Edwin,

    My name is Mark and I attended your task-flow presentation at ODTUG last week. It was very good and the level of detail was great.

    I asked you about integrating applications by calling external task-flows and you said you'd throw up a quick demo. Can you still do that ?

    Thanks a lot,
    Mark

    ReplyDelete
  2. Hi Mark,

    I didn't forget you , I opened a forum entry on otn. In tp3 it was working fine in tp4 not. Frank Nimphius is now looking at the test cases.

    http://forums.oracle.com/forums/thread.jspa?forumID=381&threadID=672844

    ReplyDelete
  3. Hi Edwin,
    I'm working on taskflow and train. I tried your method and it works fine.

    Then, i tried a more complex one :
    - i use an EL to put "true" or "false" in the skip field of train stop (i've more views than you in my main taskflow)

    - in my train_step2-definition-flow-definition, i have two taskflow returns (back and next). I would like to use the "main default train navigation" in their outcome values : like the train button bar.

    The goal is to have no "control flow case" in my main task flow.

    How can i do? Any idea?

    Thanks for your help.

    Clément

    ReplyDelete
  4. Hi,

    can you send me a testcase.

    biemond at gmail dot com

    thanks

    ReplyDelete
  5. Hi,

    Now I know what you mean. You have a train and in this train a subtrain. and in the sub train you have a train bar component which does not work. you have to do it yourself.

    I did some research and it is not possible , you have to use control flow cases to return to the main train.

    but when I see the sub train jsf component, I think this component maybe be working in the next jdev release

    thanks Edwin

    ReplyDelete
  6. Hi Edwin,

    I will use a router to reproduce the train navigation with "control flow cases". It won't be dynamic at all, but i can't find other solution.

    Thanks for your help.

    Clément

    ReplyDelete
  7. I have to call a method in managed bean when user click Train Next Button or Previous Button.I dont see any thing except attributechangelistener that does not work for me.

    ReplyDelete
  8. Hi,

    you can add this method between the train pages in the ADF Task Flow.

    hope this helps.

    ReplyDelete
  9. Hi Edwin,

    In my usecase, I have a train task flow as a region inside a popup dialog. When I click a button on parent page, the dialog opens on 1st train stop (it is non-sequential). I navigate to 3rd train stop and then click ok on the dialog. When I hit the button on parent page again, I am taken to the 3rd train stop directly.

    Is there any way to force the train to be reset to 1st stop every time popup is invoked?

    ReplyDelete
  10. Hi Edwin,

    In my usecase, I have a train task flow as a region inside a popup dialog. When I click a button on parent page, the dialog opens on 1st train stop (it is non-sequential). I navigate to 3rd train stop and then click ok on the dialog. When I hit the button on parent page again, I am taken to the 3rd train stop directly.

    Is there any way to force the train to be reset to 1st stop every time popup is invoked?

    ReplyDelete
  11. hi ,, i have question related to train to how to prevent the user using the navigation through the train bar , i need the user only using the train buttons navigation next and back ,

    ReplyDelete
    Replies
    1. Oh,

      only not showing it helps. but when there is no option for this in property palette then this is probably hard.

      thanks

      Delete
  12. Hi Edmond,
    Its very nice post with all the information .. Just need your inputs on the following ..

    I am trying to create train process with multiple steps. I have one outer bounded taskflow and a bounded taskflow representing each step with a view activity (page fragment) having some custom methods. The outer bounded taskflow has several taskflow activities (connecting all the other inner bounded taskflows) connected as a train. When i drop the outer bounder taskflow in a page, i could not see any other stop in the train except the fragment belongs to the first taskflow activity. ie, the page is rendered only with one train stop and the contents from that. I am using Jdeveloper 11.1.1.5

    Every page fragment in taskflow uses the same page template where the code for train is written.
    ############################################






    I have double checked the train attributes set to true, sequence=true, skip=false and display-name in all the taskflows. But no avail. Is there any particular way of doing it ? I dont want to have a single taskflow with all the page fragments connected as a train .. instead i want to have a separate taskflow for each step. Also i dont expect to go to a sub process train .. i just want to have a single main train with all stops based on takflow activities.

    ReplyDelete
    Replies
    1. Hi,

      you set the train properties, but can you make a small testcases and send it to me biemond at gmail dot com
      thanks

      Delete
  13. Hi,
    I have a train,top of page Train navigation bar is there,but my requirement is,Nav bar Should not be clickable and only current stop will be Enable and remaining stops will be disable.

    Please can any body help me.

    ReplyDelete