Collection providers group items
into collections for display on your pages. Several are available
out-of-the-box, or you can create them using the Information Framework
to group items into the collections you need.
When you create a search blueprint, a
collection provider is registered automatically with the same title
as the blueprint (similar to Object definitions).
Assets matching the blueprint's query and configuration are added to
Let's see this simple
scenario: we want to create calendar events and configure a
blueprint to return only events that happen in the future. Display
the events on a content page using the collection display
In the Elements tab, add a new
custom element with this JSON:
"en_US": "Limit results to only future events, using the endTime field."
"en_US": "Limit Results to Future Events."
In the Blueprints tab, build a
blueprint to match only calendar events that are in the
Title: Enter Future
Query Settings: select
Calendar Events in Searchable Types.
Query Elements: add the
Limit Results to Future Events element.
From the site menu, add a
content page called Upcoming Events.
Add the Collection Display
fragment to the page and select the Future Events
Configure the collection
display fragment to show a bullet list.
Publish the page, and the
future calendar events appear.
Only content registered
with Liferay's Asset Framework
can be returned by the blueprints collection provider as Asset
Entries. This means that currently it only supports mapping
Asset Entry metadata (fields) when building a
You may wonder: how is
it different from Dynamic
Collections? If you are familiar with that type of
collections, the easiest to think of it is an advanced way of
creating dynamic collections with more control over the search
aspect (to find entries) to display.
Despite the obvious
resemblance, there are noticeable differences between the Dynamic
Collection builder and Blueprint's query builder, both in terms of
the (low-code/no-code) configuration capabilities they provide and
their user interfaces. Therefore, integrating Collections and
Blueprints further and making it easier to build dynamic
collections for Object Entries and
content using Blueprints are part of the future plans.
Besides that, exploring the
ability to return the actual entry (like, an Web Content Article)
not Asset Entries is also on the roadmap as this limitation may
hit negatively the usability of Blueprints driven collections in