Blogs
The most significant release in the history of the Liferay Faces project
Celebrating 10 Years of Liferay Faces
The Liferay Faces project began back in 2012, and 10 years later we're celebrating the most significant release in the history of the project, including:
- Standards-based support for Portlet 3.0 + JSF 2.2 (JSR 378)
- Runtime support for Portlet 3.0 + JSF 2.3
- Support for Liferay CE/DXP 7.4
- Support for thick and thin WAR artifact deployment
- Support for CDI
Standards-based support for Portlet 3.0 + JSF 2.2 (JSR 378)
On June 2, 2022 the JSR 378 Expert Group published the final release of the Specification, TCK, and Reference Implementation (Liferay Faces Bridge). Liferay extends its thanks to the Java Community Process (JCP) Executive Committee, and the members of the Expert Group that helped formulate and approve the standard (in alphabetical order):
|
|
In addition, thanks to Harold Ogle and Heather VanCura of the JCP for all of their help along the way!
Finally, many thanks to Michael Freedman for the work he did representing Oracle as the Spec Lead for JSR 329 and JSR 301. His mastery of the subject matter and his attention to detail are second-to-none. JSR 378 would not have been possible without his poineering work in the field.
Runtime support for Portlet 3.0 + JSF 2.3
We've also delivered on the request by JSF portlet developers to
support JSF 2.3. What is meant by "runtime" support is that
the Liferay Faces dependencies have been compiled against the JSF 2.3
API, and fully tested against Mojarra 2.3.9. However, only JSF 2.2
specific features (as defined by JSR 378) have been thoroughly tested.
Features that are specific to JSF 2.3 may not be supported or might
not function as intended in a portlet environment. If you run into any
issues, please create a ticket in JIRA under the FACES project and
we'll see whether or not it can be fixed/supported. An example of
something that will not be supported is <f:websocket/>
.
Support for Liferay CE/DXP 7.4
We're also supporting deployment of JSF portlet WAR modules to Liferay CE/DXP 7.4. Testing was done on the latest releases of 7.4 over the course of a few months. The latest testing was done with Liferay CE 7.4.3 GA31 and Liferay DXP 7.4.13 U31 (FACES-3633).
Support for thick and thin WAR artifact deployment
When you generate a project from one of the Maven archetypes, it
can be built as "thick" (meaning that JSF portlet
dependencies like Mojarra and Liferay Faces Bridge are embedded within
the WEB-INF/lib folder of the WAR artifact) or "thin"
(meaning that the JSF portlet dependencies are centrally deployed in
$LIFERAY_HOME/osgi/modules). By default, the
resulting WAR artifact will be built as thick. But
you can specify -p thin
in order to build the resulting
WAR artifact as thin.
Thin JSF Portlet WAR Deployment
Before copying a JSF portlet "thin" WAR artifact to $LIFERAY_HOME/deploy, the dependencies that are traditionally embedded in WEB-INF/lib must instead be copied to $LIFERAY_HOME/osgi/modules. You can visit the home page of liferayfaces.org in order to learn which versions are correct for your project. Consider the following examples:
Example#1: Liferay CE/DXP 7.4 / Portlet 3.0 / JSF 2.3
- com.liferay.faces.alloy-4.1.1.jar
- com.liferay.faces.bridge.api-6.0.0.jar
- com.liferay.faces.bridge.ext-8.0.0.jar
- com.liferay.faces.bridge.impl-6.0.0.jar
- com.liferay.faces.jpa-1.0.0.jar (Required by PrimeFaces 11)
- com.liferay.faces.portal-6.0.0.jar
- com.liferay.faces.util-4.0.0.jar
- groovy-all-2.4.4.jar (Required by Mojarra 2.3)
- javax.faces-2.3.9.jar (Mojarra 2.3 uber-jar)
- primefaces-11.0.0.jar
Example#2: Liferay CE/DXP 7.4 / Portlet 3.0 / JSF 2.2
- com.liferay.faces.alloy-4.1.1.jar
- com.liferay.faces.bridge.api-5.0.0.jar
- com.liferay.faces.bridge.ext-7.0.0.jar
- com.liferay.faces.bridge.impl-5.0.0.jar
- com.liferay.faces.jpa-1.0.0.jar (Required by PrimeFaces 11)
- com.liferay.faces.portal-5.0.0.jar
- com.liferay.faces.util-3.4.1.jar
- javax.faces-2.2.20.jar (Mojarra 2.2 uber-jar)
- primefaces-11.0.0.jar
For more information about these deployment options, please refer to my previous blog post titled Archetypes for "thin" JSF portlet WAR artifacts (with optional OSGi+CDI Integration) now available.
Support for CDI
When building a project that was generated from a Maven
archetype, you can also specify -p cdi
in order to
build the resulting WAR artifact for use with CDI. Thanks to
Liferay's support for OSGi+CDI
Integration, JSF portlets can take advantage of
@Inject
and other CDI features. For more information, you
can refer the aforementioned blog post. Finally, Chapter
7 of the JSR 378 Specification has lots of new CDI features that
developers can use like the new @BridgeRequestScoped
annotation and alternative producers.
Released Artifacts
Artifact | Comments |
---|---|
com.liferay.faces.adf.base-12.2.1-jar | Release Notes |
com.liferay.faces.alloy-3.1.1.jar | Release Notes |
com.liferay.faces.alloy-4.1.1.jar | Release Notes |
com.liferay.faces.archetypes-5.1.1 | N/A |
com.liferay.faces.archetypes-6.1.1 | N/A |
com.liferay.faces.archetypes-7.0.0 | N/A |
com.liferay.faces.archetypes-8.0.0 | N/A |
com.liferay.faces.bridge.api-4.3.0.jar | Release Notes |
com.liferay.faces.bridge.api-5.0.0.jar | Release Notes |
com.liferay.faces.bridge.api-6.0.0.jar | Release Notes |
com.liferay.faces.bridge.ext-5.1.1.jar | Release Notes |
com.liferay.faces.bridge.ext-6.1.1.jar | Release Notes |
com.liferay.faces.bridge.ext-7.0.0.jar | Release Notes |
com.liferay.faces.bridge.ext-8.0.0.jar | Release Notes |
com.liferay.faces.bridge.impl-4.3.0.jar | Release Notes |
com.liferay.faces.bridge.impl-5.0.0.jar | Release Notes |
com.liferay.faces.bridge.impl-6.0.0.jar | Release Notes |
com.liferay.faces.jpa-1.0.0.jar | Release
Notes FACES-3636: Only required when deploying PrimeFaces 11 as an OSGi module. |
com.liferay.faces.portal-3.1.1.jar | Release Notes |
com.liferay.faces.portal-4.1.1.jar | Release Notes |
com.liferay.faces.portal-5.0.0.jar | Release Notes |
com.liferay.faces.portal-6.0.0.jar | Release Notes |
com.liferay.faces.util-3.4.1.jar | Release Notes |
com.liferay.faces.util-4.0.0.jar | Release Notes |
Again, you can visit the home page of liferayfaces.org in order to learn which versions are right for your project or to generate a new project from one of the Maven archetypes.
Thank You
Many thanks to all of our faithful customers and community members for their patience and support!