Now it is possible to easily identify the content you have created and any recent content you generated. This enhancement streamlines and optimizes this workflow.
Release Notes
Easily configure the friendly URLs for the different asset types, updating URL separators. In addition to that, now users are able to set categories within a blog’s friendly URL and easily identify by the URL what is the main topic of the page they are visiting.
This feature aims to refine the Analytics Cloud Usage Page. Alongside UI enhancements for a better user experience, we focused on enhancing data accuracy and real-time precision. Our efforts aimed to eliminate data discrepancies and prioritize transparency for the users.
Key Changes:
To promote pricing transparency, we removed the outdated prices from the Workspace settings and implemented a clear message prompting users to reach out to their Customer Success Manager for information on upgrading their plan.
Aiming to simplify the interface and highlight pertinent subscription details, some changes were made to the UI of the Subscription and Usage menu, focusing on displaying relevant information to the customer related to their current plan.
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.
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.
The Data Set for actions has been improved to provide new capabilities to the users:
- For the Item Actions: now there are 4 new available types available on top of the link Action: Async, Headless, Modal or Side Panel . It allows Admin Users to connect items to new functionalities and use cases.
- Creation Actions: this option has been created in order to allow Admin Users to create new data or direct their users to a place where they can create it.
The autocomplete attribute grants the user agent permission to provide automated assistance in filling out form fields. This feature can significantly speed up the form-filling process, especially for repetitive or standard information like names, addresses, and email addresses. This also allows screen readers which use standard attributes such as autocomplete to assist users navigating websites.
Incorporating the HTML autocomplete attribute into your forms is a simple yet powerful way to enhance user experience. By leveraging autocomplete suggestions, you can streamline the form-filling process, reduce errors, and ultimately create a more user-friendly environment. Experiment with different values, test across browsers, and watch as your users appreciate the improved efficiency of your forms.
When publications go out of date, they are completely useless and all changes made to them can not be leveraged in any capacity. The changes in this feature allow publications users to move changes from an out of date publication to another publication. This allows users to salvage changes after an upgrade.
We are constantly working on improving performance of Publications. We have implemented improvement for Timeline and Conflict checking icons.
Boost the performance of reverting changes , when the DB has huge amount of records. This way the usability of Publications further increases.
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.
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.
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.
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
}
}
}
}
Until now, for a translatable object fields, there was no way to get the values in different languages and always returned the default one. With this change, by adding the Accept-Language header, users can get the selected values properly. This change affects to Rest API and GraphQL.
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.