

ACA has been a Liferay Partner for many years, and is even the only Liferay Platinum Partner in Belgium. One of the advantages of this partnership is that we can view and review new products in a pre-release version. We recently received a pre-release version of the new Liferay DXP 7.2, which has just launched in early June. Here’s a short summary of what Liferay wants to achieve with this new version:

- In this new release Liferay aims to make it easier for the non-technical user to create a smooth customer experience. It realizes this by providing even more tools and updates to already existing tools.
- Another major upgrade is the fact that Audience Targeting is now included into the core of Liferay. By doing this, Audience Targeting and user segmentation has a better integration with all content building functionalities in Liferay.
- Liferay focuses on privacy with improvements to the Personal Data Erasure feature introduced in Liferay DXP 7.1.
Modern Site Building
There have been some vast improvements in the ways non-technical users can provide even better user experiences, something Liferay has been calling the Modern Site Building project since Liferay DXP 7.1. Its new features are related to Content Pages, Display Pages, Fragments, Navigation Menus and Pages Administration.
Content Pages
Next to an improved visual representation of the content pages, there are also several upgrades to the styling abilities for business users. Business users can now…
- adjust background colors, images, spacing, and more for sections in the Content Page.
- get an indicative view on the layout of a Content Page while creating them. Using the Section Builder on the right hand side, different kinds of layouts can be added to the Content Page. Several come out of the box, designed by Liferay itself, providing various amounts of columns.
- customize layouts on the fly and with regards to the specific context of a page. With the help of a bootstrap-like visual representation, the width of the columns can be easily adjusted by dragging the columns. It’s now also possible to provide a background color or even an image to the layout.
- adjust the number of columns, spacing, padding, margin and more thanks to the small options menu.


To populate these layouts, Liferay provides several basic components called Fragments out of the box. These Fragments consist of several basic HTML components such as different kinds of headers, text fields, buttons, images, and cards (where some basic components are already grouped). There are also several predefined sections that combine layouts and components into more complex components, that are ready to be added to the page. Several types of headers, footers, banners, a highlight center and much more are provided!
One thing that is very neat about all these components is that they can be linked to a Web Content Item. Any field of the content item can be used for the elements in the component. This allows the user to maintain the content in one place (the content management section of the site) and reuse it, or parts of it, in different content pages.
Since Liferay DXP 7.1, business users were able to add widgets to Content Pages. A developer needed to create a Fragment that included the widget, which a business user could then configure. With the upgrade to Liferay DXP 7.2 however, business users are able to add any widget to any fragment directly, so they can make use of e.g. the asset publisher, web content display, alerts, wiki, blogs, …
All of these updates are now performed within the context of the actual page. The styling and fixed components such as headers and footers and the behaviour of the Theme are directly applied to the Content Page. A business user can edit them while looking at it as end user, providing a more realistic experience of content editing.

Display Pages
All of the above changes for Content Pages are also valid for Display Pages, since they rely on the same building blocks. The major update here is the possibility for a developer to add support for Display Pages in custom entities. By ways of implementation, devs can provide the necessary options for webmasters to select specific Display Pages for the item. Webmasters will then see a dropdown option list to select which Display Page should be used.

Fragments
We have mentioned Fragments before as the building blocks to compose Content and Display Pages. They are typically created by a web developer and used by the webmaster. They are defined by an HTML block together with CSS and possibly JavaScript for dynamic behaviour. Liferay improved the Fragment Editor, which can be found in the Control Panel, to develop these Fragments. The Fragment Editor now also provides a form of code completion for the default lfr tag library.

The Fragment can also be provided with a resource or a collection of resources that can be used in the Fragment. These are actually images that can be referenced by name either in the Fragment itself or in the supporting CSS (e.g. for the background image).
The offline development for Fragments has also been made easier by Liferay through the Fragment Toolkit. This is a new npm tool to generate a Fragment module, which allows for offline development of a Fragment in an IDE of choice. The Fragment module can also be added to the codebase of the project and deployed on all environments.
Navigation Menus
Liferay DXP 7.1 introduced Navigation Menus to detach site navigation from the page hierarchy. Some improvements have been made in light of:
- moving pages in the hierarchy;
- selecting both public and private pages for the menu;
- adding back the ‘hidden’ option for pages to pages won’t be shown in any Navigation Menu;
- automatically adding a page to a Navigation Menu.
Page Administration
To easily navigate through pages while editing them, Liferay added the option to search and find Pages more easily through:
- a search bar in the page administration for search by text;
- the Page Navigation tool in the dockbar for Site administrators, which now provides a dropdown menu with search functionality;
- improvements in the visualizations of the page hierarchy and structure.
Content Authoring
While above updates concern the authoring of pages, there are also improvements to authoring content itself. One of these improvements now includes the possibility for webmasters to see an overview of the usages of the Content Item. These usages are determined by the Web Content Display and the Asset Publisher portlets as well as the usage in Fragments through Content Pages and Display Pages. So now, webmasters can clearly identify where in the Site any possible changes will impact the end user.
Another improvement is that it is now easier for webmasters to preview the web content in all phases of the workflow and in different kind of contexts. Users can select different templates, see the preview of a Display Page Template and within a page the content item is already added.
There have also been updates in terms of the content structure and templates. From Liferay DXP 7.2 and newer, it’s no longer required to select a template for a Content Item. As discussed above, Content Items can be used in Fragments for Content Pages and Display Pages. This means it’s possible that the Content Item is no longer represented by a template.
Finally, the view for creating a structure and editing a Content Item has been updated. It now looks cleaner, with a clear separation between content and metadata.

Audience Targeting
With Liferay DXP 7.2, the Liferay core includes the Audience Targeting module. The Audience Targeting module allows for better and even more integration points with other core Liferay functionalities. Because of this change, a small migration process is necessary for current Audience Targeting customers. This should be a semi-automatic data migration process with preservation of existing segmentations. The Audience Targeting module itself has been moved outside of the Control Panel and can now be found under Site > People > Segments.

Speaking of segments, it’s still possible to define segments based on rules. Rules can be created using User properties, Organization properties and Session properties. Much of this will sound familiar to the Audience Targeting customer. One nice adjustment, though, is that Custom Fields are now directly accessible from the menu.

Customers using Liferay Analytics Cloud will also be happy to hear that from now on, the segments defined in Analytics Cloud can be reused in Liferay DXP. This means that segmentation in DXP can now be directly based on the user information or behavior and interests gathered in Liferay Analytics Cloud.
Because of the integration of Audience Targeting into the Liferay core, the Liferay developers also provided several APIs to obtain information regarding user segmentation. This allows external applications that make use of Liferay content management capabilities to also apply user segmentation. Information that can be retrieved include the segments of a site, the segments to which a user belongs and even the users belonging to a segment.
Personalized Experiences
Using user segments in Content Pages is also available in terms of providing Personalized Experiences. When designing Content Pages, a webmaster can differentiate the sections and the content based on User Segments. Using the new Experience Administration option, these experiences can be created and managed through a simple UI.


The order of the Personalized Experiences is important here as it signals priority. When a user belongs to multiple audiences and thus multiple experiences, the one with the highest priority (top-down) will be applied. Sadly though, this experience personalization is not applied to the Web Content Display portlet when present in the Content Page. This portlet will always show the same Content Item regardless of the selected experience.
Content Sets
Another novelty in light of Audience Targeting is the definition of Content Sets. This is a collection of Content Items that can be reused on the site pages using the Asset Publisher portlet. When creating a new Content Set, the content items that make part of it will be defined statically or dynamically by defining rules. You can differentiate those rules using user segments. Similar to the Personalized Experiences for Content Pages, Content Sets can contain different rules based on the user segments. In this context, they’re called Personalized Variations, but the functionality is pretty much the same. Although it is unclear if there is any priority applied here. These Content Sets are also available through the headless API, so they can be used outside of Liferay to obtain content variations based on the user segment.

One oddity I came across when reviewing Audience Targeting, is that when User Segments are created, they are not available anymore for categorization of Content Items. In previous versions it was possible to use the User Segments as a sort of categorization for content items. Under ‘Metadata’, a new section called ‘User Segments’ would appear as soon as the user segments were defined. However, given the options of segmentation in Content Sets, Content Pages and Display Pages, Liferay probably has just omitted this usage of user segments.

DMS Features
Liferay’s Document Management capabilities have also gotten an upgrade. An integration with Google Docs is now available, so these types of documents can be created and edited within the Google context. The document is eventually stored in the Liferay DMS itself. You’ll need to create a Google Drive API for your project and provide that information in Liferay to start the integration with Google Docs. For all non-Google users, other significant updates have also been made to the ‘regular’ DMS features of Liferay, mainly concerning the sharing of files, file versioning and bulk editing.
Sharing Files
Documents and Media can now be shared with other users in the portal, even if they aren’t a member of the Site in which the item is defined. The receiving user won’t see anything of the Site in which the document is created. You can also grant them Comment or Update permissions instead of just a View permission. If you select the Allow the document to be shared with other users option, you’ll provide the receiving user the power to further share this document. The user that you share a Document with, is informed of this through the Notifications system of Liferay.


You can locate any shared content from the User profile menu. No specific portlet to list all shared content is otherwise provided at this time. From a technical point of view it is important to know that no new document is created when sharing. Liferay chose to create a new table in the database which holds this sharing information between items and users.
After sharing a document, it is also possible to revoke users’ access to it or manage the permissions from the information panel of the document under the Manage Collaborators link.
File versioning
Webmasters can now manually select a new version when editing a document. Under the tab Versioning, there’s a newly-added slider to activate the manual selection of versioning. The user can decide and provide a new major version or a new minor version, or can even select to have no version upgrade at all. For every selection, it is also possible to provide some comment to inform other users, or just for future reference, what adjustments have been made or why the selected option was chosen.
When the activation slider is turned off, which is the default setting, Liferay applies its automatic versioning system. This system in turn has also received some updates and will now always play by the following rules:
- a major upgrade is created when the actual content has changed.
- a minor upgrade is created when the metadata has changed.
- there is no version upgrade in all other cases. e.g. only editing tags, categories, permissions or comments.
Interesting to know is that this rule set can be extended as a Versioning Policy API has been introduced. By developing and deploying a custom component, the criteria can be adjusted. One still missing link for versioning is that these options are not available when editing with the image editor.
Bulk editing
The last major update in the Liferay DMS system is the availability to edit tags for documents in bulk. For now, editing tags is the only option, but Liferay promised to provide categorization as well in the near future. After selecting one or more Documents in the Documents & Media Gallery, the Edit Tags options appears in the toolbar. This opens up a modal dialog where all options and shared tags are provided.
By selecting Edit, webmasters manage only the listed tags, either deleting one or more or adding new ones for all selected documents. The Replace option will apply only the list of tags to all selected documents, which means all non-shared tags will be removed. This last one is very important to remember as it can cause some side effects where filters on tags will suddenly contain no more items.
User Management
We’ve already discussed Audience Targeting and some of its noticeable updates. However there have also been some improvements on individual user management. Mostly these are related to GDPR and user data management. In Liferay DXP 7.2, there are improvements in the feature to erase personal data and anonymize content. Personal data can also be exported and downloaded as a zip file that references the related assets. In the User Management section, these actions can still be found in the context menu.

An Administrator is now presented with a clean dashboard to perform anonymization. The content can be scoped by the user’s personal site, regular site or instance. The content is shown in a hierarchical manner with filtering options. This provides the Administrator with context about the content items and where they are used. The Administrator can also selectively erase personal data. At the moment, only Documents & Media and Message Boards support this new functionality.

Exporting personal data is managed in the same way with a similar looking dashboard. When the export process is completed, an overview is shown of the different content items and are separately downloadable as a zip-file.
In the process of auto-anonymization, the Administrator can now also see which applications contain data that support auto-anonymization.
Extra: Artificial Intelligence
Liferay also started embracing the power of AI. One example of this is the auto-tagging of images. This feature reduces the manual actions required by a webmaster and allows for rapid collection building. We’ll surely be seeing more AI functionalities in upcoming releases.
The auto-tagging functionality is still at an early stage and therefore only English tags are supported. It is also disabled by default and needs to be activated by an Administrator from the Control Panel. This can however be performed on several levels: global, instance or site. Next to TensorFlow, which is the default provider, Liferay also supports Google CloudVision and Microsoft Cognitive Services.

🚀 Takeaway
Liferay DXP 7.2 offers a ton of new possibilities. If you ask me, these are the things that really stand out in this new release:
- sharing documents;
- beautiful in-context editing of Content Pages;
- integration of Audience Targeting, with some caution as to how categorizing Content Items through Segments will happen in future releases;
- and linking Content Pages with Web Content Items.
Are you just as excited about this new release as we are? Then why not join our fantastic team? 🙂
Thanks for reading!
Sources:
- https://community.liferay.com/blogs/-/blogs/web-experience-new-features-in-liferay-portal-7-2-b1
- https://community.liferay.com/de/blogs/-/blogs/creating-personalized-experiences-with-liferay-7-2
- https://community.liferay.com/de/blogs/-/blogs/liferay-portal-7-2-ce-alpha-1-release
- https://community.liferay.com/de/blogs/-/blogs/liferay-portal-7-2-ce-beta-1-release



What others have also read


Liferay DXP has become a widely adopted portal platform for building and managing advanced digital experiences over recent years. Organizations use it for intranets, customer portals, self-service platforms, and more. While Liferay DXP is known for its user-friendliness, its default search functionality can be further optimized to meet modern user expectations. To address this, ACA developed an advanced solution that significantly enhances Liferay’s standard search capabilities. Learn all about it in this blog. Searching in Liferay: not always efficient Traditionally, organizational searches relied on individual keywords . For example, intranet users would search terms like "leave" or "reimbursement" to find the information they needed. This often resulted in an overload of results and documents , leaving users to sift through them manually to find relevant information—a time-consuming and inefficient process that hampers the user experience. The way users search had changed The rise of AI tools like ChatGPT has transformed how people search for information. This is also visible in online search engines like Google, where users increasingly phrase their queries as complete questions. For example: “How do I apply for leave?” or “What travel reimbursement am I entitled to?” To meet these evolving search needs, search functionality must not only be fast but also capable of understanding natural language. Unfortunately, Liferay’s standard search falls short in this area. ACA develops advanced AI-powered search for Liferay To accommodate today’s search behavior, ACA has created an advanced solution for Liferay DXP 7.4 installations: Liferay AI Search . Leveraging the GPT-4o language model , we’ve succeeded in significantly improving Liferay’s standard search capabilities. GPT-4o is a state-of-the-art language model trained on an extensive dataset of textual information. By integrating GPT-4o into our solution, we’ve customized search algorithms to handle more complex queries , including natural language questions. How does Liferay AI Search work? Closed dataset The AI model only accesses data from within the closed Liferay environment. This ensures that only relevant documents— such as those from the Library and Media Library—are accessible to the model. Administrators controls Administrators can decide which content is included in the GPT-4o dataset, allowing them to further optimize the accuracy and relevance of search results. Depending on the user’s profile, the answers and search results are tailored to the information they are authorized to access. Direct answers Thanks to GPT-4o integration, the search functionality provides not only traditional results but also direct answers to user queries. This eliminates the need for users to dig through search results to find the specific information they need. The comparison below illustrates the difference between search results from Liferay DXP’s standard search and the enhanced results from ACA’s Liferay AI Search. Want to see Liferay AI Search in action? Check out the demo below or via this link! Be nefits of Liferay AI Search Whether you use Liferay DXP for your customer platform or intranet, Liferay AI Search offers numerous advantages for your organization: Increased user satisfaction: Users can quickly find precise answers to their queries. Improved productivity: Less time is spent searching for information. Enhanced knowledge sharing: Important information is easier to locate and share. Conclusion With Liferay AI Search, ACA elevates Liferay DXP’s search functionality to meet modern user expectations. By integrating GPT-4o into Liferay DXP 7.4, this solution delivers not only traditional search results but also direct, relevant answers to complex, natural language queries. This leads to a faster, more user-friendly, and efficient search experience that significantly boosts both productivity and user satisfaction. Ready to optimize your Liferay platform search functionality Contact us today!
Read more

Staying current with the latest trends and best practices is crucial in the rapidly evolving world of software development. Innovative approaches like EventSourcing and CQRS can enable developers to build flexible, scalable, and secure systems. At Domain-Driven Design (DDD) Europe 2022 , Paolo Banfi delivered an enlightening talk on these two techniques. What is EventSourcing? EventSourcing is an innovative approach to data storage that prioritises the historical context of an object. Rather than just capturing the present state of an object, EventSourcing stores all the events that led to that state. Creating a well-designed event model is critical when implementing EventSourcing. The event model defines the events that will be stored and how they will be structured. Careful planning of the event model is crucial because it affects the ease of data analysis. Modifying the event model after implementation can be tough, so it's important to get it right from the beginning. What is CQRS CQRS (Command Query Responsibility Segregation) is a technique that separates read and write operations in a system to improve efficiency and understandability. In a traditional architecture, an application typically interacts with a database using a single interface. However, CQRS separates the read and write operations, each of which is handled by different components. Combining EventSourcing and CQRS One of the advantages of combining EventSourcing and CQRS is that it facilitates change tracking and data auditing. By keeping track of all the events that led to a particular state, it's easier to track changes over time. This can be particularly useful for applications that require auditing or regulation. Moreover, separating read and write operations in this way provides several benefits. Firstly, it optimises the system by reducing contention and improving scalability. Secondly, it simplifies the system by isolating the concerns of each side. Finally, it enhances the security of sensitive data by limiting access to the write side of the system. Another significant advantage of implementing CQRS is the elimination of the need to traverse the entire event stream to determine the current state. By separating read and write operations, the read side of the system can maintain dedicated models optimised for querying and retrieving specific data views. As a result, when querying the system for the latest state, there is no longer a requirement to traverse the entire event stream. Instead, the optimised read models can efficiently provide the necessary data, leading to improved performance and reduced latency. When to use EventSourcind and CQRS It's important to note that EventSourcing and CQRS may not be suitable for every project. Implementing EventSourcing and CQRS can require more work upfront compared to traditional approaches. Developers need to invest time in understanding and implementing these approaches effectively. However, for systems that demand high scalability, flexibility or security, EventSourcing and CQRS can provide an excellent solution. Deciding whether to use CQRS or EventSourcing for your application depends on various factors, such as the complexity of your domain model, the scalability requirements, and the need for a comprehensive audit trail of system events. Developers must evaluate the specific needs of their project before deciding whether to use these approaches. CQRS is particularly useful for applications with complex domain models that require different data views for different use cases. By separating the read and write operations into distinct models, you can optimise the read operations for performance and scalability, while still maintaining a single source of truth for the data. Event Sourcing is ideal when you need to maintain a complete and accurate record of all changes to your system over time. By capturing every event as it occurs and storing it in an append-only log, you can create an immutable audit trail that can be used for debugging, compliance, and other purposes. Conclusion The combination of EventSourcing and CQRS can provide developers with significant benefits, such as increased flexibility, scalability and security. They offer a fresh approach to software development that can help developers create applications that are more in line with the needs of modern organisations. If you're interested in learning more about EventSourcing and CQRS, there are plenty of excellent resources available online. Conferences and talks like DDD Europe are also excellent opportunities to stay up-to-date on the latest trends and best practices in software development. Make sure not to miss out on these opportunities if you want to stay ahead of the game! The next edition of Domain-Driven Design Europe will take place in Amsterdam from the 5th to the 9th of June 2023. Did you know that ACA Group is one of the proud sponsors of DDD Europe? {% module_block module "widget_bc90125a-7f60-4a63-bddb-c60cc6f4ee41" %}{% module_attribute "buttons" is_json="true" %}{% raw %}[{"appearance":{"link_color":"light","primary_color":"primary","secondary_color":"primary","tertiary_color":"light","tertiary_icon_accent_color":"dark","tertiary_text_color":"dark","variant":"primary"},"content":{"arrow":"right","icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"tertiary_icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"text":"More about ACA Group"},"target":{"link":{"no_follow":false,"open_in_new_tab":false,"rel":"","sponsored":false,"url":{"content_id":null,"href":"https://acagroup.be/en/aca-as-a-company/","href_with_scheme":"https://acagroup.be/en/aca-as-a-company/","type":"EXTERNAL"},"user_generated_content":false}},"type":"normal"}]{% endraw %}{% end_module_attribute %}{% module_attribute "child_css" is_json="true" %}{% raw %}{}{% endraw %}{% end_module_attribute %}{% module_attribute "css" is_json="true" %}{% raw %}{}{% endraw %}{% end_module_attribute %}{% module_attribute "definition_id" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "field_types" is_json="true" %}{% raw %}{"buttons":"group","styles":"group"}{% endraw %}{% end_module_attribute %}{% module_attribute "isJsModule" is_json="true" %}{% raw %}true{% endraw %}{% end_module_attribute %}{% module_attribute "label" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "module_id" is_json="true" %}{% raw %}201493994716{% endraw %}{% end_module_attribute %}{% module_attribute "path" is_json="true" %}{% raw %}"@projects/aca-group-project/aca-group-app/components/modules/ButtonGroup"{% endraw %}{% end_module_attribute %}{% module_attribute "schema_version" is_json="true" %}{% raw %}2{% endraw %}{% end_module_attribute %}{% module_attribute "smart_objects" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "smart_type" is_json="true" %}{% raw %}"NOT_SMART"{% endraw %}{% end_module_attribute %}{% module_attribute "tag" is_json="true" %}{% raw %}"module"{% endraw %}{% end_module_attribute %}{% module_attribute "type" is_json="true" %}{% raw %}"module"{% endraw %}{% end_module_attribute %}{% module_attribute "wrap_field_tag" is_json="true" %}{% raw %}"div"{% endraw %}{% end_module_attribute %}{% end_module_block %}
Read more

Y ou can’t design or develop something for all 7.9 billion people on the planet. So when we start a project, we decide on a target audience to narrow it down. From there we build our features and designs in a way that seems fitting for that audience. However, what we can’t narrow down on are the accessibility features. Everybody needs to have the possibility to use or experience your said creation. Some devices have built-in features like Google Talkback , where your device can tell you what’s happening on screen and even use that information with a digital braille reader. Or sometimes we make sure our platforms are accessible to use, such as our website, which by the way has a Google Lighthouse accessibility score of 98! But why stop there? Every piece of content should be accessible for everyone. This also counts for PDF files. Get started with these 3 tips we’ve gathered using a MediMarket Case Study : Do an accessibility check with Acrobat Pro First things first: do an accessibility check with Adobe Acrobat Pro. This check immediately indicates in a clear list which issues you need to face. Some of these issues can be solved directly in Acrobat Pro, and others require you to go back to your source file or check manually. You can gather a bit more knowledge by clicking the Autotag Document option. This will read the PDF and give you another accessibility summary about missing alt text, but more about this later. Realize the importance of the reading order Ever heard a screen reader freak out because it doesn’t understand your reading order or structure in the PDF file? Well, imagine someone talking way too fast, without stopping and without any clue what they want to say. Sounds chaotic, right? Now think about the users that really depend on these types of digital aids. Your PDF is basically useless when this happens. So be certain you have a structured document with the right identity headings, paragraphs and sections when creating the PDF. Want to add this to an existing PDF? With Acrobat Pro, you can read the reading order later thanks to their accessibility options. In this screenshot you can clearly see what the screen reader will read first, second, third and so on. Did you know Alt Text is also possible in PDF files? Is this the surprise of the day, or did you never bother to add an alternative text in your documents? Well, start by adding alt text on images or interactive fields. A screen reader can’t read your JPEG files and you need to explain what is shown to them. Don’t overdo it though, your user doesn’t really need to know you added that cute cat photo as filler. Don’t do this just with images. Audio and video elements are also in need of alt text. This isn’t only necessary for users with bad eyesight or hearing, but also for users with bad internet connection who only can download the text of your PDF. There is a lot more to this, but these 3 tips can certainly get you started! However, what I really wanted to achieve with this blogpost is that you start thinking about making all your content more accessible. Do you want more information about accessibility, for example in mobile applications? Go to our services and see for yourself what we can help you with!
Read moreWant to dive deeper into this topic?
Get in touch with our experts today. They are happy to help!

Want to dive deeper into this topic?
Get in touch with our experts today. They are happy to help!

Want to dive deeper into this topic?
Get in touch with our experts today. They are happy to help!

Want to dive deeper into this topic?
Get in touch with our experts today. They are happy to help!
