Migration Notes for Axon.ivy Designer 5.1 (Lauberhorn)
This document informs you in detail about incompatibilities that were introduced between Xpert.ivy versions 5.0 (Rothorn) and Axon.ivy 5.1 (Lauberhorn) and tells you what needs to be done to get your existing 5.0 projects working with Axon.ivy 5.1.
Table of Content:
- Migration of projects
- Updated to JSF 2.2 & PrimeFaces 5.0
- Renamed default PrimeFaces theme
- Default keystore renamed
- Java 7 required for Rich Dialog clients
Migration of projects (project conversion)
Most of the incompatibilities can be resolved automatically by invoking the project conversion in the Designer.
However, some issues may have to be fixed manually (after the automatic conversion). Those are described in the next sections.
Updated to JSF 2.2 & PrimeFaces 5.0
JSF and PrimeFaces libraries have been updated to the newest versions. You have to test your Html Dialog application with the new version before upgrading your productive environments, because there are some incompatible changes.
JSF 2.2 (from 2.1)
- Auto generated ids of jsf components changed in the html output, e.g. from "j_id_14:j_id_16" to "j_id_18:j_id_1a". This has no impact as long as you not used them in JavaScript code or referenced them in test cases.
- If you want to use new tags (like <f:passThroughAttribute />) you have to change the declared taglib namespaces form http://java.sun.com/ to http://xmlns.jcp.org/.
e.g. xmlns:f="http://java.sun.com/jsf/core" should be changed to xmlns:f="http://xmlns.jcp.org/jsf/core".
PrimeFaces 5.0 (from 3.5)
- MenuModel is rewritten and not backward compatible with the old version.
- Widgets in JavaScript must be referenced via PF('widgetVarName'). e.g. PF('dialogWidgetVar').show() instead of dialogWidgetVar.show().
- Dialog: appendToBody attribute was removed in favor of appendTo="@(body)" to gain more flexibility.
- Watermark: forElement attribute was removed in favor of for="@(yourSelector)".
- LazyDataModel's filters parameter changed to Map<String,Object> instead of Map<String,String> as a requirement of the new Advanced Filtering Feature (No change needed for already compiled projects on server).
- FileUpload is reimplemented and it is backward compatible except showButtons option is removed.
- Chart components are deprecated in favor of new generic chart component with new Chart API. Old chart components are still supported but will be removed in a future release.
- PrimeFaces Mobile is reimplemented from scratch and now merged in PrimeFaces Core. The tag <pm:view /> was removed.
- PrimeFaces Push is reimplemented, PushContext is deprecated, use EventBus instead along with the new Push API.
- disabledSelection option of column, moved to DataTable, change is backward compatible and the option will be removed from column in a future release.
- Some additional css style classes are added. Check your own css style overwrites.
- Automatic Html Dialogs test cases running with Selenium could fail if the HtmlUnitDriver in combination with Ajax is used. As simple workaround use the FirefoxDriver or ChromeDriver instead.
The newly introduced, extended JSF tag and attribute validation could reveal outdated API usages, that have become incompatible to JSF 2.2 or PrimeFaces 5. Please consult the official tag and attribute documentation to find new compatible API: Primefaces 5 VDL docs, Oracle JSF 2.2 VDL docs
Migrating back to PrimeFaces 3.5 with Axon.ivy 5.1 (JSF 2.2) is not supported.
Please check our Q&A for more information if there are any other problems.
Renamed default PrimeFaces theme
The default PrimeFaces theme has been renamed to ivy, with 5.0 it was called xpertivy-theme. If the xpertivy-theme is explicitly defined in the /webapps/ivy/WEB-INF/lib/web.xml just remove the entry (nothing configured means the default ivy theme will be used). If another theme than the xpertivy-theme is defined this will work as before, no change is needed.
Default keystore renamed
The default keystore file configuration/keystore has been renamed to configuration/keystore.jks. If you imported custom keys into the old keystore then you either have to reimport those keys into the new keystore or overwrite the new keystore file with the old one.
See Help > Designer Guide > Introduction > Axon.ivy Preferences (Workspace Preferences) > SSL Client Settings for more information.