We have a large - and quite old - project using JSF 1.1 (specifically the MyFaces implementation) with JSP as view technology. Right now we want to upgrade the used JSF version, view technology and taglibs in use. Migrating from JSF 1.2 to JSF 2.0 gave some idea of the woes we are likely to encounter.
I am new to JSF but I do understand that Facelets are only supported since JSF 2.x, so we need to update the JSF version before we can begin replacing JSPs with Facelets.
Currenty, we also use some old taglibs like Ajax4JSF and an old version of RichFaces, that - IIRC - is based on Ajax4JSF and of which one main feature is also to provide Ajax functionality and Ajax-enabled components to JSF. If I got this right, JSF 2.x supports Ajax functionality natively and therefor taglibs like Ajax2JSF aren't really needed anymore.
Since it seems that RichFaces' "life cycle" has finished last year (according to wikipedia), this also seems to be a good opportunity to also replace RichFaces with PrimeFaces, which seems to be still in active development and gets recommended quite often. I am not sure, though, if this replacement makes sense or if these two component libraries even offer similar components or if they aim two provide two totally different sets of components and this replacement is a bad idea to begin with.
One way or the other, I'd like to know in which order these 3 steps would make the most sense. Since Facelets require JSF 2.x and current versions of modern taglibs also only seem to work with new JSF versions, I assume updating JSF has to be done first, but concerning the replacement of JSPs with Facelets and of RichFaces/Ajax4JSF with PrimeFaces, in which order should these two be done?
My guess is that current taglibs might also depend on Facelets so perhaps this order makes the most sense?
- JSF 1.1 => JSF 2.x
- JSP => Facelets
- RichFaces => PrimeFaces