[Oracle ADF] TaskFlow
TaskFlow бывают Bounded и Unbounded.
В общем я всегда создавал Bounded TF. Указывал в них default вьюху и если нужно передавал параметры. + настраивал security.
Oracle Adf Bounded and Unbounded Taskflow and difference between Bounded and Unbounded Taskflow.
Bounded TF have single entry point and can have zero or more exit points. Whereas Unbounded TF has one or more entry point for the application (adfc-config.xml).
Bounded TF must have a default activity (Which is the entry point) whereas Unbounded TF cannot have default activity.
Bounded TF can be parameterized where as UnBounded TF cannot be parameterized.
We can create multiple Unbounded TF but during runtime they all become into one unbounded TF, thus resulting into inefficiency whereas it’s not true in the case of Bounded TF.
Bounded TF is re-usable whereas UnBounded TF is not.
We can implement Undo feature with Bounded TF( because it supports Transaction) but UnBounded TF doesn’t.
In Nutshell, We have to have one Unbounded TF and many Bounded TF to take advantage of many features such as re-usability, train stop, data sharing between task flows , transaction, etc.
http://mavendeveloper.com/2011/09/what-is-the-difference-between-bounded-and-unbounded-taskflows/
Или:
Разница: https://www.youtube.com/watch?v=97AOUPJ0bvU
Примеры работы с TaskFlow:
- Активация TaskFlow в Popup
- Активация TaskFlow только при необходимости (И таким же способом пассивация)
- Finalize TaskFlow
- Узнать на какой странице находимся
- Инициализация TaskFlow при старте
- Получить Task Flow ID программно (не нашел практического применения)
- Calling view activity programatically in a Bounded Task Flow (YouTube)
- Passing Parameters from ADF Task Flow with Fragments into ADF Bounded Task Flow
- Parent Action Activity in ADF Task Flow (YouTube)
Save Points для TaskFlow для сохранения их состояния:
Еще какие-то примеры:
- Improving ADF Page Rendering Time : Progressively Loading Taskflows
- Демонстрация работы с Task Flow
- Использование Popup в Task Flow (Step By Step)
- Еще немного о Task Flow (Step By Step)
Оказывается и так можно (только я не нашел практического применения):
1
2
3
TaskFlowId taskFlow = new TaskFlowId(
"WEB-INF/departments-task-flow-definition.xml",
"departments-task-flow-definition");
https://bitbucket.org/oracle-adf/write-and-read-values-from-pageflowscope-of-a-region-bounded
https://bitbucket.org/oracle-adf/get-the-pageflowscope-of-a-region-bounded-task-flow
Чего-то не нашел как выпонить программно ReturnActivity.
Подозреваю, что как-то:
1
2
3
ControllerContext ccontext = ControllerContext.getInstance();
String viewId = "taskFlowReturn1";
ccontext.getCurrentViewPort().setViewId(viewId);
Буду признателен за подсказку
Интересные примеры:
http://naive-amseth.blogspot.ru/2010/12/testcase-programmatically-navigating-in.html
https://community.oracle.com/thread/1129942?tstart=0
Create taskFlow and region binding at run-time , show n numbers of regions using multiTaskFlow- Oracle ADF
http://www.awasthiashish.com/2014/08/create-taskflow-and-region-binding-at.html
Set and Get Value from Taskflow parameter (pageFlowScope variable) from Managed Bean- ADF
http://www.awasthiashish.com/2013/05/set-value-in-taskflow-parameter-from.html