Can RichFaces (either 3.x or 4.x) and PrimeFaces (either 3.5 or 4.0) be used in the same JSF 2.x application? Will they coexist nicely?
My goal is migrating from RichFaces 3.x to PrimeFaces. I would like to start by using PrimeFaces for a new submodule of my web application, and eventually migrate everything.
It would be fairly easy to set up a simple hello-world sized project and try it out; I am asking here because I wish to know if there are some problems when doing this on real-life sized projects.
Related
The scenario is a mobile page developed with JSF and Primeface Mobile. I want to navigate in the same xhtml page between multiple pages (have a look at: JSF Primefaces Mobile navigation). After upgrading PrimeFaces from version 6.1 to 7.0 org.primefaces.mobile.application.MobileNavigationHandler does NOT exist anymore. What do i need to use instead? The migration guide "6.2 to 7.0" (https://github.com/primefaces/primefaces/wiki/Migration-Guide) doesnt help me: "[...] Mobile has been removed in favor of responsive features. [...]"
There is NO migration path for you other than rewriting your code.
PrimeFaces Mobile was completely removed in 7.0
See this blog post from Primefaces: https://www.primefaces.org/primefaces-6-2-roadmap/
PF Mobile is a renderkit for the existing components however we’ve
just realized that we have to maintain two different sets at the same
time so decided to deprecate PF Mobile and focus on the responsiveness
of the standard renderkit. So in 6.2, mobile will be deprecated and
removed in 7.0.
Have a look at my migrated fork: https://github.com/djmj/primefaces-mobile.
I extracted the mobile components from PrimeFaces 6.1 and adapted them to PrimeFaces 7.0 as a separate library. I did testing with mobile showcase and will test it in our own application and production the next days.
I have a problem with WebSphere 6.1 and Primefaces. I have created an application, but used a local Tomcat appserver for testing. Everything was working fine, until I tried to deploy it on WAS 6.1.
After investigating the internal server problem, I saw, that WAS 6.1 only supports JSF 1.1, so I can throw out the whole interface :S
My question is, what is the best and most importantly, the fastest solution for this:
my interface is very simple, only panels, commandbuttons, a menu and a printer component. Is it possible to go back to a previous version of primefaces that supports jsf 1.1 keeping most of the code? (as I read, primefaces 1.1 is the last, which is far away from 3.5 )
use another faces implementation, if yes which one is the easiest to switch to from primefaces
can WAS 6.1 be made somehow compatible with JSF 2?
any other way
It's possible if you drop the necessary JSF 2.0/2.1 + PrimeFaces 3.5 JARs in webapp's /WEB-INF/lib and set in WebSphere admin the classloader policy to PARENT_LAST on both the EAR and WAR. This will force WebSphere to load webapp-bundled JSF instead of its own bundled JSF.
I understand that the Trinidad framework is an extension of MyFaces project (who is the JSF implementation). But, I have JSF project that has only the trinidad dependencies. So, I ask:
How works this project without the JSF implementation´s dependencies?
Thank you
Apparently the project which you've in hands is been targeted for deployment on a real Java EE application server.
Normally, JSF is already provided as part of the Java EE API by a decent Java EE application server such as Glassfish, JBoss AS, WebSphere, WebLogic, etc. The web application project does not need to include the JSF libraries at all (like as it does not ever need to include the JSP/Servlet/EJB/JPA/etc libraries when deployed to such a server).
However, in case of barebones JSP/Servlet containers like Tomcat and Jetty, JSF is not provided by the server itself. JSF has either to be manually installed in those containers or to be provided by the web application project itself.
JSF component libraries like Trinidad, PrimeFaces, RichFaces, etc are not part of the Java EE API and thus surely need to be supplied by the web application project itself.
Our project currently uses the very old Java Studio Creator framework and now has new requirements and plans for future deployments which require the application to finally remove JSC and migrate to either 1.8.x or 2.0 of IceFaces.
A migration to 1.8.x seems to be the safest and most reliable option to take to me. Would delaying and not taking on the challenge of a migration JSF 2.0 make sense or should a migration directly to IceFaces 2.0 be used instead?
That <webuijsf:xxx> component library is called "Woodstock". Now you have new and solid keyword. ICEFaces was officially been pointed as recommended replacement of Woodstock projects when Woodstock was officially been abandoned and discontinued.
Woodstock to ICEFaces migration
Woodstock to ICEFaces porting guide
Woodstock to ICEFaces component migration matrix
ICEFaces 2 tutorials and examples
I personally recommend you to just take the ICEFaces migration path. It's well documented. Also, when you migrate to "plain" JSF 2.0, you'll have to redo the entire look'n'feel as "plain" JSF components does not ship with any bundled CSS. Going to ICEFaces 1.8 or 2.0 doesn't really matter that much. To take advantage of new JSF 2.0 features behind ICEFaces 2.0 you'll only have to change a lot of other things afterwards, but even without that, you should already have a working project.
I'm fairly new to JSF and Richfaces.
I'm looking to upgrade our system from JSF 1.1.2 to the latest 2.0. Also looking at upgrading our Richfaces 3.0 to 3.3
Under the lib folder for old projects we currently have the following:
ajax4jsf-1.1.1.1.jar
commons-beanutils-1.7.0.0.jar
commons-collections-3.3.1.0.jar
commons-digester-1.6.0.0.jar
commons-logging-1.1.1.0.jar
jsf-api-1.1.2.0.jar
jsf-facelets-1.1.12.0.jar
jsf-impl-1.1.2.0.jar
jstl-1.1.2.0.jar
richfaces-3.0.1.1.jar
This is what I have added:
richfaces-api-3.3.3.Final (Added)
richfaces-impl-3.3.3.Final (Added)
richfaces-ui-3.3.3.Final (Added)
So what I'm looking for is info on what Jars I can remove and what Jars I'm missing that need to be added.
Thanks
Hmm, before talking about the libs... What's your goal using jsf 2.0 and rf 3.3? I am asking because rf 3.3 does not really make use of jsf 2.0. As the jsf 2.0 roadmap for richfaces says
The goal of JSF 2.0 support in the 3.3.3 release is to run your existing RichFaces 3.3.X applications in a JSF 2.0/EE6 environment with little or no changes.
See this link: jsf 2.0 roadmap for richfaces
OK, back to your libs... I don't remember them by heart, but at least you should change jsf-api and jsf-impl to 2.x versions and drop the old stuff. I would have a look at a rf 3.3 demo project, what is contained there.
You can also just use RichFaces Maven archetype and create a project with everything you need.