You can now have access to the event’s details when selecting a calendar event and be redirected to the already existing details page of that particular event. It is also possible to map a Calendar Event’s specific URL, along with some other fields, in order to use it in emails so the recipient can click on it and be redirected to the Event’s details.
Release Notes
We're introducing advanced script loading options for JavaScript Client Extensions in Liferay, providing developers more control over how JavaScript is applied to pages. This update allows the specification of async and defer attributes directly in the extension's configuration, optimizing the loading process and improving page performance.
Benefits for users:
- Improved Page Load Performance: by setting
asyncordeferattributes, scripts can be loaded non-blocking, enhancing page responsiveness. - Enhanced Control: developers can pre-set these attributes in the YAML configuration or through the UI, ensuring scripts behave consistently across all pages without further adjustment.
- Streamlined Configuration: once set, these attributes are locked at the extension level, eliminating discrepancies and simplifying script management.
Allow developers to specify additional attributes to the <script> tag when deploying in with the JS Client Extension.
Example usage in client-extension.yaml: liferay-portal/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-global-js-2/client-extension.yaml at master · liferay/liferay-portal
scriptElementAttributes:
async: true
data-attribute: "value"
data-senna-track: "permanent"
fetchpriority: "low"
Or, developers can configure the attributes via the create Client Extension UI too:
When configuring a JS CX on a page and async/defer Boolean attributes are present in the CX (set in the yaml / defined through the UI), the following behaviors apply in regards to the Load type options:
- The attribute set in the CX will be used and the ability to change it when applying it on a page will be disabled.
- When both attributes are set in the CX,
asyncwill be applied. - When
asyncordeferis set to false in the CS, the related option will be removed from the Load selector. (e.g. ifdefer: falsethe load options available for the user will bedefaultandasync).
This feature introduces the capability to connect Liferay Objects with SugarCRM Objects, empowering users to synchronize and store their data efficiently between the two platforms. By bridging these systems, users can streamline their workflows, enhance data consistency, and leverage the robust features of both Liferay and SugarCRM.
Users can now, with low effort, connect their Liferay and SugarCRM environments, eliminating the need for manual data transfers and reducing the risk of errors. This enhancement not only simplifies data management but also enhances the overall user experience by providing a cohesive and integrated ecosystem for managing customer data.
We have improved the behaviour of an existing configuration to be able to properly publish a child page in a Staging process to Live site without its parent(s). This also improves the performance of publishing changes.
It is now possible to select Date Times as a product option type, configuring purchase options for products based on date, times, time zones, and durations, allowing for the sale of time slots.
Manage contacts directly related to accounts like phone numbers, emails, websites, addresses.
A new Contact Tab in Account details page with 2 internals tabs was created:
- Addresses
- Contact Information
Users with “Accounts > Account Entry: Manage Addresses” permission should be able to manage their contacts with all these actions:
- Add
- Edit
- Remove
- Mark as primary
Example of managing a phone number:
Users without “Accounts > Account Entry: Manage Addresses” permission should be able to only view the existing phone number entries.
The Server Administration interface provides powerful tools for controlling the server. As an added layer of security, CAPTCHA is now required for actions in Server Administration pages and the Gogo Shell page. Due to the sensitive nature of these controls, the system will still enforce CAPTCHA on these pages, even if the “Maximum Challenges” configuration is set to a negative number.
We are constantly working on improving performance of Publications. We have implemented improvement for Timeline and Conflict checking icons.
If a conflict appears between the scheduled publication and Production before or during publishing stage, we have added a functionality to provide more information inside Liferay notifications when this situation occurs.
This features creates a reviewer role that has read-only (and no update) permissions. It grants permission to review the draft of a content page, or the pages that are submitted through a workflow and are still pending approval and publication.
Page Creator now can efficiently manage permissions for their website, distinguishing between public and restricted pages. Key functionalities, such as unique designs and restricted access, are incorporated seamlessly.
Requirements include easy identification of page visibility, bulk permission management, and configuration options for both individual pages and entire branches.
Provide the option at Instance and Site settings to the XML sitemap to allow customers to customize the inclusion or exclusion of content according to the SEO technical requirements.
When the User reaches Control Panel → Instance Settings, a new menu item (SEO), under Platform, will be shown. By accessing this menu, the user will be able to include/exclude different content.
When the user has Download permission on a file, then the Documents and Media File result features a download link in the Search Results widget in all out-of-the-box widget display styles.
The Search Results widget Template Context has received a new field to obtain the download URL in custom display templates: ${entry.getAssetRendererURLDownload()}
Part of the recurring compatibility testing, Elasticsearch 8.13.x has been added to the compatibility matrix to the corresponding Liferay versions.
Note: Compatibility with newer Elasticsearch minor versions is always tested in two ways:
Latest-Latest: Testing the latest Liferay version with the latest available minor version of Elasticsearch → e.g.
Master/2024.Q2 + Elasticsearch 8.13Minimum-Latest: Testing the minimum Liferay version where Elasticsearch 8 compatibility was first made available with the latest minor version of Elasticsearch →
DXP 7.4 U81/DXP 7.3 U31 + Elasticsearch 8.13
This way we can not only provide compatibility for the latest Liferay versions, but also backwards compatibility, allowing a broader customer base and deployments to operate their stack with an up-to-date search engine version.
As Elasticsearch is usually released a new Minor version roughly every two months, this is a recurring process and a planned activity for our team.
Liferay ships with an updated Elasticsearch connector using 7.17.18 as the client version. It is also for the development and testing purpose for Sidecar server.
The solution involves implementing advanced filtering options on the Builds and Deployments pages of the platform. This feature allows users to filter builds and deployments by key parameters such as date and environment. It is structured as following:
Date Filter: users can select a specific date or a date range from a calendar interface. This allows to view builds and deployments that were created or modified within that timeframe, facilitating quick access to historical data or recent updates.
Environment Filter: this filter enables users to select from pre-defined environment options (e.g. development, testing, production) viewing only the builds and deployments relevant to the chosen environment. This is particularly useful for teams managing multiple environments and needing to track their respective changes efficiently.
For custom objects, we have add the possibility to upload and save an attachment file in only one step. As another field of the entry, users can upload directly a document to an attachment field using Base64 format.
"AttachmentField1" : {
"fileBase64" : "iVBORw0KGgoAAAANSUhEUgAAAD0AAAAXCAIAAAA3N9DuAAAAA3NCSVQICAjb4U/gAAAAEHRFWH", "name" : "file.png"
}
And, to recover the values of the entry, they can do it in the same format using nested fields.
curl -X GET \ -u 'test@liferay.com:test' \ 'http://localhost:8080/o/c/mytestobjects/by-external-reference-code/users-computer-attachment-1?nestedFields=usersComputerAttachment1.fileBase64'
For sure, the previous options of uploading and downloading files of an entry are available too so the user can decide which to use in any case.
Only available for Custom Objects fields.
Until now, in GraphQL, it was not possible to create a query (or mutation) where the user could select the version to execute. Besides that, in case more than one endpoint had the same name but in different applications, you couldn’t select which one to use.
In order to make queries and mutations unique in GraphQL, we have created a new structure using a namespace with the following format:
Path + “_” + “v” + MayorVersion + “_” + MinorVersion ( 0 by default ).
query {
structuredContents(siteKey: "20117") {
items {
title
}
}
}
VS
query {
headlessDelivery_v2_0 {
structuredContents(siteKey: "20117") {
items {
title
}
}
}
}
Feature Status Change
New link added to the chart from the organization management admin pages. Chart now supports search functionality. Users with permissions can view or edit more details of the Organization, Account or User when it is selected on the chart.
Feature Status Change Use the platform's configurable purchasing rules to dictate which product options need to be purchased together when setting up products with options. You can set which product options must be purchased together and/or which product options cannot be combined together to create a valid product bundle. You can also limit the number of products from a particular group of products that can be purchased together. |
Feature Status Change
The ability for a buyer or sales agent to edit a product bundle directly from the mini-cart has now been added. Previously, if a change had to be made the bundle had to be deleted from the cart and added again. This allows for more speedy alterations to be made before proceeding with check out.
Feature Status Change
Ability to add new steps to the checkout process via client extension. |
Feature Status Change
Users can add read-only fields to object definitions that automatically increment for each new entry.
Key Features:
- Customize Starting values - Users can set a starting value. This flexibility allows for better alignment with specific business needs and workflows
- Customize labels - Users can set prefixes and suffixes to provide alphanumeric keys appended to the incrementing values.
This new feature provides the ability for the Order Manager to make refunds against on-line payments using the stand alone payment gateway. While the refund amount can be configurable, the refund is always made against the payment method of the original payment.
This feature decouples the payment gateway from the order engine in order to allow you to capture payments against objects and to support new payment methods via client extension.
You can use Liferay’s revamped organization management chart to view, manage, and search through organizations, associated accounts, and users. Users with permissions can now view or edit more details of it on the chart.
We are excited to introduce enhancements to streamline your cloud management experience! With our updated cloud console view, you will have a detailed breakdown of subscription metrics per environment, empowering you to manage resources more effectively. Additionally, our new storage consumption tracker offers real-time insights into project storage usage, ensuring you're always informed about quota limits.
Under all supported formats, users can select the origin and destination site of the data so it is possible to export and import object entries between any site.
With this improvement, the Data Migration Center allows users to export and import Object Entries using CSV files. Not all field types are supported but many of the most used ones are:
Supported field types: dateandtime, date, decimal, integer, longint, longtext, precissiondecimal, richtext, text and picklist.
In order to help users, only supported fields are available for exporting at the UI. As new types are allowed, they will appear available in the UI.
Pages served by Liferay might make use of third party cookies. In order to inform Liferay to manage them as part of the user cookie consent, now Portal developers and Content creators have a way to indicate the portal about them.
In order to make Liferay aware of them, the content creator or portal developer will need to update the markup to the following:
First, indicate the type of cookie following this format:
Second, change the markup depending on the element affected:
For example, embedding a video from a video provider, will see the markup changed in the following way:
- Before: <iframe src="..." />
- After: <iframe data-src="..." `data-third-party-cookie="CONSENT_TYPE_FUNCTIONAL" />
SCIM provides a unified, RFC compliant way to keep user/group data in sync between different applications. Liferay is a service provider and enables clients to be connected. Through the defined RESTful APIs and schemas, clients can perform CRUD operations to keep resources in sync.
Two new permissions were added to View and Edit the channel default tab in the Account Management Pages. Users are now able to activate/inactivate the tab.
Enables the ability to add new remote shipping calculations via client extension.
Ability to add new steps to the checkout process via client extension.
Users can add read-only fields to object definitions that automatically increment for each new entry.
Key Features:
Customize Starting values - Users can set a starting value. This flexibility allows for better alignment with specific business needs and workflows
Customize labels - Users can set prefixes and suffixes to provide alphanumeric keys appended to the incrementing values
Users are now able to properly search in the portal using the Search widget (in applications that have data restricted by account).
Now user are able to:
Configuration of document size for copying in D&M
Bulk copying of documents and folders
Currently the copy action for documents and folders is able to be performed in Portal without fully respecting the site-asset library relationship. The expected behavior is:
An asset library must be connected to a site in order to copy a document over to the site
A document cannot be copied from a site to an asset library (only the other way around)
We can enforce a stricter check when performing the copy action between asset libraries and sites. Instead of the end user receiving a success message when copying a document to a disconnected site, an error message should appear telling the user to set the connection first.
Document Types contained in a document are being copied in Documents and Media so that they can be easily reused.
Categories and Tags in Documents and Media are being automatically copied so they can be easily reused on a new site.
With this development, the publication of Knowledge Base articles will be schedulable, in particular, the feature is so designed:
The primary Publish button will have an arrow down with the “Publish” option, that will immediately publish the article, and the “Schedule” one.
Clicking the Schedule option, will make a modal appear so the user can set a date and time for the article to be published.
The Scheduled article will have the SCHEDULED status that will change to APPROVED on the scheduled date
A tooltip with the scheduled date information will appear when hovering the
question-circle-fullicon placed next to the SCHEDULED state.
Editing a scheduled article will provide the user the ability, by clicking the primary button that has turned into “Scheduled”, to:
Cancel the operation
Publish Now
Schedule: this option will save the article, date & time changes and the user will return to the previous screen before entering edit mode
Additional feature: A Knowledge Base article deletion action will move it to the Recycle Bin so that it can be restored.
This feature allows you to leverage the functions of Liferay’s caching framework. Our current measurements indicate about 10%/30% performance increase in database writing operations, also 10 times faster reading performance!
The user experience of the Management Toolbar present in multiple applications (Web Content, Blogs, Documents & Media) has been improved:
- Separate sections for filter and order.
- Changed “+” with “New” for clarity.
- Moved info icon to the right.