Kaleo Forms was already in maintenance mode. It is now being moved to deprecated, so it can be removed at the same time as DDL in about a year. This solution is being replaced by Objects, Workflow, and Form Container Fragments.
Release Notes
Kaleo Forms was already in maintenance mode. It is now being moved to deprecated, so it can be removed at the same time as DDL in about a year. This solution is being replaced by Objects, Workflow, and Form Container Fragments.
In order to allow developers to exclude directories from the build, a new property has been added: liferay.workspace.dir.excludes.globs=
These modules are obsolete ones and are no longer being used. They have been moved to deprecate and later it will be removed.
We introduced a new feature to streamline workflows with 1:1 relationships between objects! Now, users can create and update nested objects directly from the primary object's CRUD views, and enjoy seamless delete and view operations translated from the Data Set Manager (DSM). This update makes managing data smoother and more efficient.
Add changeTrackingEnabled to the standard rest-config.yaml
so that services must specify Publications support. This will simplify the process of enabling change tracking for future Headless APIs.
Data Migration Center users should be sufficiently notified if actions can only be made in Production, since DMC does not support Publications yet. |
Some upgrade processes may not consider the ctColectionId
column which may generate inconsistencies for customers using Publications, especially for older versions.
Aiming to provide a better way to manage Object entries, now Display Pages allow the creation of Object Edit experiences, using Forms Container and Fragments.
When using a Form Container in a Display Page, submitting it will now update the object entry being displayed.
This, combined with the possibility to use multiple display pages at the same time, and the new “Save as Draft” option for objects, enable a whole new set of possibilities for customers, such as creating multi-step processes out of the box.
Now we prevent content creators from generating page conflicts and errors by automatically locking pages when they are opened in Edit Mode, not allowing other users edit it at the same time. Beside that, a recurrent process reviews all locked pages to unblock them automatically if no activity is registered. Administrators can also unlock them manually if it’s needed.
The old import modal for Fragments and Page Templates is substituted by a new special import page, a new page with the import outcomes is added with the results of the process and last, but not least, the user is provided more import options for a better management of the already existing files: Overwrite Existing Entries, Overwrite Existing Items, Keep Both. A WARNINGS label is added as well to the fragments that were imported with warnings and that could cause malfunctions.
Apart from exposing information in tables, with the Data Set Manager now admins will be able to define actions linked to each of the elements of the data set. For each action:
Admins can define filters to make them available for end users visiting pages with the dataset fragment. There are 3 types of filters available:
With the Data Migration Center, users can export and import, in a very easy way, Objects entries and Objects definitions from one instance to another using JSON files. The actions executed can be consulted later in a list when you can download the files generated every time is needed.
In the portal, Site Administrators are able to create different User Experiences for Pages. Publications can publish these Experiences. However it can be confusing for Publication Reviewers that they can not review changes introduced in all the Experiences, which are going to be published. Here we added the ability to Publication Reviewers to view changes added in all the Experiences which are going to be published.
Blueprints are referenced by their ERCs under-the-hood in the Blueprints Options widget and the Low-Level Search Options widget also supports a new attribute called search.experiences.blueprint.external.reference.code
as the recommended way to configure a blueprint (preferred over the old attribute search.experiences.blueprint.id). In addition to that, when moving blueprints or elements between different environments using for example the Batch Client Extensions, entries will preserve their ERCs making portability easier. This way, when for example a search page is imported from a LAR, the Blueprints Options and Low-Level Search Options widget configurations can continue working thanks to the association being achieved via the ERC of the blueprint and not via its ID or other identifier that may be different on the new environment.
Lastly, users can now access and edit the ERC of blueprints and elements directly from the editors.
When users access a site in a language different from their user profile language, the following Information message is shown:
Now administrators can configure if this message will show up or not from System or Instance. Go to Instance Settings > Pages > Friendly URL Redirection and check/uncheck the “Show Alternative Layout Friendly URL Message” option for the appropriate value.
Liferay Portal 7.4 CE GA101+ and Liferay DXP 7.4 Update 101+ and Liferay DXP 2024.Q1 are bundled with Elasticsearch 7.17.14
as the Sidecar server.
In addition, the Elasticsearch client libraries have also been upgraded to 7.17.14
. Refer to the Breaking Changes notes below for more details how this may impact deployments.
This feature adds read-only support for all object fields types, making sure users are not able to update those fields from both the UI or APIs, only the system can through default values or actions for example.
Users can configure their fields between 3 options, read-only true, false, or conditional.
Read-only fields must be supported in views and layouts, in the layouts those read-only fields must be not editable.
Liferay AB Testing capabilities now helps customers save time by reassigning the traffic split based on the running test results. The dynamic traffic allocation ensures that the estimated winner variation gets more traffic, optimizing conversion in highly time-sensitive situations.
Because WebDAV appears to be the only viable solution for remote documents access/editing for the moment and there is customer demand. WebDAV supports HTTP Basic and Digest auth. The latter requires us to store insecure hashes, because of protocol specifics.
Because we cannot change that nor remove WebDAV support, we will reduce the impact of a successful attack instead.
This is achieved by creating a separate strong password for Digest auth.
We achieve the “strong” characteristic through only allowing generation of passwords, based on UUIDs. This means when the hash is produced, it will also be stronger also, though not perfect.
To help users enrich their content, Liferay provides a new LXC service to serve videos to a wide audience out of the box. Content creators will be able to upload videos directly to Liferay and the new service will take care of generating different versions with several resolutions to adapt to user’s connection capabilities, together with automatic subtitles and AI powered auto-tagging based on the video content. Content creators will also be able to add manual subtitles to the videos in case the automatic ones don't fit the need.
LXC now provides anomaly detection to identify disruptions in the expected website traffic.
Anomalies in traffic volume are detected through a comparison with historical data, taking into account seasonality. Users can also create alerts based on custom events and schedule notifications when thresholds in metrics are exceeded.
This feature empowers users to create content use cases on top of objects framework, allowing admins to enable localization for objects' entries text fields.
The list of working in progress for Publishing features can be found at Publications update 2023/06/13. We have improved performance, while also making the wiki pages change tracked. It has also been implemented a mechanism to remove publications that are more than 6 months old.
Provide users with a simple and effective way to view, access, and manage the Knowledge Base folder hierarchy. It is included:
Improved navigation through the different tabs and pages in Knowledge Base in the manage toolbar, sidebar search, sidebar primary button, priority and general interactions.
Now Content Editors can easily find the documents they are looking for thanks to the new filters added to Documents & Media.
Three (3) new filters have been added: categories, tags and extensions.
Ability to set expiration and review dates for articles, and to view which articles are pending expiration.
We have made the organization’s addresses, phone numbers and email addresses changes tracked. These can be added to a Publication from now on.
Page listing the version history of a document to help managing different version.
Priority icons to MB CSS are added to avoid to force enabling font awesome in the whole portal.
Table View is displayed in the Knowledge Base.
Now, developers will be able to filter Custom Object Entries using the field values of the related elements for a given Object entry.
It is possible to filter as many levels as needed. The format of the filter query needs to be: relationshipName1
[/relationshipName(i)]*
/fieldNameN
. Being relationshipName1
, relationshipName(i), etc
the different relationship names that join Object 1
with Object i
, and fieldNameN
being the name of the field of the latest Object definition on which the user wants to filter.
In addition to this, our nesting capabilities have been enhanced, so now it is possible to retrieve data for an Object entry and its related elements, supporting several levels of nesting.
The names of the different relationships to retrieve need to be specified in the nestedFields
parameter, separated by commas. Additionally, the nestedFieldsDepth
parameter with the number of levels to retrieve needs to be specified in order to indicate to Liferay how many levels it is necessary to nest.
It has extended the support for External Reference Code to other Liferay entities in version 7.4. With this new parameter, users will be able to access, create, update and delete various entities by simply specifying the scopeKey
and the external reference code.
This External Reference Code is a custom identifier, which means that at the creation time it can be set, helping to migrate entities from one environment to another while keeping this External Reference Code the same across environments. You can check the available endpoints to be accessed by External Reference Code in the API explorer.
This new frontend client extension allows users to replace the existing theme spritemap without the need to redeploy a theme. The spritemap should include all icons needed for the scope where it is used.
The Control Panel still uses the admin spritemap.
After registering the client extension, in the page template or page you need to use it, configure it from the design options menu:
To enable this client extension, do it from the Feature Flags management UI:
With this new front-end client extension users will be able to add an entry to the global import map.
This can be used to share code between decoupled client extensions that are freed from the need to know the deployment URL of the code at build time. For example, this will allow you to share your library or framework of choice among all your front-end client extensions:
For a script to consume the JavaScript module referred to by the import map entry, it needs to be of type=module
.
In order to help developers to understand how to use this client extension, a sample has been provided: https://github.com/liferay/liferay-portal/tree/master/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-etc-frontend-2
This feature allows developers to create or update an object and its related elements in a single request, optimizing the requests performed to the server, thus improving the overall performance of your solution.
Provided the necessary data for the related elements (ExternalReferenceCode
, Id
, etc), if the element already exists, it will relate the two objects, if the related element does not exist, it will create the object and it will relate them.
It is also possible to remove related elements by just updating the parent without the elements that are not related anymore.
Liferay Portal 7.4 CE GA88, Liferay DXP 7.4 Update 88 bundled with the latest available version of Elasticsearch 7.x for Sidecar (7.17.12
, as of Aug 7, 2023).
Automatically register a collection provider for each search blueprint. By displaying the blueprint's results in a collection display fragment, you can leverage search to return your assets dynamically, and reap the benefits of the fragments toolbox to lay out the page.
Search the company index for matching content through a single endpoint and build custom search experiences. Supports facets with translated display terms and also custom searching, filtering, aggregation and sorting through Search Blueprints (DXP ONLY)