Currently Liferay provides several options to define and publish lists of content. Since 7.2 it will be possible to define Content Lists through manual or dynamic selection (by setting up filters). These lists can be published through Asset Publisher and soon will be consumable through an API. However there are some cases where this is not enough to solve the needs.
The goal of this story is to allow a third party developer to implement custom code that returns a list of content. The resulting list of content should be usable anywhere Content Lists can currently be shown. It would probably be a good idea to create a new domain model class to represent each content list item to decouple it from the specific source of data. Asset Publisher would then convert each of these items to AssetEntry objects to keep backwards compatibility of existing ADTs.
Some sample use cases that this will support are lists of content that are:
- Related to the content being displayed through an Display Page
- Depend on the current user
- Grabbed from a third party system, instead of from the database.
In order to support this use case, the developer should be provided with access to the current context in the form of the httpServletRequest object.