Il y a peu de temps, j’ai mentionné la joie de ma découverte de xwiki. Quelques jours plus tard, et surtout après quelques heures de geekage intensif (et de lecture de documentation de velocity, hibernate, groovy, xwiki…) je viens de réussir à faire ce que je voulais ! À savoir avoir une macro permettant depuis mon xwiki d’aller récupérer des informations depuis un bugzilla à partir du numéro du bug. Concrêtement, dans ma page, j’utilise le code suivant :
#showBug(“123”)
pour obtenir le résultat suivant :
#226: Add a property to deactivate email verification
#231: Implement the Request Certificate uc
la couleur est dépendante du statut du bug. Voilà, c’est peut être pas grand chose, mais je suis vraiment impressionné par la rapiditié de développement que fournit xwiki au travers de velocity/groovy. Note : le code est disponible en attachement, néanmois je sais que ce n’est pas très optimisé, je vais le faire évoluer.
Voici une petite démo conviviale des possibilités de fédération d’identité proposées par OpenSSO, en interaction avec les applications google et salesforces. La fédération d’identité sera t’elle vraiment utilisée un jour ?
Bon, j’avoue, ce post est plus une pénitence pour moi qu’une véritable révélation. Il se trouve que pour mon site devel.asyd.net, qui hébergera à terme quelques projets persos (et éventuellement d’autres), je cherchais un outil pouvant plus ou moins faire office de forge. Gforge, bah, pas de ça chez moi, on est plus dans les années 1990. J’aurais bien voulu tester libresource pour de vrai, mais pour je ne sais quelle obscure raison, je n’ai jamais vraiment réussi la phase complète d’installation (bon, j’avoue aussi ne pas avoir vraiment insisté). Après quelques utilisations (mais très simplissimes) de xwiki, je m’étais dis que cela pourrait être l’occasion de tester vraiment xwiki.
La chance (et la motivation ?) aidant, j’ai (finalement) découvert la vraie puissance de xwiki. Notamment par la gestion des macros.
Mon idée étant de faire une mini forge très simple, je voulais juste un ensemble de projets (qui se traduit par la notion de spaces dans xwiki) avec des droits spécifiques, et un ensemble de pages respectant une charte, comme par exemple la page d’accueil d’un projet. Et pif paf, sur quoi je tombe ? Des macros, me permettant de créer très facilement un rendu pré-défini. Cela me permet donc par exemple de créer ce genre de page, identique à chaque projet, en une seule ligne (oui, la gestion du nom de projet est automatique, via la notion de spaces). En une seule édition, je modifie l’ensemble des (futurs) projets hébergés. Et du coup, je commence maintenant à imaginer la foule des possibilités offertes par les macros (et je n’ai pas encore commencer à regarder la gestion des formulaires ni des gabarits.) Plus sérieusement, je commence seulement à appréhender la souplesse et la puissance de xwiki. Les macros peuvent par exemple être écrites en velocity, mais également en groovy. On peut même créer ses propres plugins directement en java…
Parce que la configuration n’est pas forcément évidente, et aussi pour ne pas la chercher à chaque fois, voici un rapide howto pour configurer apache en front d’un EJBCA avec authentification des administrateurs.
Configurer le fichier workers.properties, puis ajouter la section suivante dans la confguration de votre VirtualHost :
Les portails semblent (a juste titre selon moi) redevenir un peu sur la scene. Notamment avec l’annonce d’OpenPortal, un rapprochement (pour ma part assez flou pour l’instant) avec Sun et la liberalisation de Sun Portal Server 7, et de liferay, un acteur connu des portails. De plus, l’arrivee d’une nouvelle norme (JSR-286) va permettre des evolutions tres interessantes. Vous connaissiez les IPC du monde systeme (Inter Process Communication) ? Et bien maintenant vous connaissez les IPC, (Inter Porlets Communication), qui permet a differentes portlets de s’echanger des donnees, ce qui peut donner des choses tres interessantes. Notez qu’il existe deja un bundle OpenPortal, nommer WebSynergy, tres simple a deployer (un simple unzip + une commande unix), disponible ici. Cependant, je n’ai rien vu de bien extraordinaire pour l’instant, cela ressemble juste un Liferay customise et deploye dans un glassfish (v3 !), mais je suis un peu mauvaise langue, le projet OpenPortal est tres tres recent, laissons lui le temps 🙂
On peut egalement citer PortletContainer, qui pourrais se definir comme un micro conteneur de portlet, en effet, peu voire pas de notion d’administration, on peut juste deployer des portlets, mais il fais quelques centains de KB, pas plus. Il peut etre donc etre interessant dans certaines utilisations (console d’administration ?)
Donc tous a vos IDEs (NetBeans bien sur), telecharger le plugin PortalPack, regarder les demos, notamment celle-ci (exemple d’IPC), et enjoy !
Si comme moi vous utilisez (par défaut ou par choix) inkscape pour créer vos schémas sous linux, vous serez sans doute content d’apprendre qu’il existe désormais une fonctionnalité permettant d’aligner un ensemble d’objets sur plusieurs lignes/colonnes. Pour cela, sélectionner l’ensemble des objets, puis cliquer sur le bouton Objet, puis Aligner sur une grille. Il suffit désormais de choisir le nombre de lignes et de colonnes, et voilà !