Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 4.1
-
Fix Version/s: 4.1.1
-
Component/s: ACE-Components
-
Labels:None
-
Environment:Liferay/Portlet but likely a webapp problem as well
-
Assignee Priority:P1
Description
1. Start Liferay Portal 7.0-B7
2. Deploy the attached icefaces4-portlet-4.0.0-SNAPSHOT.war artifact to $LIFERAY_HOME/deploy
3. Add the ICEfaces4 portlet to a new portal page
4. Reload the page
5. When the applicant form is rendered, click in the "Date of Birth" field in order to cause the calendar to popup.
6. Enter an invalid date via the keyboard and press TAB: 02/30/2016
7. Observe that the field turns red in the browser and in the server log, that only the RESTORE_VIEW, APPLY_REQUEST_VALUES, PROCESS_VALIDATIONS, and RENDER_RESPONSE phases were executed. In other words, the UPDATE_MODEL_VALUES and INVOKE_APPLICATION phases are skipped since the date of birth value is invalid.
8. Using the mouse, click in the Date of Birth field in order to popup the calendar and then click on any date in the calendar so that the value is valid.
9. Observe in the server log that all phases of the JSF lifecycle were executed.
10. Click in the "Date of Birth" field and enter an invalid date via the keyboard and press TAB: 02/30/2016
If the bug is fixed, then the behavior of step#7 should be observed, meaning that the UPDATE_MODEL_VALUES and INVOKE_APPLICATION phases are skipped.
If the bug still exists, then an XHR will not be submitted at all and the field will not turn red.
-
Hide
- icefaces4-portlet-4.1.1.war
- 10.63 MB
- Carmen Cristurean
-
- META-INF/MANIFEST.MF 0.3 kB
- META-INF/context.xml 0.1 kB
- WEB-INF/.../ApplicantBackingBean.class 9 kB
- WEB-INF/classes/.../ApplicantModelBean.class 4 kB
- WEB-INF/classes/.../ApplicantViewBean.class 1 kB
- WEB-INF/classes/.../bean/ListModelBean.class 5 kB
- WEB-INF/.../PortletPreferencesBackingBean.class 4 kB
- WEB-INF/classes/com/.../demos/dto/City.class 1 kB
- WEB-INF/classes/com/.../dto/Province.class 0.9 kB
- WEB-INF/.../UploadedFileWrapper.class 5 kB
- WEB-INF/classes/i18n.properties 1 kB
- WEB-INF/classes/i18nFaces.properties 0.1 kB
- WEB-INF/classes/log4j.properties 2 kB
- WEB-INF/classes/META-INF/apache-2.0.txt 11 kB
- WEB-INF/classes/.../cddl-1.0-gpl-2.0-cp.txt 44 kB
- WEB-INF/classes/META-INF/cddl-1.0.txt 16 kB
- WEB-INF/classes/META-INF/NOTICE.txt 0.6 kB
- WEB-INF/classes/META-INF/THIRD-PARTY.txt 0.7 kB
- WEB-INF/faces-config.xml 1 kB
- WEB-INF/lib/jsf-api-2.2.13.jar 680 kB
- WEB-INF/lib/jsf-impl-2.2.13.jar 2.30 MB
- WEB-INF/liferay-display.xml 0.2 kB
- WEB-INF/liferay-plugin-package.properties 0.4 kB
- WEB-INF/liferay-portlet.xml 0.8 kB
- WEB-INF/portlet.xml 2 kB
- WEB-INF/resources/example/clipboard.png 2 kB
- WEB-INF/resources/example/example.css 0.3 kB
- WEB-INF/resources/.../icon-delete.png 0.9 kB
- WEB-INF/resources/example/icon-help.png 4 kB
- WEB-INF/resources/.../liferay-logo.png 4 kB
-
Hide
- icefaces4-portlet-4.0.0-SNAPSHOT.war
- 11.26 MB
- Neil Griffin
-
- META-INF/MANIFEST.MF 0.3 kB
- META-INF/context.xml 0.1 kB
- WEB-INF/.../ApplicantBackingBean.class 9 kB
- WEB-INF/classes/.../ApplicantModelBean.class 4 kB
- WEB-INF/classes/.../ApplicantViewBean.class 1 kB
- WEB-INF/classes/.../bean/ListModelBean.class 5 kB
- WEB-INF/.../PortletPreferencesBackingBean.class 4 kB
- WEB-INF/classes/com/.../demos/dto/City.class 1 kB
- WEB-INF/classes/com/.../dto/Province.class 0.9 kB
- WEB-INF/.../UploadedFileWrapper.class 5 kB
- WEB-INF/classes/i18n.properties 1 kB
- WEB-INF/classes/i18nFaces.properties 0.1 kB
- WEB-INF/classes/log4j.properties 2 kB
- WEB-INF/classes/META-INF/apache-2.0.txt 11 kB
- WEB-INF/classes/.../cddl-1.0-gpl-2.0-cp.txt 44 kB
- WEB-INF/classes/META-INF/cddl-1.0.txt 16 kB
- WEB-INF/classes/META-INF/NOTICE.txt 0.6 kB
- WEB-INF/classes/META-INF/THIRD-PARTY.txt 0.7 kB
- WEB-INF/faces-config.xml 1 kB
- WEB-INF/.../icefaces-4.1.1-20160216.170212-3.jar 684 kB
- WEB-INF/.../icefaces-ace-4.1.1-20160216.171751-3.jar 6.07 MB
- WEB-INF/lib/jsf-api-2.2.13.jar 680 kB
- WEB-INF/lib/jsf-impl-2.2.13.jar 2.30 MB
- WEB-INF/.../liferay-faces-alloy-3.0.0-SNAPSHOT.jar 573 kB
- WEB-INF/.../liferay-faces-bridge-api-4.0.0-SNAPSHOT.jar 94 kB
- WEB-INF/.../liferay-faces-bridge-ext-5.0.0-SNAPSHOT.jar 125 kB
- WEB-INF/.../liferay-faces-bridge-impl-4.0.0-SNAPSHOT.jar 451 kB
- WEB-INF/.../liferay-faces-util-3.0.0-SNAPSHOT.jar 276 kB
- WEB-INF/liferay-display.xml 0.2 kB
- WEB-INF/liferay-plugin-package.properties 0.4 kB
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
Hi Arturo,
In order to see if this was a problem specifically with Liferay Portal, I deployed a pluto-specific version of the portlet to Apache Pluto. Sadly I wasn't able to try the test for this issue because I ran into another issue: ICE-10968. Just a thought, but focusing on solving ICE-10968 might help this issue move along as well.
Neil
r47950: moved onchange event setup before call to re-initialize component in client
This issue occurred simply because the onchange event wasn't being re-registered when the component was re-initialized. The code seemed too assume that there were not going to be full markup updates for the component, and, on Liferay, the full component markup was being updated at every request initiated by the component itself.
This issue could also be reproduced on a servlet environment by having the component's 'rendered' attribute bound to a boolean property, which in turn is also bound to a checkbox, to control it. After undrendering and then rendering the component again, the onchange ajax event was never triggered again.
ICEfaces4 trunk r47959: ran QA dateTimeEntry regressions (FF41, Chrome48, IE11), and showcase > dateTimeEntry tests (FF41, IE11), no issues found.
Jenkins ICEfaces 4.1.1 Build #6: ran QA dateTimeEntry regressions, and showcase > dateTimeEntry tests (FF41, IE11, Chrome48), no issues found.
Verified ICEfaces 4.1.1 Jenkins Build 6 (using liferay-faces-4.2.5.jar) with attached test case on Liferay 6.2/ Tomcat7.0.42, on FF41, Chrome48, IE11.
At step7, when entering an invalid date and pressing TAB, the field does not become red, however in the logs, the UPDATE_MODEL_VALUES and INVOKE_APPLICATION phases are skipped. On submit, an "Invalid date format" message is rendered on page.
Attaching test case used to verify this JIRA, using icefaces*-4.1.1 and liferay-faces*-4.2.5 jars.
Adding the liferay-faces-alloy-4.2.5-ga6.jar to the icefaces4-portlet-4.1.1.war test case fixes the dateTimeEntry field not turning red when entering an invalid date.
Some observations so far:
I noticed that the scripts (i.e. inside <script> tags) with which the component is rendered when the page is loaded and the scripts with which the component is rendered after the first ajax update are slightly different. It seems like Liferay minifies the Javascript code when the page is loaded, but not on subsequent ajax requests. I don't know if this has anything to do with the issue.