Understanding the Liferay Faces Version Scheme

In this tutorial, you’ll explore the Liferay Faces versioning scheme, and what each component of a version means. For Liferay Portal 6.2, there are two supported version schemes. The first “older” version scheme is supported from previous Liferay versions up to Liferay Portal 6.2. This version scheme is supported by all Liferay Faces releases up to Liferay Faces GA6.

The newer version scheme is supported for Liferay 6.2 and all future releases of Liferay Portal. Any Liferay Faces release after Liferay Faces GA6 will follow the newer version scheme.

You’ll learn about the version scheme supported for Liferay Faces releases after GA6 first.

Liferay Faces Version Scheme for Releases After Liferay Faces GA6

In this section, you’ll learn about the versioning scheme for each component of Liferay Faces for releases following Liferay Faces GA6. Once you have the versioning scheme mastered, you can view several example configurations.

Liferay Faces Alloy

Provides a suite of JSF components that utilize AlloyUI.

Branch Example Artifact AlloyUI JSF API Additional Info
master (3.0.x) com.liferay.faces.alloy-3.0.0.jar 3.0.x 2.2+ AlloyUI 3.0.x is the version that comes bundled with Liferay Portal 7.0.
2.0.x com.liferay.faces.alloy-2.0.0.jar 2.0.x 2.1+ AlloyUI 2.0.x is the version that comes bundled with Liferay Portal 6.2.
1.0.x com.liferay.faces.alloy-1.0.0.jar 2.0.x 1.2 AlloyUI 2.0.x is the version that comes bundled with Liferay Portal 6.2.

Liferay Faces Bridge

Provides the ability to deploy JSF web applications as portlets within Apache Pluto, the reference implementation for JSR 286 (Portlet 2.0) and JSR 362 (Portlet 3.0).

Branch Example Artifacts Portlet API JSF API JCP Specification Additional Info
API: master (5.0.x)
IMPL: 5.0.x
com.liferay.faces.bridge.api-5.0.0.jar
com.liferay.faces.bridge.impl-5.0.0.jar
3.0 2.2 JSR 378 The Expert Group began work in September 2015 and the Specification is currently under development.
API: 4.0.x
IMPL: 4.0.x
com.liferay.faces.bridge.api-4.0.0.jar
com.liferay.faces.bridge.impl-4.0.0.jar
2.0 2.2 JSR 329 Includes non-standard bridge extensions for JSF 2.2.
API: 3.0.x
IMPL: 3.0.x
com.liferay.faces.bridge.api-3.0.0.jar
com.liferay.faces.bridge.impl-3.0.0.jar
2.0 2.1 JSR 329 Includes non-standard bridge extensions for JSF 2.1.
API: 2.0.x
IMPL: 2.0.x
com.liferay.faces.bridge.api-2.0.0.jar
com.liferay.faces.bridge.impl-2.0.0.jar
2.0 1.2 JSR 329 (MR1) Includes support for Maintenance Release 1 (MR1).
1.0.x N/A 1.0 1.2 JSR 301 N/A (Not Applicable) since Liferay Faces Bridge has never implemented JSR 301.

Liferay Faces Bridge Ext

Extension to Liferay Faces Bridge that provides compatibility with Liferay Portal and also takes advantage of Liferay-specific features such as friendly URLs.

Branch Example Artifact   Liferay Portal API     Bridge API     Portlet API   JSF API
6.0.x (planned) com.liferay.faces.bridge.ext-6.0.0.jar Future 5.0.x 3.0 2.2
master (5.0.x) com.liferay.faces.bridge.ext-5.0.0.jar 7.0.x 4.0.x 2.0 2.2
4.0.x RESERVED N/A N/A N/A N/A
3.0.x com.liferay.faces.bridge.ext-3.0.0.jar 6.2.x 4.0.x 2.0 2.2
2.0.x com.liferay.faces.bridge.ext-2.0.0.jar 6.2.x 3.0.x 2.0 2.1
1.0.x com.liferay.faces.bridge.ext-1.0.0.jar 6.2.x 2.0.x 2.0 1.2

Liferay Faces Metal

Provides a suite of JSF components that utilize metal.js.

Branch Example Artifact   MetalJS     JSF API   Additional Info
master (1.0.x) com.liferay.faces.metal-1.0.0.jar 1.0.x 2.2+ Metal.js 1.0.x is the version that comes bundled with Liferay Portal 7.0.

Liferay Faces Portal

Provides a suite of JSF components that are based on the JSP tags provided by Liferay Portal.

Branch Example Artifact Liferay Portal API     JSF API
master (3.0.x) com.liferay.faces.portal-3.0.0.jar 7.0.x 2.2+
2.0.x com.liferay.faces.portal-2.0.0.jar 6.2.x 2.1+
1.0.x com.liferay.faces.portal-1.0.0.jar 6.2.x 1.2

Liferay Faces Util

Library that contains general purpose JSF utilities to support many of the sub-projects that comprise Liferay Faces.

Branch Example Artifact   JSF API
master (3.0.x) com.liferay.faces.util-3.0.0.jar 2.2
2.0.x com.liferay.faces.util-2.0.0.jar 2.1
1.0.x com.liferay.faces.util-1.0.0.jar 1.2

Now that you know all about the Liferay Faces versioning scheme, you may be curious as to how these components interact with each other. Refer to the following figure to view the Liferay Faces dependency diagram.

liferay-faces-dependency-diagram.png

Figure 1: The Liferay Faces dependency diagram helps visualize how components interact and depend on each other.

Next, you can view some example configurations to see the new versioning scheme in action.

Example Configurations

Liferay Portal 7.0: AlloyUI 3.0 / MetalJS 1.0 / Portlet 2.0 / JSF 2.2

<dependencies>
    <dependency>
       <groupId>com.liferay.faces</groupId>
       <artifactId>com.liferay.faces.alloy</artifactId>
       <version>3.0.0</version>
    </dependency>
    <dependency>
       <groupId>com.liferay.faces</groupId>
       <artifactId>com.liferay.faces.bridge.impl</artifactId>
       <version>4.0.0</version>
    </dependency>
    <dependency>
       <groupId>com.liferay.faces</groupId>
       <artifactId>com.liferay.faces.bridge.ext</artifactId>
       <version>5.0.0</version>
    </dependency>
    <dependency>
       <groupId>com.liferay.faces</groupId>
       <artifactId>com.liferay.faces.metal</artifactId>
       <version>1.0.0</version>
    </dependency>
    <dependency>
       <groupId>com.liferay.faces</groupId>
       <artifactId>com.liferay.faces.portal</artifactId>
       <version>3.0.0</version>
    </dependency>
</dependencies>

Liferay Portal 6.2: AlloyUI 2.0 / Portlet 2.0 / JSF 2.2

<dependencies>
    <dependency>
       <groupId>com.liferay.faces</groupId>
       <artifactId>com.liferay.faces.alloy</artifactId>
       <version>2.0.0</version>
    </dependency>
    <dependency>
       <groupId>com.liferay.faces</groupId>
       <artifactId>com.liferay.faces.bridge.impl</artifactId>
       <version>4.0.0</version>
    </dependency>
    <dependency>
       <groupId>com.liferay.faces</groupId>
       <artifactId>com.liferay.faces.bridge.ext</artifactId>
       <version>3.0.0</version>
    </dependency>
    <dependency>
       <groupId>com.liferay.faces</groupId>
       <artifactId>com.liferay.faces.portal</artifactId>
       <version>2.0.0</version>
    </dependency>
</dependencies>

Liferay Portal 6.2: AlloyUI 2.0 / Portlet 2.0 / JSF 2.1

<dependencies>
    <dependency>
       <groupId>com.liferay.faces</groupId>
       <artifactId>com.liferay.faces.alloy</artifactId>
       <version>2.0.0</version>
    </dependency>
    <dependency>
       <groupId>com.liferay.faces</groupId>
       <artifactId>com.liferay.faces.bridge.impl</artifactId>
       <version>3.0.0</version>
    </dependency>
    <dependency>
       <groupId>com.liferay.faces</groupId>
       <artifactId>com.liferay.faces.bridge.ext</artifactId>
       <version>2.0.0</version>
    </dependency>
    <dependency>
       <groupId>com.liferay.faces</groupId>
       <artifactId>com.liferay.faces.portal</artifactId>
       <version>2.0.0</version>
    </dependency>
</dependencies>

Apache Pluto 3.0: Portlet 3.0 / JSF 2.2

<dependencies>
    <dependency>
       <groupId>com.liferay.faces</groupId>
       <artifactId>com.liferay.faces.bridge.impl</artifactId>
       <version>5.0.0</version>
    </dependency>
</dependencies>

Liferay Faces Version Scheme for Releases Up to Liferay Faces GA6

Liferay Faces follows a Major1.Major2.Minor-Type versioning scheme:

Major1:

  • 1 = Portlet 1.0 Bridge for JSF 1.2 (JSR 301) (Note that Liferay Faces does not support Portlet 1.0)
  • 2 = Portlet 2.0 Bridge for JSF 1.2 (JSR 329)
  • 3 = Portlet 2.0 Bridge for JSF 2.1 (JSR TBA)
  • 4 = Portlet 2.0 Bridge for JSF 2.2 (JSR TBA)

Major2:

  • 0-legacy = Liferay 5.2
  • 0 = Liferay 6.0
  • 1 = Liferay 6.1
  • 2 = Liferay 6.2

Minor:

  • May contain bug fixes, improvements, and new features.

Type:

  • GA (General Availability)
  • RC (Release Candidate)
  • BETA (Beta Quality)
  • ALPHA (Alpha Quality)

Examples:

  • 3.1.0-ga1: First GA release for JSF 2.0/2.1 for use with Liferay 6.1.x
  • 3.1.1-ga2: Second GA release for JSF 2.0/2.1 for use with Liferay 6.1.x

The following table displays the Liferay Faces version and its compatible Liferay Portal and JSF versions:

Liferay Faces Version    JSF Version (Major1)    Liferay Portal Version (Major2)
2.1.x 1.2 6.1
3.0.x-legacy 2.1 5.2
3.0.x 2.1 6.0
3.1.x 2.1 6.1
3.2.x 2.1 6.2
4.2.x (master) 2.2 6.2

While Liferay Faces Bridge is theoretically compatible with any portal that implements the Portlet 2.0 standard, it has been carefully tested for use with Liferay Portal versions 5.2, 6.0, 6.1, and 6.2 and has several optimizations that provide increased performance on Liferay.

If you’ve developed portlets that use the PortletFaces Bridge, you’ll need to migrate them to Liferay Faces in order to deploy them using the Liferay Faces Bridge–don’t worry, it’s very straightforward.

Related Topics

Creating and Deploying JSF Portlets

Developing Liferay Faces Portlets with Maven

Using Portlet Preferences with JSF

Liferay Faces Alloy UI Components

Liferay Faces Bridge UI Components

0 (0 Votes)
Understanding Liferay Faces Alloy Previous