quinta-feira, 20 de agosto de 2009

Dica: Performance em buscar conteúdos no WCM

Muitas vezes os usuários pedem alguns layouts de conteúdos WCM bem complexos, e uma coisa é fato: O WCM tem algumas limitações na forma de exibir seus conteúdos. Uma das alternativas é usar a API do WCM para trazer seus conteúdos e apresentar da forma que quiser, já que assim estará trabalhando num JSP. Eis que vem um probleminha chato: Performance.

Apesar desse problema ter sido bem reduzido a partir da versão 6.1, para quem ainda está na 6.0 vai uma dica: Usar o Menu Component, se possível, para buscar os conteúdos que você precisa.
Quando usamos o Menu Component do WCM ao invés do searchContent(), nota-se um ganho imenso de performance, já que o Menu Component é gerenciado internamente para cachear os resultados e fazer o melhor método de acesso.

Para quem usa Portal 6.0:
A dica é escrever um XML como saída do Menu Component e os valores que você vai precisar exibir, já que não é possível pegar o conteúdo da iteração corrente no menu.
Ex:
Cabeçalho: [resultado]
Cada resultado: [conteudo][nome][placeholder...][url][placeholder...][/url]
Rodapé: [/resultado]

No WPF você converte o resultado do componente usando uma classe LJO e XmlUtil.parseXml(workspace.render(rc, menuComponent));

Para quem usa Portal 6.1:
Se precisar mesmo usar o WPF, faça como no exemplo acima, porém se puder resolver seu problema com um JSP incluído no resultado do menu, use o método renderingContext.getCurrentResultId();

;)

Um comentário:

Alex Coqueiro disse...

dica legal. Vou repassar para os meus clientes