samedi 31 mars 2012

Masquer les erreurs de compilation du Hook (aussi valable pour les projets JEE)

L'intéret du Hook est d'ajouter des points d'extension de Liferay permettant ainsi de customiser Liferay sans toucher au code du portail.
C'est le mode privilégié pour les modifications du portail Liferay.

Il a néanmoins 2 problèmes :
- son périmètre qui est limité aux surcharges des JSP Liferay, à quelques propriétés de configuration ou de traduction, et à la gestion d'événnements Liferay ou du modèle fourni par le Service Builder.
- la compilation en erreur en développement, c'est de ce point que nous allons parler.

Si l'on veut customiser une page de Liferay, celle-ci a souvent besoin d'importer d'autres pages (exemple : /html/portal/init.jsp) ou des ressources déclarées dans le portail lui-même (themeDisplay, ...).

A part importer une grande partie du code dans notre projet de Hook, il va y avoir des erreurs de compilation qui ne seront pas génantes pour le déploiement mais polluent fortement l'environnement de développement.

Si on ne peut pas facilement éviter ces erreurs de compilation, on peut au moins les masquer à l'aide d'Eclipse.

Cliquer droit sur le projet de Hook > Properties > Validation
Sélectionner "Enable project specific settings"
Cliquer sur le bouton "..." de la ligne "JSP Syntax Validator"


Cliquer sur le bouton "Add exclude group" 


Selectionner "Exclude group" et cliquer le bouton "Add Rule...".
Selectionner "Folder or File name"


 Cliquer sur "Browse folder" et selectionner le répertoire contenant les jsps modifiés par le Hook


Valider et forcer la compilation.

Et voilà les erreurs de compilation n'apparaissent plus.

Une autre possiblité, c'est d'utiliser le plugin liferay pour Eclispe IDE 1.3+, une option du wizard pour le  Hook permet de désactiver la validation de la syntaxe des JSP.

jeudi 15 mars 2012

JUG Montpellier - Les portails & Liferay

Cette fois-ci, je m'y colle.

En effet, après avoir assisté aux présentations du JUG Montpellier sur Google application Engine ou Les interfaces web en 2011, je me suis mis du côté du speaker pour présenter les portails en général et Liferay en particulier.

Après avoir expliqué l'apparition du portail dans le paysage web, avoir défini et montrer le rôle des portails, j'ai réalisé un rapide tour sur l'offre du marché des portails java actuels (WebLogic Portal, l'offre conjointe GateIn par JBoss / eXoplatform, Websphere Portal, ...).

Pour poursuivre sur une explication un peu plus technique sur les portlets et leurs développements. Après une petite pause pour se remettre des PortletRequest et autres particularités liées aux normes java de portlets (JSR 168/286), il était temps d'aborder Liferay.

Après une présentation de Liferay abordant l'installation, les atouts de Liferay et un petit tour rapide sur le catalogue fournie de portlets, j'ai abordé le développement avec Liferay ( Plugin SDK, Service Builder, Liferay IDE, ...) et les problématiques d'organisation / d'habilitation des utilisateurs et des pages.

Et pour finir par une petite démonstration abordant ces problématiques ainsi que l'administration du portail.

Partager et communiquer sur des produits de portail est toujours intéressant mais constitue un vrai challenge que celui d'aborder en une soirée les principes que l'on détaille par exemple en formation en 3 jours.