What is Liferay Faces and its connection to JSF (Java Server Faces)

1.3k views Asked by At

Can Anyone please put some light on Liferay Faces and JSF connection. Like I am not able to understand the role of Liferay faces in following scenario.

JSF       ----> Model View Controller
Spring    ----> Dependency Injection
Hibernate ----> ORM
Liferay Faces  ----> ?????
3

There are 3 answers

1
AurA On BEST ANSWER

Liferay is a very popular Java based CMS liferay faces are extension build on top of JSF like primefaces.

Read more about Liferay Faces here

You can view the demos at http://www.liferay.com/community/liferay-projects/liferay-faces/demos

1
Navdeep Singh On

As stated on their main product page:

What is Liferay Faces?

Liferay Faces is an umbrella project that provides support for the JavaServerâ„¢ Faces (JSF) standard within Liferay Portal.

Its Modules:

Liferay Faces Alloy The Liferay Faces Alloy sub-project provides a suite of JSF UI components that utilize Alloy UI.

Liferay Faces Bridge The Liferay Faces Bridge sub-project is a portlet bridge for JSF which provides the ability to deploy JSF web applications as portlets within Liferay Portal.

Liferay Faces Portal The Liferay Faces Portal sub-project provides JSF utilities, EL keywords, and a suite of JSF UI components that are Facelet equivalents of the JSP tag libraries provided by Liferay Portal.

0
Vernon On

At the heart of Liferay Faces is something called the Liferay Faces Bridge. This bridge is an implimentation of a specification called "JSR 329: Portlet 2.0 Bridge for JavaServer Faces 1.2 Specification" and you can read about that here. Who cares about a bridge? What is a bridge? Well ...

If you write Faces applications, you may want them to just simply work in a portlet container such as the Liferay Portal without making any changes to the application. You may decide that learning how to write your application, and learning how to meet your customer's demands is enough learning and work without also having to learn about portals.

Portals are different from individual web applications in that they attempt to aggrigate and give logical access for many users to many applications on many websites, not just many to one. It is a problem of scaling. Anyway, this is where Liferay Faces can step in and help you ...

You learn go and learn JSF, you gather your customer's requirements, you write your code, and you do not need to worry too much about how your application will run on a portal. You simply add the following jars to your already functioning web application:

<dependency>
    <groupId>com.liferay.faces</groupId>
    <artifactId>com.liferay.faces.bridge.ext</artifactId>
    <version>5.0.3</version>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>com.liferay.faces</groupId>
    <artifactId>com.liferay.faces.bridge.impl</artifactId>
    <version>4.1.2</version>
    <scope>runtime</scope>
</dependency>

And now your app runs on a portal. So basically, Liferay Faces should help you by not forcing you to learn much about portal environments. The Liferay Faces Bridge maps the JSF Lifecycle to the Portlet lifecycle for you, so that you do not have to code your own mapping of the JSF phases (Restore view, Apply request values, Process validations, Update model values, Invoke application and Render response and each of their associated event handling procedures) with a portlet's phases (render, action, resource phase, and event, if any).

NOTE: Version numbers may vary. Go to https://liferayfaces.org to find the right version of jars for your portal and jsf combo.

tl;dr: Liferay Faces helps me forget having to remember a bunch of stuff about how portals work. I can just write my application, and then go to sleep at night.