Migrating from ICEFaces to PrimeFaces

UI Components for JSF
Post Reply
alloushi
Posts: 1
Joined: 07 Dec 2017, 10:04

07 Dec 2017, 10:09

Hello!

3 years ago I have taken a horrible decision by choosing ICEFaces (3.3.0) as my JSF extension to work on a very big project. Along the road I have faced lots of issues as I am using the community edition, they probably don't fix the bugs in it...

I managed to bypass most of the issues but whenever I visit the PrimeFaces showcase I get this heart attack and regret why I used ICEFaces.

I am planning on migrating from ICEFaces to PrimeFaces, I am using JSF 2.1 (I cannot upgrade to 2.2 as the container doesn't support it).

Could you please share some advice, documents, sites, links or anything that will help me in achieving that?

Thanks! :D

Melloware
Posts: 3717
Joined: 22 Apr 2013, 15:48

07 Dec 2017, 15:47

I don't know of any ICEFaces to PF migration guide or issues but all I can say is you won't regret it. Hopefully its not too painful and in the end will be worth it.

The good news is ICEFaces was based on an old version of PF so hopefully they are pretty close. You can read about it here: https://www.primefaces.org/icefaces-cop ... e-by-line/
PrimeFaces Developer | PrimeFaces Extensions Developer
GitHub Profile: https://github.com/melloware
PrimeFaces Elite 13.0.0 / PF Extensions 13.0.0
PrimeReact 9.6.1

The_3nd
Posts: 4
Joined: 12 Feb 2018, 19:06

12 Feb 2018, 19:26

Hi everyone,

I am in the same horrible bad situation, that I am using IceFaces 3.3.0 and now have to migrate to PrimeFaces.

While migrating I encountered many issued related to a different JSF version, but in the end I got both running on the same page.
But I still have a some issues with some specific components. I try to migrate my data table (lazy) with a paginator. But since I still have IceFaces on some (other) pages IceFaces handles the render response phase which results in some wrong behavior. Since the data table just changes the page DataTableRenderer only renders the content inside the table. Then IceFaces tries to find the table in order to identify the type of change (insert, replace, delete, edit, ...). Because DataTableRenderer doesn't render the table (only the content) IceFaces doesn't find the table and thinks it is removed. Therefore the client removes it from the page and he has to refresh to get the table back (on the correct page).

Is it possible to tell the data table always to render the whole table? Or to force PrimeFaces to handle render response?
PrimeFaces: 6.1.13
WebServer: WildFly 10.1
JSF Impl: majorra 2.2.13

tandraschko
PrimeFaces Core Developer
Posts: 3979
Joined: 03 Dec 2010, 14:11
Location: Bavaria, DE
Contact:

12 Feb 2018, 20:22

I don't think you will get an detailed answer as the most people just migrate everything. I don't think everything will work if you still use IceFaces and PrimeFaces.
Thomas Andraschko

PrimeFaces | PrimeFaces Extensions

Apache Member | OpenWebBeans, DeltaSpike, MyFaces, BVal, TomEE

Sponsor me: https://github.com/sponsors/tandraschko
Blog: http://tandraschko.blogspot.de/
Twitter: https://twitter.com/TAndraschko

The_3nd
Posts: 4
Joined: 12 Feb 2018, 19:06

14 Feb 2018, 12:00

That is really a problem, because the project is way too big to migrate everything at once.
Isn't there a chance to force PrimeFaces to process the whole lifecycle or at least to set the parameter "*_encodeFeature" to false, so DataTableRenderer renders the whole table?
PrimeFaces: 6.1.13
WebServer: WildFly 10.1
JSF Impl: majorra 2.2.13

tandraschko
PrimeFaces Core Developer
Posts: 3979
Joined: 03 Dec 2010, 14:11
Location: Bavaria, DE
Contact:

14 Feb 2018, 12:28

Nope, there isn't.
How do you trigger the ajax update? If it's triggered via JSF or PF ajax, i wonder how IceFaces intercepets the request and response...
Maybe it's just enough to switch from ice ajax to PF when you update a table.
Thomas Andraschko

PrimeFaces | PrimeFaces Extensions

Apache Member | OpenWebBeans, DeltaSpike, MyFaces, BVal, TomEE

Sponsor me: https://github.com/sponsors/tandraschko
Blog: http://tandraschko.blogspot.de/
Twitter: https://twitter.com/TAndraschko

The_3nd
Posts: 4
Joined: 12 Feb 2018, 19:06

14 Feb 2018, 13:32

Actually I use the default paginator from the data table and on client side the request is created by PF and the response is handled by PF, too. Only on server side when he calls the partial view context it is IceFaces.

Since I do not use <f:ajax update...> or something like that I don't know how to switch from ice ajax to PF explicitly.
PrimeFaces: 6.1.13
WebServer: WildFly 10.1
JSF Impl: majorra 2.2.13

The_3nd
Posts: 4
Joined: 12 Feb 2018, 19:06

14 Feb 2018, 14:00

After your suggestion to switch the ajax I found the configuration tag of icefaces:

Code: Select all

<icecore:config render="false" />
After adding this line at the page the data table works fine.
PrimeFaces: 6.1.13
WebServer: WildFly 10.1
JSF Impl: majorra 2.2.13

Post Reply

Return to “PrimeFaces”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 69 guests