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