Pré-requis

Pour son fonctionnement, la portlet Zimbra nécessite d'avoir au préalable :

Téléchargement des sources

Il est possible de récupérer les sources de deux façons distinctes :

Téléchargement direct

Chaque version est disponible soit en .zip (pour les machines Windows) ou en .tar.gz (pour les machines Linux/UNIX).

Une fois l'archive récupérée, il faut la décompacter sur la machine où l'on souhaite installer la portlet :

 tar zxvf nancy2-portlet-zimbra-3.4.3-src.tar.gz

Client Subversion

Le dépôt Subversion est ouvert en anonyme, il est recommandé de récupérer une version présente dans la branche 'tags' :

 svn co https://subversion.renater.fr/portlet-zimbra/tags/3.4.3 portlet-zimbra-3.4.3

Configuration

La configuration de la portlet doit être réalisée dans un fichier portlet-zimbra.properties présent à la racine des sources. Un fichier d'exemple est fourni pouvant servir de base à toute nouvelle installation.

Voici les propriétés devant être renseignées dans ce fichier :

Les logs de l'application (ne contenant aucune information importante, si ce n'est les exceptions pouvant se produire) peuvent être configurés de trois façons différentes, simplement en commentant/décommentant les sections correspondantes du fichier portlet-zimbra.properties.

Logs console

Dans ce mode, les logs sont écris directement sur la sortie standard et aboutissent généralement dans le fichier catalina.out de Tomcat.
Aucune configuration n'est nécessaire avec ce mode.

Logs syslog

Propriétés à renseigner :

Logs fichier

Propriétés à renseigner :

Déploiement

La compilation et le déploiement se font à l'aide de la commande suivante :

 mvn package

Si tout s'est bien passé (build successful), vous devriez voir les fichiers de l'applications dans le dossier choisi pour le déploiement (deploy.dir). Si vous avez choisi de conserver le numéro de version dans le nom du répertoire de déploiement, il est recommandé de faire un lien symbolique vers la version courante (cela simplifiera considérablement les futures mises à jour).

Attention, si vous avez un portal en 4.0x, commenter les lignes suivantes dans le fichier src/main/webapp/WEB-INF/web.xml :

<servlet-mapping>
                <servlet-name>zimbra</servlet-name>
                <url-pattern>/PlutoInvoker/zimbra</url-pattern>
</servlet-mapping>

Un petit lien symbolique :

 

ln -s portlet-zimbra-3.4.3 portlet-zimbra

La dernière étape consiste à définir ce nouveau contexte dans la configuration de Tomcat. Il faut ajouter les informations suivantes au fichier server.xml en prenant soin de remplacer les propriétés deploy.dir et deploy.uri par les valeurs choisies pour la portlet (ou par le chemin du lien symbolique si vous en avez défini un) :

<Context path="deploy.uri" docBase="deploy.dir" crossContext="true">
  <Manager pathname=""/>
</Context>

Important : cette portlet utilise pour la partie Ajax le partage de session entre portlet et servlet. Pour que celui-ci fonctionne, vous devez absolument définir la propriété emptySessionPath sur le(s) connecteur(s) que vous utilisez dans Tomcat. Voici un exemple sur le connecteur JK, applicable également au connecteur HTTP :

 <Connector port="8009" protocol="AJP/1.3"
            redirectPort="4443" emptySessionPath="true" />

Publication

Voici un fichier de publication d'exemple pour cette portlet, il est nécessaire de remplacer les propriétés correspondant à celles saisies dans le fichier portlet-zimbra.properties :

<channel-definition script="classpath://org/jasig/portal/io/import-channel_v2-6.crn">
<title>Zimbra</title>
<name>Zimbra</name>
<fname>portlet-zimbra</fname>
<desc>Zimbra</desc>
<type>Portlet</type>
<class>org.jasig.portal.channels.portlet.CSpringPortletAdaptor</class>
<timeout>30000</timeout>
<hasedit>N</hasedit>
<hashelp>N</hashelp>
<hasabout>N</hasabout>
<secure>N</secure>
<locale>en_US</locale>
<categories>
  <category>CATEGORIE</category>
</categories>
<groups>
  <group>GROUPE</group>
</groups>
<parameters>
  <parameter>
    <name>portletApplicationId</name>
    <value>deploy.uri</value>
    <description/>
    <ovrd>N</ovrd>
  </parameter>
  <parameter>
    <name>portletName</name>
    <value>zimbra</value>
    <description/>
    <ovrd>N</ovrd>
  </parameter>
</parameters>
</channel-definition>

Voici les trois paramètres à spécifier dans ce fichier :

Il ne reste plus qu'à publier la portlet dans le portail.

svn co https://subversion.cru.fr/portlet-zimbra/tags/3.4.3 portlet-zimbra-3.4.3