Environnement de développement

Attardons nous maintenant au répertoire d'extensions. Relativement complexe dans sa structure on s'aperçoit rapidement qu'il a été bien pensé et permet une certaine liberté dans la personnalisation du portail.

Le principe du répertoire d'extensions est relativement simple : à chaque composant du portail pouvant être personnalisé un répertoire d'extensions. Le processus de build de Liferay inclus la gestion de ces répertoires.

ext-ejb

Il s'agit d'un des répertoires les plus importants. Ici, on pourra surcharger directement les classes par défaut du portail. Lors du déploiement, une archive est générée à partir des fichiers sources de ext-ejb et est ensuite placée au niveau du classloader du serveur d'application. Les classes de cette archive surchargeront les classes équivalents de Liferay le cas échéant.

C'est aussi à cet endroit que l'on peut redéfinir des paramètres de configuration du portail. Les fichiers portal-ext.properties et system-ext.propertiesdu répertoire classes permettent en effet d'écraser les options de configuration du portail.

Je vous parlais tout à l'heure du répertoire où Lucène stocke ses index. Pour redéfinir cette valeur il suffit d'éditer le fichier portal-ext.properties et de préciser le répertoire où vous désirez que Lucene écrive ses index :

lucene.dir=/path/to/lucene/index

Lors du chargement de ces paramètres de configuration, Liferay surchargera ses valeurs par défaut par celles présentes dans le fichier portal-ext.properties. Pour savoir l'ensemble des paramètres disponibles, jettez un oeil au contenu du fichier ${lp.source.dir}/portal-ejb/classes/portal.properties. Le principe est exactement le même pour le contenu du fichier system-ext.properties.

Si vous avez essayer de changer la langue de l'interface du portail, vous vous êtes sans doute rendu compte du caractère approximatif de celle-ci. Vous pouvez, de la même manière que les fichiers portal-ext.properties et system-ext.properties, redéfinir les fichiers de langue utilisé. Tout cela se passe dans le répertoire ${lp.ext.dir}/ext-ejb/classes/content. Par exemple, si je désire redéfinir le fichier de langue pour le français, je copie le fichier ${lp.source.dir}/portal-ejb/classes/content/Language_fr.properties vers ${lp.ext.dir}/ext-ejb/classes/content/Language-ext_fr.properties. Il "suffit" maintenant d'éditer le contenu de ce fichier.

ext-lib

Le développement Java et encore plus sous plateforme J2EE rime souvent avec l'introduction de librairies diverses.

Les librairies que l'on désire ajouter au portail seront placées dans le répertoire ${lp.ext.dir}/ext-lib. Elles seront déployées dans le classloader de Tomcat ( ou du serveur d'application que vous utilisez) pour une utilisation à l'intérieur des portlets par exemple.

Vous pouvez également gérer par l'intermédiaire du répertoire ext-lib des librairies diverses liées uniquement au développement. L'exemple typique est l'utilisation de librairie de test comme JUnit . Vous pouvez placez ces librairies dans le répertoire ext-lib/development. Elles ne seront pas recopiés vers le classloader du serveur d'application lors du déploiement.

ext-web

Il s'agit ici de permettre la sucharge de toute la signalétique Web – les fichiers descripteurs - du portail. Les fichiers à modifier se trouvent dans ext-web/docroot/WEB-INF. L'impact n'est pas le même selon que l'on modifie un fichier ou un autre :

  • Les fichiers liferay-display.xml, liferay-look-and-feel.xml, liferay-portlet.xml et portlet.xml remplacent directement les fichiers de Liferay par défaut.
  • Le contenu de portlet-ext.xml et de remoting-servlet-ext.xml sera ajouté au fichier de même nom sans -ext.
  • struts-config.xml, tiles-defs.xml et web.xml seront fusionnés avec leur équivalent Liferay.

Lors du processus de déploiement, le contenu Web par défaut du portail sera décompressé dans ext-web/tmp. Les opérations décrites ci-dessus seront ensuite appliquées entre ext-web/docroot et ext-web/tmp. Enfin, lors du déploiement, tout le contenu de ext-web/tmp sera recopié vers le répertoire /liferay du serveur d'application.

Au final, le répertoire ext-web vous permettra par exemple de réduire le nombre de portlets disponible par défaut (ou d'en rajouter) sous votre portail ou d'ajouter des servlets ou des filters à votre application Web.

portlets

C'est ici que l'on place les fichiers WAR des portlets compatible JSR 168 que l'on veut voir déployé sur le portail.

themes

Il contient que les thèmes que l'on a crée pour le portail. Liferay dispose en effet d'un mécanisme puissant de thème permettant une personnalisation complète du portail. Dans le cas idéal toutes personnalisation du portail devrait passer par la création d'un thème. Pour plus d'informations au sujet des thèmes sous Liferay voir http://www.liferay.com/web/guest/documen(..).

Mise à jour du portail

La structure du répertoire d'extension a pour 1er objectif de faciliter la mise à niveau du portail. En effet, dans le meilleur des cas, lors de la sortie d'une nouvelle version de Liferay, il suffit de remplacer le contenu de ${lp.ext.dir}/ext-ear/modules par les nouvelles versions des fichiers. Ensuite un

ant deploy

au niveau de la racine du répertoire d'extensions doit suffire pour mettre à jour le portail.

Comments

Cela fait plusieurs fois que

Cela fait plusieurs fois que je passe sur votre site sans y laisser de petit mot de soutient. Merci pour les informations que l'on peut y trouver !

salut, veuillez essayer de

salut,
veuillez essayer de séparer l'ecriture avec des espaces
merci

Post new comment

The content of this field is kept private and will not be shown publicly.