Hi, Liferay DXP 7.2! What's new with you?

ACA IT-Solutions 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.

In this blog post, we'll dive a bit deeper into the new key features of Liferay DXP 7.2 and our takeaways.

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 for balanced freelance portfolio 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

Blogs

Thank you for taking the time to write this blog Koen and the kind words. We really appreciate your feedback and your thoughts on this release. 

 

I am a product manager working on Liferay DXP and I wanted to clarify that you can personalize Web Content Display widgets or any widget on a content page. I apologize if it wasn't straightforward but you can add a new widget (with a different configuration) to an experience and it will only display for that target audience. We are also making it so that you can simply change the widget configuration between different experiences for FP1.

As for the categorization of segments under content metadata, we wanted to remove the direct relation between a segment and content. Instead, the same use case can be achieved through dynamic content sets and categories/tags. We felt that removing the direct coupling will allow associations to be reused and more accurately represents the relation between content and segments. We are also no longer referring to our personalization suite as Audience Targeting. We did this to reinforce the deprecation of our older module and highlight how we want personalization and targeting to be integrated throughout the platform. Please feel free to let me know if you ever have questions or feedback!