[ADFEMG-65] Automatic PPR stops working in jdev 11.1.2.x when using an af:exportCollectionActionListener Created: 22/Oct/12 Updated: 07/Jul/14 Resolved: 07/Jul/14
|Remaining Estimate:||Not Specified|
|Time Spent:||Not Specified|
|Original Estimate:||Not Specified|
JDev 22.214.171.124.0 on Win7 64bit
|Tags:||11-1-2-3, bug, exportCollectionActionListener, ppr|
Consider the following use case (based on the HR schema):
Page layout: Departments used as form on a page with navigation buttons, below the department form are the Employees of the department as table in a af:panelCollection with an af:menu in the 'menus' facet of the af:panelCollection.
When navigate over the departments, the table of Employees changes according to the department shown in the form.
Using JDev 126.96.36.199.0 this I can't reproduce this behavior. Here the navigation and refreshing the UI works OK even after exporting the data using the af:exportCollectionActionListener. The navigation on the master still takes place, only the UI doesn't reflect the changes.
The attatched zip file contains two workspaces: ExportExcelApp11gR1 containing the 188.8.131.52.0 workspace and ExportExcelApp11gR2 containing the 184.108.40.206.0 workspace. Both are using the HR schema so you need to change the JDBC settings according to your environment.
After loading the workspace comiple both projects and run the 'view1.jspx' page in the view controller project. Navigate over the departments and then export the employees table of on department. After that navigate to the next or previous department. Using 220.127.116.11.0 the new department and its employees are shown, using 18.104.22.168.0 the page shown the department and employees selected for export.
|Comment by Timo_Hahn [ 22/Oct/12 ]|
The original bug was posted in this OTN thread: https://forums.oracle.com/forums/thread.jspa?threadID=2450458
This behavior can be reproduced in JDev 11.1.2.x, so it's not new to 22.214.171.124.0!
|Comment by Jan Vervecken [ 22/Oct/12 ]|
Just wanted to confirm the behaviour you describe (using Export2ExcelBug.ZIP).
|Comment by chriscmuir [ 08/Nov/12 ]|
Sorry gents, this one slipped me by.
In investigating this issue today I found Support Note 1364261.1. Though the behaviour described by that note no longer throws ADF_FACES-60096 (which I believe has been fixed as per bug 9218151), the support note does say:
"While downloading an excel-file via exportCollectionActionListener or after showing the page as printable via showPrintablePageBehavior....
....Cause: The ADF Faces query components do not support automatic PPR. If you set changeEventPolicy to be PPR globally, any iterators associated with bindings for those components will have the changeEventPolicy attribute set to none."
This restriction as per the Support Note is documented in the Fusion Guide under the 3rd "Note" in section 25.2.1: http://docs.oracle.com/cd/E35521_01/web.111230/e16182/adf_lifecycle.htm#CIAIAEBD
The conclusion I draw from this are exportCollectionActionListener & showPrintablePageBehavior are somehow related to query components, and they do not support automatic PPR, you need to handle this yourself in 11.1.2+.
As such what I'll do is raise a doc bug for the Note in section 25.2.1 to expand it's definition of "ADF Faces query components" to include the two behaviour tags, and also direct the doc team to validate this with developers.
As a side note of interest Steven Davelaar has a relating blog entry on automatic PPR: http://blogs.oracle.com/jheadstart/entry/jdev_11_1_2_differences. Note how Steven has detected the changing behaviour of the JSF lifecycle between 11gR1 vs 11gR2.
|Comment by chriscmuir [ 08/Nov/12 ]|
Raised doc bug 15848158 as follows:
In the JDev Fusion Guide 126.96.36.199.0, the 3rd "Note" under section "25.2.1
"The ADF_Faces_query_components do not support automatic PPR. If you set
This same limitation is documented and referred to in Support Note 1364261.1.
"While downloading an excel-file via exportCollectionActionListener or after
....neither of which components are known as "ADF Faces query components",
Via the ADF EMG issue http://java.net/jira/browse/ADFEMG-65 we've proven
As such we should work to making this limitation clearer.
For this doc bug can you:
1) confirm with the ADF developers that these other ADF Faces tags, namely
In addition on note "25.2.1 What You May Need to Know About Partial Page
"If you set changeEventPolicy to be ppr globally, any iterators associated
What's missing from this description is this a DT change or RT override? I
Finally assuming it is a RT override, this leaves programmers guessing what
|Comment by Jan Vervecken [ 08/Nov/12 ]|
Thank you for the update Chris.
On My Oracle Support I have been able to find (what you refer to):
|Comment by Timo_Hahn [ 08/Nov/12 ]|
Thanks for the update Chris!
So it looks like my workaround is just the documented way to handle this situation
However, I wonder if this is only a doc bug. The ppr works OK until you use the exportCollectionActionListener in the sample.
The note in section 25.2.1 says:
Somehow table and form components reacts like the af:query component once a behavior tag fires an event, regardless of the iterators change event policy.
I would call this unexpected.
|Comment by chriscmuir [ 09/Nov/12 ]|
Agreed, thus why I put the emphasis in the doc team to refer back to the development team. There's obviously more to that limitation than just "ADF query components" so we'll let them sort it out, rather than spending time investigating all the ins and outs of the issue with the limited information we have to hand.
Regardless we know the workaround (or in fact the correct setup), so that should be enough for development teams to proceed at this time.
|Comment by chriscmuir [ 07/Jul/14 ]|
There's really been no further progress internally on this, so at this stage I don't see this issue progressing. So I don't keep on tracking it, I'm going to close this issue at this time.