Liferay Portal 7.4 GA3 and Liferay Commerce 4.0 GA3 Release

We are pleased to announce the release of Liferay Portal 7.4 GA3 and Liferay Commerce 4.0 GA3!

Download options

Liferay Portal and Liferay Commerce share the same Bundle and Docker image.  To get started using either Liferay Portal or Liferay Commerce, choose the best download option suited for your environment below.

Docker image

To use Liferay Portal 7.4 GA3 and Liferay Commerce 4.0 GA3 run the following:

docker run -it -p 8080:8080 liferay/portal:7.4.2-ga3

For more information on using the official Liferay docker image see the liferay/portal repo on Docker Hub.

Bundles and other download options

For a binary release, please find the Liferay Portal 7.4 GA3 and Liferay Commerce 4.0 GA3 release on the download page.  For additional files (for example, the source code, or dependency libraries), visit the release page.

Dependency Management

For development using the Liferay Platform, update Liferay Workspace to use the  latest dependencies, by adding the following line to the build.gradle file:

dependencies {
   compileOnly group: "com.liferay.portal", name: "release.portal.api"
}

All portal dependencies are now defined with a single declaration. When using an IDE such as Eclipse or IntelliJ all apis are immediately available in autocomplete for immediate use.  

By setting a product info key property it will be possible to update all dependencies to a new version by updating the liferay.workspace.product property in the liferay workspace projects gradle.property file:

liferay.workspace.product = portal-7.4-ga3

When using an IDE such as Eclipse or IntelliJ all apis are immediately available in autocomplete for immediate use.

Liferay Commerce Features

Display Page Preferences

Admins now have full control over display pages for different categories. Set the default page or opt out and choose which pages you want to use for specific products or categories.

Map Product Information Into Fragments

Just like with content, documents, and other assets, practitioners can now map and insert product information into page fragments. 

Product Visibility Management

Now use either the admin interface or API to configure product visibility rules.

Liferay Portal Features

Experience Management

Integration with automatic translation service for web content

In order to help translators in their translation process, we have integrated with Google Translator service for web contents. Now translators will be able to take advantage of this service to accelerate the translation process so they can focus on reviewing the result provided.

Translators can perform a full auto-translation of all the web content fields or translate just specific fields, for example in case of needing to update just part of it. LPS-117996

Select asset library vocabularies defined in the Category Navigation Widget

Now it is possible to select vocabularies and categories stored in Asset Libraries within the Category Navigation Widget so users can later on select them to filter the content shown. LPS-132363

Page Audit based on PageSpeed

Content authors are concerned about their content to have adequate visibility in search engines, so they can reach the right audiences. To ensure that a page is optimized for search engine indexing and visibility, it is necessary to check the page's compliance with best practices in terms of accessibility, search engine metadata and SEO. Page audit allows users to make a quick check of that compliance and get warnings and tips to improve each one of the categories.

To set up the feature, it is only needed an API Key from Google PageSpeed Insights that can be obtained for free here.

Once the API Key is configured, users can launch a Page Audit of any public page on their sites by opening the panel and hitting “Launch Audit” or the reload icon. Each language version of the page can be audited separately.

The checkpoints encompass Accessibility and SEO issues. The checked issues include the following: Low contrast ratio, Missing img-alt attributes, Missing input-alt attributes, Incorrect image aspect ratios, Missing meta-description, Link texts, Page blocked from indexing, Invalid hreflang, Invalid canonical URL, Illegible font sizes, Small tap targets, Missing <title> element, Uncrawlable links

All the issues have a detail view with the description, tips to fix and direct links to the places where issues can be fixed, if possible.

Private pages, local-run sites pages and under-login pages cannot be audited, as they’re not crawl-able.  

LPS-111803, LPS-128382, LPS-128081 

Digital Operations

Enabling Automated Live Chat Systems 

Liferay now offers integration with a number of live support chat platforms.


 

Click to chat adds a familiar chat window to sites on Liferay’s instance and can be used to improve support and site experience for users.

For more information on how to access and use Click to Chat access Enabling Automated Live Chat Systems’s Documentation.

Enabling DocuSign Digital Signature 

Liferay now offers integration between DocuSign and Liferay’s portal. 

DocuSign is a software that manages documents to be signed electronically, it helps the management and collection of signatures on documents. 

For more information access Enabling Docusign Digital Signature’s Documentation.  

Forms

  1. Extension point for conditions in Forms Rules

  2. Extension point for validations

  3. New hide field property

  4. New field setting to customize required error message

  5. Masks for integer numeric types

Platform Improvements

Application Security

Core Infra Util

  • HashMapBuilder & HashMapDictionaryBuilder API to putAll a dictionary (as a Developer)

    • This feature exists to spare devs from converting dictionaries to/from map.

    • In our code base, we have quite a few places that use legacy java dictionaries because of OSGi, many of them require conversion to/from java map. Creating an unified api would help reduce manual conversion burden.

    • Devs would simply call the api to generate Map from dictionary, or dictionary from map.

Story: https://issues.liferay.com/browse/LPS-132251

OpenID Connect improvements

  • OpenID Connect requests go through the configured proxy

    • The OpenID Connect requests did not go through proxy which was a product limitation. We implemented that by using the configured proxy system properties.

Story: https://issues.liferay.com/browse/LPS-134144

There is no special documentation needed. See the description of the story for usage.

SAML improvements (DXP-only)

  • Making it possible to configure UUID to sync users with an IdP (as an Instance Administrator). Additional features:

    • SAML assertion attribute mapping to screenName even if it differs from NameID (as an Instance Administrator)

    • Better configuration of the SAML adapter to create and update users in the portal user database using info from SAML assertion (as an Instance Administrator)
       

  • This feature exists to:

    • Embrace the SAML spec's intention for the various NameId Formats. Especially "persistent".

    • Allow the IDP to send different NameIDs / formats at different times, for the same SP user. The alternative would be to fail the SSO attempt, because the SAML spec does not state that a user should only be identifiable by one NameId!

    • Maintain such identifiers in the context of the SP + IDP relationship. This will hereafter be described as a "binding".

    • Allow to nominate a SAML assertion attribute to be used for matching users more globally. This means the admin can configure the name of the expected attribute and what SP user related field it should be matched with to log in a user.

    • Maintain full backwards compatibility for DXP customers. Meaning the existing behavior is maintained until they decide to re-configure their SAML integrations, and we do not hijack the SP user's UUID field for a different purpose than what they may currently have for it.

    • Control better the model the scope & tracking of identifiers used for matching SP users.

    • Improve this situation by "binding" a NameId to a SP user after the "emailAddress" is matched at least once. It was a recurrent feedback that when "emailAddress" is used, then when the user's email address gets changed on the IDP, this breaks SSO for the user. Now the bindings are always preferred/checked before user matching is conducted, so the user will keep its ability to log in. Additionally the “emailAddress2 can then be automatically corrected via SAML attribute mappings (if desirable).

Stories:

Get rid of saml-hook (as an Instance Administrator)

  • We want to remove legacy frameworks from saml modules. This particular one is about removing saml-hook.

Story: https://issues.liferay.com/browse/LPS-88439

Audit log improvements (DXP-only)

  • Audit info in the regular log entries and Configure that if the audit info is written to the regular log entries (as a System Administrator)

    • In SaaS environment, the current log framework can not differentiate logs of one instance from those of others. In fact, even if we have only one instance of Liferay, it gets difficult to tell logs of one request from those of others if there are multiple requests incoming in a short amount of period. With these feature, it should be easy to tell logs of certain request/instance.

    • It is needed for Portal admins and developers who need to debug.

    • It is solve the difficulty to tell logs.

Stories:

Headless APIs

Expose versions and create drafts of structured contents from APIs

Now it is possible to access the different versions of a structured content as well as delete specific versions. Additionally, we have added the possibility to create draft versions with a dedicated endpoint. LPS-98647

Documentation

All documentation for Liferay Portal and Liferay Commerce can now be found on our documentation site: learn.liferay.com.  For more information on upgrading to Liferay Portal 7.4 GA3 see refer to the Upgrade Overview.

Compatibility Matrix

Liferay's general policy is to test Liferay Portal and Liferay Commerce  against newer major releases of operating systems, open source app servers, browsers, and open source databases (we regularly update the bundled upstream libraries to fix bugs or take advantage of new features in the open source we depend on). 

Liferay Portal 7.4 GA3 and Liferay Commerce 4.0 GA3 were tested extensively for use with the following Application/Database Servers: 

Application Server

  • Tomcat 9.0

  • Wildfly 17.0

Database

  • HSQLDB 2 (only for demonstration, development, and testing)

  • MySQL 5.7, 8.0

  • MariaDB 10.2, 10.4

  • PostgreSQL 12.x, 13.x

JDK

  • IBM J9 JDK 8

  • Oracle JDK 8

  • Oracle JDK 11

  • All Java Technical Compatibility Kit (TCK) compliant builds of Java 11 and Java 8

Source Code

Source is available as a zip archive on the release page, or on its home on GitHub. If you're interested in contributing, take a look at our contribution page.

Bug Reporting

If you believe you have encountered a bug in the new release you can report your issue by following the bug reporting instructions.

Getting Support

Support is provided by our awesome community. Please visit helping a developer page for more details on how you can receive support.

Fixes and Known Issues

4
Blogs

Hi,

was it intentionally, that the liferay/portal:7.4.2-ga3 Docker Image has been **replaced** by a new release with identical tag on Sept. 20th ? And that it contains a **major change** like using Ubuntu instead of Alpine Linux now, which may indeed be also a **breaking change** ? Shouldn't any 'release' stay as it is, as soon as it is out in the public world? And shoudn't **any** subsequent changes require a new release version/tag?

Hi Dirk,

The tags without a timestamps are equivilant to 'latest' for that particular version.  If you need a immutable version please pick one with the timestamp in the version.

Thanks,

Dave