jeudi 9 décembre 2010

Liferay : les utilisateurs ont aussi des espaces...

Cas rencontré pouvant prêté à confusion:

J'étais récemment confronté à un problème de création de compte user dans Liferay (6.05) via synchronisation LDAP/AD. Tous les users se créaient bien sauf 1, comme par hasard le compte spécialement créé pour l'administration du portail.

L'analyse du log a révélé une erreur lors de la tentative de création du compte sur la méthode UserLocalServiceImpl.validateScreenName() à la ligne 3274

Après analyse du code de cette méthode, il s'avère que Liferay effectue un contrôle d'unicité de nom de "group", autrement dit d'espace de pages (communauté, organisation, users...).

En effet, tout utilisateur pouvant potentiellement avoir son propre espace, basé sur son screenname, il ne peut y avoir 2 espaces portant le même nom!

Or, dans mon cas, j'avais préalablement créé une communauté dont le nom était justement le nom du user que j'avais déclaré ensuite. D'où l'erreur.

La règle à retenir : les noms de communautés, organisations et users(screenname) doivent être uniques entre eux.

samedi 4 décembre 2010

Portails, une lecture fonctionnelle

Une synthèse par Octo des cas fonctionnels de portails : Portails, une lecture fonctionnelle

Hacking Kinect : Video 3D

Le projet OpenKinect a pour vocation de rendre possible l'utilisation du périphérique ludique de la xBox sur d'autre matériels (PC, ...).
Une des mises en application de ce projet est un système de caméra en 3D, conçu par Olivier Kreylos.


Le principe : utiliser 1 ou plusieurs Kinects pour effectuer une numérisation dynamique en 3D, en temps réel. C'est à dire que ce qui est capturé par les Kinects est navigable numériquement en 3D...


Bon, c'est encore pas mal parasité, mais on peut imaginer les domaines d'application d'un tel principe :




D'autres vidéos... notamment celle avec incrustation d'un personnage numérique 3D.

jeudi 2 décembre 2010

Il neige...


Liferay : Générer un flux RSS à l'aide d'OpenSearch

La portlet Search de Liferay permet d'effectuer une recherche dans les contenus d'un portail Liferay, éventuellement limitant la recherche à la communauté courante.


En essayant de résoudre une défaut lié au fait que cette recherche ne ramène pas de résultat pour les contenus de type Journal ou Documents, dès lors qu'ils sont positionnés dans des portlets "scopées", j'ai découvert un fonctionnement intéressant.

La recherche Liferay, outre l'indexation basée par défaut sur Lucene, s'appuie sur le standard OpenSearch. L'implémentation d'Opensearch comprend également la possibilité d'effectuer la recherche par url avec résultat au format atom.
Le format de l'url est :
http://<hostname:port>/c/search/open_search?keywords={searchTerms}&amp;p={startPage?}&amp;c={count?}&amp;format=atom

searchTerms pouvant comprendre à priori des éléments de syntaxe, notamment sur des Fields de l'indexation (tags, title, date, ...), on peut ainsi créer rapidement sont flux RSS.

Un exemple : http://www.liferay.com/c/search/open_search?keywords=opensearch&format=atom

Par rapport à mon problème initial, cela m'a permis de vérifier que la recherche par ce biais me ramène bien tous les contenus, y compris ceux placés dans des portlets "scopées". Ce qui va me permettre de progresser dans la résolution...