New Account Type of Supplier. A Supplier can be linked to a catalog and to a channel to allow the supplier manage their own products, price lists, promotions, catalogs, discounts, inventory and channel in order to be able to fulfill orders for their own products.
Release Notes
With a JavaScript (JS) client extension, you can run your own JavaScript on any page in Liferay without worrying about dependencies on Liferay code or developing a theme. This translates to noticeably faster loading times for your Liferay applications, keeping users engaged and happy. Give your applications a performance uplift with smarter script loading.
Our latest update introduces a new version of the TradeCentric Connector (formerly PunchOut2Go) for Liferay DXP 7.4, simplifying B2B integrations with your trading partners. Additionally, the Stripe Payment Method Client Extension, available on the Liferay Marketplace, allows you to offer your customers a wider range of payment options, fostering a smoother checkout experience. Boost efficiency, improve customer satisfaction, and unlock new business opportunities with this powerful update!
With our latest update, you can define access permissions and schedule content publishing in one convenient step, saving you valuable time and effort. Take full control over content visibility and publication timing, ensuring your content reaches the right audience at the right time. Publish with greater precision and efficiency - try the new Manage Permissions and Scheduling feature today!
You can leverage AI to create draft product descriptions and images with a single click, improving your content creation efficiency and sparking creative inspiration. Experience the future of content creation – try AI-powered product descriptions today!
Override default settings and tailor colors, fonts, and other design elements directly through the ThemeCSS Client Extension. This update ensures a visually consistent and brand-aligned experience for your website visitors. Simplify website customization and elevate your brand presence!
Simply provide a descriptive prompt and let DALL-E generate the perfect image to complement your content strategy, saving you valuable time and resources. Leverage AI to spark new ideas and generate unique concepts that perfectly align with your content needs. Explore a world of visual possibilities!
This allows you to benefit from the latest Java innovations, including performance enhancements, robust security features, and compatibility with cutting-edge technologies. Upgrade your Java environment and experience a faster, more secure Liferay platform!
Map individual specifications, choose the order, and create clear, informative product pages that drive sales and enhance the customer experience. Simplify product page creation and empower your business with this new feature.
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, if an asset type (for example, an Object definition) has several related Display Page Templates, and one of them is marked as Default
, we allow to map links to any of the existing Display Page Templates for that Asset Type, in addition to the Default
one.
This new possibility allows some interesting use cases for customers, such as:
- Differentiated View Display Page and Edit Display Page for Object entries.
- Multi-step processes (that need different step URLs) can be now created by using one Display Page per step.
Now the users can easily identify components that may cause performance issues in their Pages.
We have added a new tab on the Page Audit to show the users the back-end render times of the different components, as well as warnings to help identify specific components configurations that may lead to performance issues. Those warnings also appear on the Edit mode, so the user is aware of possible issues during the page creation.
Utility pages are content pages managed at the site level. Since the default system-level pages are not customizable, you can use site-level utility pages to provide a unique experience. Several utility pages are available out-of-the-box. You can customize them or add your own.
Our latest update empowers you to design custom Sign In, Forgot Password, and Create Account pages.
While managing data set views, define actions to be used in the data set fragment. Now you can define a broader range of actions, including opening links, triggering headless actions, launching pop-ups, and even opening dedicated side panels. This empowers richer data interactions and streamlined workflows for your users. Transform your data sets into powerful information hubs.
This means users can explore data in table, list, or card formats, whichever best suits their needs. Enhance user engagement, improve data comprehension, and unlock deeper insights with our powerful new visualization tools – explore them today!
A common problem we have heard from our customers revolves around the time required to complete an AB Test. If a customer’s page receives limited traffic, the time to completion could be many weeks if not months. Amidst the rapid changes in today's business landscape, this delay potentially negates the usefulness of test results. On top of this, if a user were to terminate the test prematurely, the insights they gathered from the test and the variant they created were lost.
In order to remedy this issue, we are now providing test results and the ability to publish a variant when an AB Test is terminated. Although these results cannot determine a winning variant with 100% confidence, they will give marketers a sense of how their variant was performing. Using this information, Marketers can now make educated decisions according to their specific time constraints.
It is important to remark that this feature is DXP-only, as it belongs to Analytics Cloud.
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.
New extension point allows for external custom rules to be written to determine what SKU's can be linked to a product as Options. This is limited to dynamic pricing scenarios. Discounts can still be created to discount specific product combinations.
The goal here is to make the users able to move changes between publications. This is needed because sometimes users do not want to publish an entire publication, but also do not want to revert the changes which will not be published actually. With this feature users can move changes from one publication to another, creating subsets of changes, and publish them separately. For readers with technical knowledge: this is similar to cherry-pick-ing a commit in git from one branch to another.
Sometimes the changes added to a publication needs to be reviewed by someone who is not a member of the site. The goal here was to make unauthenticated users able to review changes within a publication. For this we implemented a mechanism to generate a code, which can be used to access the Review Changes screen of a certain publication. Also this link could be easily invalidated/generated anytime by authenticated Publication Reviewers.
Now, users are able to visually understand the structure of their objects and how they connect with each other to result in the platform model.
Sell and manage SKUs by adding different Units of Measure to the SKU. Configure the Unit of Measure to optionally allow for sales in decimal quantities. Units of Measure have their own pricing and inventory. Once configured, they add to the shopping experience of the buyer who can now purchase SKUs in different Units of measure.
Capabilities:
- PSC Connection Support: Allows direct integration of specific Kubernetes services or namespaces via Private Service Connect.
- Tunneling Solutions: Provides a dedicated channel for GCP services or different GCP VPCs to connect securely within Liferay Cloud.
- API-Driven Provisioning: Enables users to automate and configure PSC connections programmatically.
- Combined Utility with Cloud Interconnect: Offers a mechanism to securely link on-premises data/systems with GKE or Google Cloud Storage.
Benefits:
- Enhanced Security: Bypassing the public internet ensures data protection during transmission.
- Reduced Latency: Direct connections speed up data transfer and interactions.
- Predictable Performance: Stable and consistent network performance between on-premises and Liferay Cloud.
- Flexibility & Automation: API-driven provisioning provides users with a more flexible setup and deployment process.
We have created a new application that helps developers to build APIs based on custom Objects in a Low Code/No Code UI. This new feature allows users to define the whole structure of the API, from the endpoint’s name to the data model of the request and response schemas.
And, because the persistence layer of the API Builder is Objects, all capabilities are available at the API layer and every object has its own CRUD API application created by default.
So, from the UI or from the API, now users can create custom API Applications from scratch.
The scope of this beta feature only covers the creation of GET methods to retrieve a collection of elements with the possibility of creating pre filters and sorts.
Admins now can define views and select fields that are localized, so users will access the corresponding translation when visiting the page. Additionally, the names of the columns and filters are also localizable.
In order to use this feature it is needed to enable “Translation Support for Object Entries” in the Feature Flags menu before enabling “Data Set Manager” in the beta section of the Feature Flags menu.
Reducing downtime, improving operational and resource utilization efficiency with the new Concurrent and Sync reindex execution modes providing high-availability in search capabilities while the operation is running.
Now admins can define the default sorting for a dataset view. You can select the field to sort by when users access the page with the data set view as well as the direction (ascending or descending). It is possible to add more than one field. In this case, results will be sorted following the order of the fields, so it will start sorting based on the first field, for elements with the same value for that field, it will continue sorting based on the second field and so on.
Integrated Logging in Cloud Console for both Client Extension and DXP. Capabilities:
- Unified Logging View: Enables users to simultaneously view both Client Extension and DXP logs.
- Log Interactivity: Allows users to filter and sort logs based on parameters like timestamp and severity.
Benefits:
- Comprehensive Insight: Eliminates the need to toggle between separate log sources, offering a holistic log view.
- Efficient Troubleshooting: Enhanced filtering and sorting make it easier to pinpoint and address issues.
Capabilities:
- Azure DevOps Authentication: Supports integration of Azure Git repositories via Azure DevOps with Jenkins, including PAT generation for authentication.
- Jenkins Build Integration: Configure Jenkins to poll or check the Azure repository based on specific triggers.
- LCP.json Setup for CI Service: Define Azure DevOps as the SCM provider and specify details for Jenkins interaction.
- Deployment Configuration: Allows push from GitHub to Azure DevOps and deployment from Jenkins to the designated infra environment.
Benefits:
- Versatility: Users can leverage Azure DevOps as their Git repository provider while working within Liferay Cloud.
- Automated Updates: Automatic polling of the Azure repository every 5 minutes, ensuring timely builds upon detected changes.
- Security: Utilizes Personal Access Tokens for specific and secure authentication, combined with best practices for token management.
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 provide a localized label
- Choose the icon to be used
- Provide the URL to redirect the user to. In case you need to parametrize it so each row has a different URL, you can do it by adding it between brackets as part of the URL, for example myURL/{id}/editPage will look for “id” in the Headless response and substitute for the corresponding value in the URL.
- With “Headless Action Key” admins can associate an action to a headless endpoint, which takes permissions into account, so the action will only be shown to the user if the corresponding headless action is present in the response. For example, you can link an “edit” action to the “update” Headless Key.
- Provide an optional Confirmation Message if needed.
- In order to use this feature enable “Data Set Manager” in the BETA section of the Feature Flags menu.
Admins can define filters to make them available for end users visiting pages with the dataset fragment. There are 3 types of filters available:
- Date filters: compatible with fields of type date. Admins can provide a name to the filter as well as provide a “From” and “To” dates to be pre-applied if needed.
- Selection filters: This filter allows admins to configure a picklist as the source of the options for the filter.
- Client extension: This new client extension enables admins and developers to fully customize the filter experience and add new types of filters depending on their needs.
- In order to use this feature enable “Data Set Manager” in the BETA section of the Feature Flags menu.
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.
We have implemented a new translation status feature in the web content editor, labeled "Translating," which provides information about the number of translated fields and those still requiring translation. This feature helps users to quickly identify areas needing translation. Additionally, all translatable fields, including metadata, are now conveniently displayed on the left side of the screen, reducing the likelihood of overlooking them.
Users can readily spot content that is not visible to Guest users through an icon, whether it's in list or table view or within the web content editor. Additionally, this feature is accessible in the item selector, empowering users to discern which content is not viewable by Guest users.
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
async
ordefer
attributes, 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,
async
will be applied. - When
async
ordefer
is set to false in the CS, the related option will be removed from the Load selector. (e.g. ifdefer: false
the load options available for the user will bedefault
andasync
).
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.
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 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.
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.
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.
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.
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.
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.
Until now the Data Set was always rendered as a table with one column for each mapped field. From now on, the admin user can define up to three different visualization modes for the same data: Table, List and Cards.
These visualization modes share the configurations about: filters, actions, sorting and pagination. However, each visualization mode can have different mapped fields decided by the admin users.
Also, a new Settings tab to select the default mode has been added.
Final users will be able to view the visualization modes created by Admin Users and they will be able to change between them to discover the data in the way they want.
To create Sign In, Forgot Password, and Create Account utility pages, it's necessary for these three views of the Login portlet (i.e., Sign In widget) to be available as individual widgets, which can be placed on pages separately. As a result, Sign In, Forgot Password, and Create Account are now accessible as separate widgets.
It's worth noting that the Sign In widget retains its previous functionality.
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.
It allows users to map fields on the first level of related elements or any hierarchical structure through a tree view which is searchable and expandable.
In addition, it is possible to map leaf fields, the common use case, but also parent fields which include all the children data to be rendered through a Client Extension.
We aimed to facilitate seamless navigation between various Utility pages, whether there are multiple or just one.
This feature prevents portal from being unusable when a change-tracked entity being modified in a publication is removed from production. If an entity is being modified in a publication, it cannot be removed from production. If a deleted entity in a publication is being modified in another publication, the publication with the deletion cannot be published.
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.
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.
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.
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.
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.