Search code examples
oracle-adfjdeveloper

Internet Explorer: ADF Return Task Flow Issue


I have a back button setup, that executes a task-flow-return object. Respectively the task-flow-return, returns back to a parent task flow (going back to a parent jspx page).

This has worked perfectly in ADF 11.1.1.3 in any browser. However, after upgrading to ADF 11.1.1.7, the back button no longer works in IE (only IE). It still works in other browsers.

In debug, i followed the task flow steps when i execute the back button in IE. It goes to the "task-flow-return" object, then instead of going to the parent task flow, it goes to the default activity of current task flow.

Theres no java errors returned, nothing helpful. However, I get this cute message in WebLogic when everytime the back button fails in IE (Only IE):

<Jul 18, 2013 3:26:55 PM EDT> <Warning> <org.apache.myfaces.trinidadinternal.context.DialogServiceImpl> <BEA-000000> <No 'DialogUsedRK' key available for returnFromDialog to do the right thing!>

This looks like a bug, but i'm sure theres solutions/workarounds.

Any ideas?

Task Flow Code:

    <?xml version="1.0" encoding="windows-1252" ?>
<adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
  <task-flow-definition id="ppsMaint-flow">
    <default-activity>Maintenance</default-activity>
    <data-control-scope>
      <shared/>
    </data-control-scope>
    <managed-bean>
      <managed-bean-name>backing_Maintenance</managed-bean-name>
      <managed-bean-class>upa.view.pps_maint.backing.Maintenance</managed-bean-class>
      <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    <exception-handler id="__1">Maintenance</exception-handler>
    <view id="Maintenance">
      <page>/pps_maint/Maintenance.jspx</page>
    </view>
    <task-flow-return  id="backGlobalHome">
      <outcome>
        <name>globalHome</name>
      </outcome>
    </task-flow-return >
    <task-flow-call id="about-flow">
      <task-flow-reference>
        <document>/WEB-INF/about-flow.xml</document>
        <id>about-flow</id>
      </task-flow-reference>
      <run-as-dialog>
        <display-type id="__2">
          <inline-popup/>
        </display-type>
      </run-as-dialog>
    </task-flow-call>
    <control-flow-rule>
      <from-activity-id>*</from-activity-id>
      <control-flow-case id="__11">
        <from-outcome id="__12">backGlobalHome</from-outcome>
        <to-activity-id id="__13">backGlobalHome</to-activity-id>
      </control-flow-case>
    </control-flow-rule>
    <control-flow-rule id="__3">
      <from-activity-id id="__4">Maintenance</from-activity-id>
      <control-flow-case id="__6">
        <from-outcome id="__7">dialog:about</from-outcome>
        <to-activity-id id="__5">about-flow</to-activity-id>
      </control-flow-case>
    </control-flow-rule>
  </task-flow-definition>
</adfc-config>

Solution

  • I found this task flow i was using was unncessary. Although i never found the solution to this, my workaround was to remove the extra taskflow...