O documento apresenta o framework Info da Liferay, que generaliza o framework de ativos. Apresenta os CollectionProviders, que produzem listas de informação para publicar ativos ou exibir coleções. Explica como criar um CollectionProvider para listar conteúdos web de uma pasta específica, mostrando os passos para desenvolver o módulo OSGi e integrá-lo em uma página.
1. Liferay Portugal Users Group - Meetup #16
Introdução aos
CollectionProviders
Fernando Fernandez
Co-organizador LPUG
Construindo uma comunidade mais forte
2. 2
The Info Framework
●
Generalização da Asset Framework
– Item Renderers
– Info List Providers (aka Collection Providers)
●
7.2:
– Display Pages passam a mostrar Info em vez de Assets
– Asset Publishers passam a mostrar Info
●
Jorge Ferrer @ /dev/24 2020: Video
3. 3
The Info Framework (2)
●
Javadoc: Info 4.0
●
Alguns packages:
– com.liferay.info.item
– com.liferay.info.field
– com.liferay.info.filter
– com.liferay.info.item.renderer
– com.liferay.info.item.renderer.template
– com.liferay.info.list.provider
– com.liferay.info.list.renderer
–
– com.liferay.info.collection.provider
– com.liferay.info.pagination
– com.liferay.info.sort
– com.liferay.info.taglib.list.renderer
– com.liferay.info.taglib.servlet.taglib
4. 4
CollectionProvider
●
Produção de listas de informação para Asset Publisher (widget), Collection Display
(fragmento), Headless API
●
Nome na 7.2 e 7.3: InfoListProvider / Content Sets
●
Utilidade:
– Quando a configuração do Asset Publisher ou da Collection não é suficientemente flexível
– Quando queremos integrar fontes de dados externas
●
Exemplos:
– Fabian Bouché – Discografia
– Daniel de Francisco – Products & Documents
– Ruben Pulido – CollectionProvider & Display
– Victor Galan – CollectionProvider Filters
6. 6
Exemplo: webcontents de pasta
●
Queremos poder mostrar, num fragmento de CollectionDisplay,
todos os webcontents que estão criados numa certa pasta
●
Passos:
– Criar uma estrutura Highlights
– Criar uma pasta “Highlights” de que só aceite webcontents
dessa estrutura
– Criar alguns conteúdos na pasta
– Criar um CollectionProvider que liste os conteúdos dessa pasta
12. 12
Adicionar à página
●
Usar fragmento de Collection Display
●
Adicionar fragmentos ao Item Display
●
Mapear campos do Web Content
●
O que falta:
– Suportar filtros
– Detalhar informação dos campos
15. 15
Exemplos de Collection Providers
●
Nos sources do portal encontram-se vários exemplos:
– HighestRatedAssetsInfoCollectionProvider.java
– MostViewedAssetsInfoCollectionProvider.java
– RecentContentInfoCollectionProvider.java
– RelatedAssetsInfoCollectionProvider.java
https://github.com/liferay/liferay-portal
16. Construindo uma comunidade mais forte
Meetup: https://www.meetup.com/Liferay-Portugal-User-Group/
Linkedin: https://www.linkedin.com/groups/12125960/
Youtube: https://www.youtube.com/channel/UCOJiHlf2FNDpdV_zifzqXnA