Christophe Dumonet a écrit :
Bonjour,
Je développe des templates et j'aurai la question suivante :
- Lorsque je fais une modif sur un template, comment ne pas
passer par les étapes :
--> je reconstruis l'archive jar de mon template.
--> je copie mon archive dans newtemplates.
--> et l'auto-deploy se fait tout seul.
?
En fait, j'ai aussi la même question pour le developpement des
portlets, comment éviter de faire : création archive + redéploiement ?
Le déploiement est-il obligatoire ?
--> Si je redéploie mon archive en version n alors qu'elle est déjà
déployée en version n-1, la version n écrase t'elle la n-1 ?
Merci à vous, tout ça me rendrait plus efficace !
Cordialement,
Bonjour,
En ce qui concerne les portlets sous Jahia, je vous conseille de
développer des portlets JSR168. Vous trouverez la spécification
officielle à cette adresse: http://jcp.org/en/jsr/detail?id=168.
Lorsque vous déployez une portlet, Jahia enregistre la portlet dans la
base de données et ajoute quelques informations dans le fichier web.xml.
Exemple:
<web-app>
</web-app>
devient
<web-app>
*<display-name>Rss Portlet</display-name>
<servlet>
<servlet-name>JetspeedContainer</servlet-name>
<display-name>Jetspeed Container</display-name>
<description>MVC Servlet for Jetspeed Portlet Applications</description>
<servlet-class>org.apache.jetspeed.container.JetspeedContainerServlet</servlet-class>
<init-param>
<param-name>contextName</param-name>
<param-value>rssportlet</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>JetspeedContainer</servlet-name>
<url-pattern>/container/*</url-pattern>
</servlet-mapping>
<taglib>
<taglib-uri>http://java.sun.com/portlet</taglib-uri>
<taglib-location>/WEB-INF/tld/portlet.tld</taglib-location>
</taglib>*
</web-app>
Lorsque vous voulez mettre à jour une portlet, vous pouvez soit la
redéployer soit écraser les fichiers (jsp,....). Cepedant, il faut faire
attention à ce que le fichier web.xml contienne bien les informations
ajoutées par Jahia. S'il s'agit d'une mis à jour des classes, je vous
conseille de redéployer.
Lorque vous redéployez la portlet, celle ci est stoppée (appel de la
méthode destroy() ), undéployée (supprimée du répertoire webapps),
déployée et redémarré (appel de la méthode init()).
Enfin un redéploiment ne nécessite pas forcément un redémarrage du serveur.
KT.