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"
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.