In an ADF application communication between task flows is achieved with the use of the Contextual Events Framework. Given two task flows with page fragments, a producer and a consumer the contextual events are defined on the JSF components that fire them:
In the properties inspector of the component that launches the event, both the event and the payload (if any) show up like:
A handler for the events is defined typically as a data control:
And a binding for the handler is created on the consumer fragment:
The mapping of the handler to the corresponding events it handles is done in the Event Map of the parent page that consumes the task flows:
Information about both the Event Publishers and Event Subscribers can be found in the Event Map:
This concludes the setup needed to achieve task flow communication in ADF. If we want to implement a similar solution in WCP 11.1.1.9 we have to take a few additional steps:
We need to export the ViewController project (and dependent Model project if it exists) as an ADF library JAR:
We also need a Deployer project that consumes the ADF library and is deployed as a shared library to the managed server where WCP is running:
The easiest way is to deploy from Jdeveloper:
Next we need to register the share library with WCP in the weblogic.xml of the WebCenterPortalServerExtension application:
And deploy the WebCenterPortalServerExtension application to the managed server where WCP is running.
After the artifacts are deployed on the WCP server, from the Administration console of WCP the necessary changes need to be done to make the task flows available in the resource catalog of the portal where we want to deploy them:
Next we can drop the task flows onto a portal page:
Keep in mind that in ADF the mapping between the fired events and the handler is done in the consuming page. For WCP this is similar, but instead of using the page definition to to the mapping we will do it with the help of the Page Composer:
We need to edit the task flow properties of the consumer task flow:
The Events Box shows all the events that are launched from the Portal Page. The Action box shows all the handlers. To do a mapping we select the event we want to map and after we select the handler:
After making sure the “Enable Action” checkbox is selected we can open the Method Expression Builder to configure the payload:
When selecting “Event Data” from the first dropdown, “Payload” will be automatically selected in the 2nd and the box will be prefilled with the expression ${payLoad} . Modify this to use the deferred version of the EL, #{payLoad} . Save your changes and you are done:
- Reading large files in Java - 19. März 2020
- A simple filter bytransient fields of a table with View Criteria and ExecuteWithParams operation in ADF - 2. November 2015
- APEX 5 Upgrade issue - 29. Oktober 2015