Si la JSR 286 a ouvert la voie à l’introduction des mécanismes AJAX au sein des portlets via les ResourceURL, il existe finalement assez peu d’exemples disponibles à ce sujet sur le Web.

Cela s’explique essentiellement par la facilité de mise en oeuvre de cette solution. Preuve en est, ce petit exemple, vraiment pas bien méchant, qui mets à jour une date, après un appel serveur. Bien entendu, il est interdit de recharger entièrement la page du portail. Le développement est effectué à partir du template de portlet fournit par le Liferay Plugin SDK 5.2.2.

On commence par la partie la plus facile, l’implémentation de GenericPortlet :

 
@Override
public void serveResource(ResourceRequest request, ResourceResponse response)
   throws PortletException, IOException {
   Date date = new Date();
   request.setAttribute("now", date);

   include(viewJSP, request, response);
}

@Override
public void doView(RenderRequest renderRequest, RenderResponse renderResponse)
   throws IOException, PortletException {

   renderRequest.setAttribute("now", "No yet set");
   include(viewJSP, renderRequest, renderResponse);
}

L’implémentation reste donc simplifiée à l’extrême :

L’information n’est pas encore officiellement publiée sur le site de Liferay, mais le SVN est formel : Liferay 5.2.0 est disponible depuis le 25 janvier dernier ! Le site de Liferay n’est pas encore à jour, sans doute pour garder un peu plus longtemps en première page l’annonce de la sortie de la version Enterprise (5.1.3), il y a moins de 10 jours. 

Personnellement, j’attendais avec impatience cette version, depuis la présentation effectuée à Stuttgart lors de l’European Liferay Symposium fin septembre dernier, de la nouvelle interface d’administration, nettement plus conviviale et rassemblant tous les concepts propres à Liferay (communauté, organisation, etc..).

Que retenir d’autres sur les nouveautés de cette version ? Des choses anecdotiques (comme l’héritage de structures en CMS), d’autres qui vont permettre une plus forte adaptativité du portail au contexte de déploiement (comme les attributs supplémentaires dynamiques sur les organisations et les users), et comme toujours dans Liferay, des nouveautés en terme de portlets que je n’ai pas eu le temps de creuser (portlet mail totalement ré-écrite, composant de knowledge management, etc..), le tout avec un soucis permanent de garder des performances optimales (ré-écriture de la gestion des rôles et des permissions).

Ce qui est sûr, c’est que cette version peut être qualifier de majeure, tant elle progresse en terme d’utilisabilité et de couverture fonctionnelle.  

Le titre peut choquer et pourtant, c’est la préconisation de Mr Liferay en personne, à savoir Brian Chan.

 


 

Et comment ai-je pu avoir accès à cette information me direz-vous, tout simplement en participant au Liferay Symposium les 23 et 24 septembre dernier à Offenbach, non loin de Frankfort.

2 jours de conférence forts intéressants ou Bertrand et moi avons pu enfin découvrir qui se cache réellement derrière le nom ou plutôt la légende Brian Chan.
Certains auraient prétendu qu’il pèse non loin du quintal, se nourrissant exclusivement de pizzas commandées via le web afin de ne pas perdre de temps précieux dans le développement de Liferay.
La réalité est en fait tout autre, Mr Chan est tout simplement une star! Vif, intéressant, rapide comme l’éclair, drôle et même super humble : il prétend qu’à l’université, il était dernier de sa classe et ne parvenait pas à comprendre ce qu’était une HashMap! Et il boit même de la bière, Bertrand et moi même ayant eu la chance de pouvoir trinquer avec lui.

Mais résumons un peu ce qui s’est dit durant ces 2 jours. Pour commencer le point majeur annoncé mardi après midi par Brian (Kim et non Chan ou Cheung) : la sortie d’une version Enterprise de Liferay… payante! Avalanche de questions dont la principale est restée sans réponse précise : combien ça va coûter? Pour les autres précisions voici ce que j’ai pu retenir rapidement :

Le portail Liferay est très certainement la meilleure solution de portail d’infrastructure open source du moment.
Ce portail réussi le pari d’offrir une solution facile d’installation, très ergonomique, disposant d’un portefeuille conséquent de portlets de qualité, tout en étant tourné vers l’intégrateur qui souhaite souvent coller au plus proche aux besoins très spécifiques d’un client donné.
En quelques minutes, on dispose donc d’un environnement complet de customisation du portail qui permet à la fois :

  • De construire de nouvelles portlets JSR 168 (en mode intégré à la web app du portail ou en war séparé)
  • De modifier le comportement du moteur (que ce soit sur les fonctions de personnalisation, d’authentification, etc..)

La maîtrise de cet environnement n’est cependant pas immédiate, même pour un développeur JavaEE chevronné.
C’est la raison pour laquelle Ippon Technologies a décidé de construire une formation dédiée à ce sujet dont la prochaine session est prévue du 12 au 14 décembre.