Blogs
We are happy to announce the release of Liferay Portal 7.3 CE GA3!

Docker
Official images can be found on Docker Hub and can be used for deployments on any system that is running Docker. For more information on configuration options for the image see the overview page. To get started with docker run the following:
docker run -it -p 8080:8080 liferay/portal:7.3.2-ga3
Download
You can find the 7.3 release on the download page. If you need additional files (for example, the source code, or dependency libraries), visit the release page.
Dependency Management
All 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. Update the projects build.gradle file to contain the following:
dependencies { compileOnly group: "com.liferay.portal", name: "release.portal.api", version: "7.3.2-ga3" }
New Features
Experience Management
We are continuing to empower designers and marketers to create user-friendly, beautiful and engaging experiences, without code, freeing developers to focus on advanced interactive experiences through modern front-end tooling and APIs. Here are some of the new features you can find in this release.
NOTE: We have renamed “Content Set” as “Collections” in the Site Building menu. We decided to generalize the concept to collections defined programmatically by a developer called “Collection Providers”. That’s additional flexibility to create specific collections and group assets with more advanced criteria.
LPS-113660 Support drop zones in fragments so that page creators can add any fragment or widget inside
Currently fragment developers can create fragments with HTML, CSS and JavaScript, and also embed specific widgets inside a fragment. However, in some cases more flexibility is desired since it's not always possible to predict which fragments (or widgets) will be the needed inside a given fragment.
Thanks to this new feature, it’s now possible to define a zone inside any fragment, allowing more composition options for both developers and business users. A fragment developer can extend the functionality of their fragment by defining a certain space within it, which acts as a drop zone. In this zone, the non-technical users (Marketers/UX Designer) could include any existing fragment or widget.
For example, a developer that provided a carousel fragment that was initially designed to uniquely show images could recycle it to allow business users to drop additional elements of their choice like text, buttons, and more.
Thanks to “drop zones” it will be possible to create advanced fragments such as a tabbed component with different content in each tab, a carousel with similar flexibility, a fragment that opens a pop-up, etc.
This feature fits into the overarching theme of empowering developers to empower non-technical/business users.
LPS-101065 Allow the creation of fragments as a composition of other fragments so that page creators have a higher degree of freedom to customize them
To empower business users with the ability to customize fragments added to a page, developers can use editable elements as well as fragment configuration properties. However, sometimes page creators need to make additional changes to the provided fragments, especially when they are large and/or complex.
This feature is solving this, by empowering developers to provide a higher degree of freedom for users to customize fragments where necessary. Thanks to the “fragment compositions” capability, when a page creator adds a composition of fragments to a page, each of the fragments in the composition can be handled independently keeping the freedom to configure, move, delete and add any of them.
LPS-108511 Save a composition of fragments created within the page editor
The page editor allows non-technical users to create and configure rich composition fragments including content, media, interactive elements, letting them create displays exactly the way they want.
But now users can also save them!
Thanks to that, page creators will be contributing to the effort to offer a consistent experience across sites and pages by being able to re-use multiple times their compositions. The saving fragment option is available to any layout elements.
LPS-98699 Allow Marketers to display a Collection in a Page by controlling how the items of the collection should be displayed
This feature introduces a new way to display collections on pages for users having no coding experience.
“Collection Display” is the name of the new fragment that provides an intuitive and user-friendly way for page creators to visually display a collection. The recommended way to publish lists of content until now was the Asset Publisher widget, which is very flexible but requires more technical knowledge to configure or customize how the list is displayed. With the new “Collection Display” fragment, non-technical users can pick fragments and apply them to the full list of items in the collection automatically. For example, this could be used for fine tuning the display of collections made from pages, blog posts, categories, authors, clients, projects, and so on. For eCommerce projects, a marketer could visually customize the display of collections by dragging and dropping fragments to the product collection.
Users will be able to get all the advantages of fragments and modern site building and make collections look exactly the way they want!
In addition to that, we also support collections created programmatically called “Collection Providers”. That’s additional flexibility to create specific collections and group assets with more advanced criteria. For example, a developer could create a “collection provider” for the top 5 most purchased products and make this list available for a Marketer to display it the way they want.
Finally, “Content Display” fragments can also be added to a collection. By doing so, assets get linked automatically, giving the possibility to display them with a specific template.
LPS-98582 Facilitate the development of Fragments to display a Collection
The new Collection Display fragment is very flexible, but we want developers building solutions on top of Liferay to have even more flexibility. To that end we have made it possible for developers to create their own custom fragments to display collections, having full flexibility on how it is displayed using HTML, CSS and JavaScript. All while providing a simple and known user experience to non-technical page creators who would just choose a collection in the same way as it’s chosen for Collection Display.
The fragment developer can specify which type of list items are supported by the fragment. The fragment code can know which fields will be available in each content of the collection. It's worth noting that while this is clearly useful in the context of displaying "Content", these fragments will be capable of displaying any type of information (represented through a Java class), not just content.
LPS-103755 Simplify styling of editables by defining them with data-* attributes
Fragment developers can include editable elements within the fragments to allow page creators to edit the value and enter text, rich text or images (directly or through a mapping). These editable elements are created with the <lfr-editable> tag which when presenting the final page to an end user is converted into a <div> tag. As fragment and theme developers have started leveraging this feature in more and more advanced ways, we’ve noticed that the <div> tag is not always desirable and it also creates a small inconsistency between the markup in the edit mode and the view mode, that needs to be taken into account by CSS developers.
To solve these challenges, we have introduced a new markup to define editable elements. Fragment developers can now use HTML data attributes as in the following examples for an image and a link editable:
<img src="placeholder.jpg" alt="Placeholder" data-lfr-editable-id="img1" data-lfr-editable-type="image"> <a href="#placeholder" target="_blank" data-lfr-editable-id="link1" data-lfr-editable-type="link"> Go to placeholder </a>
The <lfr-editable> tags are still available and can even be used in combination with the new way. We plan to keep support for both forever, to ensure existing fragments never break. However we now recommend using data-* attributes to avoid the styling issues derived from the automatically added <div> tag.
LPS-111156 Adjust the page structure tree style
The page structure tree of the page editor now adheres to the styles and colors by Lexicon and Clay so that it integrates well visually. This change aims to improve the user experience keeping a consistent design to page editor panels.
LPS-109350 Default home page created as a content page
When starting a new site a default home page is created based on a widget template. But as we are moving toward fragments and modern site building we wanted to offer users to start with a home page created with a content page as a default home page. Hence the user will benefit from new features introduced with the fragments capabilities from the early beginning.
LPS-101738 URL redirection management for pages
This new application allows site admins to create redirections from URLs of the site to any valid URL. With this, it will be possible to react really fast to changes in the site without causing users or search engines to not find the content they’re looking for. The new application supports temporary and permanent redirections, as well as setting an expiration date for the redirection to stop taking effect.
LPS-110952 404 URLs list
Complementing the redirection application, we are including a list of URLs that the users tried to access the site and end up in a 404 error. Site admins will be able to create redirections from them, streamlining the process and in the end, helping users to find the content they are looking for.
LPS-98176 Localized history of friendlyURLs for pages
Now Liferay keeps track of all the friendly URLs used for pages for all the languages, automatically redirecting users to the latest URL for the language they are accessing. ()
Platform Improvements
LPS-11068 API explorer
The API explorer is a new web application that allows developers to check the available APIs, their documentation and also perform queries to test their apps during development. It allows to explore all the REST applications and its endpoints. To access, log in the portal and then go to {myportalURL}/o/api.
It includes a GraphQL client as well, so a developer will be able to define and test their query before including it in the application, accelerating the development.
LPS-109474 Add or update all translations of localized content in a single request
All translations can now be added or updated in the headless APIs using the new set of properties added to localized elements. Every localized property, for example “title”, has an equivalent property that supports multiple values for the translations, “title_i18n”. For scenarios where it is important to maximize the performance, being able to create a content with all the translations in the same request can drastically reduce the number of requests needed.
LPS-103446 Expose actions in GraphQL
In a similar way as we’re doing for the REST APIs, adding the property “actions” to the request will retrieve the queries and mutations the user performing the request is allowed to. With this feature, frontend developers will be able to create apps with dynamic action menus, showing the user only what they can perform, instead of waiting for the server to return permissions errors.
LPS-106981 Improved error management in GraphQL
Now, if the request is trying to retrieve elements that are not available, the server will a 404 error, instead of a 500 http code.
Documentation
All documentation for Liferay Portal/DXP 7.2 and above can now be found on our new documentation site called learn.liferay.com. For more information on our new documentation initiative see the official announcement here.
Compatibility Matrix
Liferay's general policy is to test Liferay Portal CE 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).
Nothing has been removed from the matrix, however a couple things have changed. Liferay Portal 7.3 CE was tested extensively for use with the following Application/Database Servers:
Application Server
-
Tomcat 9.0
-
Wildfly 16.0 (Previously 11.0)
Database
-
HSQLDB 2 (only for demonstration, development, and testing)
-
MySQL 5.7, 8.0
-
MariaDB 10.2
-
PostgreSQL 11.2 (Previously 10)
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
Liferay Portal CE's 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 found on the Liferay Portal CE site.
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
Kudos
A special thanks goes out to our Engineering, QA and Release teams who helped make this release a reality. Also thank you to everyone in our community who spent many hours reporting bugs and providing feedback on new features that made it into this release.