Les deux modes de SessionClicks

Technical Blogs August 1, 2014 By Achraf BEN AISSI

SessionClicks est un utilitaire qui est utilisé pour sauvegarder  l’état d’un élément en fonction de l’utilisateur qui l’utilise (ex : l’état d’un plié déplié…). La sauvegarde peut se faire de deux manières différentes et c’est un outil simple mais efficace et on n’en parle pas assez ;) :

La persistance en base :

Il peut arriver que l’on souhaite garder une information qui dure tout le temps même après une déconnexion, c’est la méthode la plus utilisée dans les sources du portail.  La classe SessionClicks sauvegarde les informations dans la table portalPreferences cependant il y a une limite de stockage en base définit par 

session.clicks.max.allowed.values=1024

Voici un exemple de fonctionnement:

En java :

SessionClicks.put()/SessionClicks.get()

En Ajax :

A.io.request(
'<%=themeDisplay.getPathMain() %>/portal/session_click',
{
   data: {
         myParam:'myValue'
   }
});

 

La sauvegarde dans la session du portail :

C’est cette nouveauté qui a motivé mon post laugh

En effet depuis la 6.1 Liferay propose de sauvegarder  les données dans la session portail. Nous n’avons pas beaucoup d’exemple d’utilisation sur le net donc en voici un :

En java :

SessionClicks.get(PortalSessionThreadLocal.getHttpSession(),"param")

En Ajax :

A.io.request(
'<%=themeDisplay.getPathMain() %>/portal/session_click',
{
   data: {
         myParam:'myValue',
         useHttpSession: true
   }
});

Le paramètre "useHttpSession"  permet de sauvegarder la valeure dans la session de l'utilisateur.

"PortalSessionThreadLocal.getHttpSession()" permet de récuperer la session du portail

 

Showing 1 result.