SVN / Maven depuis une machine non routable

Si vous souhaitez télécharger/déployer la portlet depuis une machine non routable, vous allez être confronté à des difficultés :

Pour indiquer au binaire svn d'utiliser un proxy HTTP pour la récupération des sources, vous devez éditer le fichier ~/.subversion/servers et renseigner les propriétés suivantes (à la fin du fichier) :

[global]
http-proxy-exceptions = *.univ.fr
http-proxy-host = cache.univ.fr
http-proxy-port = 3128

Si votre serveur proxy nécessite une authentification, vous devez également renseigner les deux propriétés suivantes :

http-proxy-username = user
http-proxy-password = password

Pour indiquer à Maven d'utiliser un proxy HTTP, vous devez éditer le fichier ~/.m2/settings.xml :

<settings>
  <proxies>
    <proxy>
      <active>true</active>
      <protocol>http</protocol>
      <host>cache.univ.fr</host>
      <port>3128</port>
      <nonProxyHosts>*.univ.fr</nonProxyHosts>
    </proxy>
  </proxies>
</settings>

Simplification du déploiement dans un environnement cluster

TODO

Multi-domaine Zimbra

Il est possible d'utiliser la portlet dans un environnement comprenant plusieurs domaines Zimbra :

Dans ce cas, il suffit de publier plusieurs fois la portlet avec des paramètres de publication différents.
Voici un exemple de fichier de publication :

<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>
<portletPreferences>
  <portletPreference>
    <name>zimbra.token.service.url</name>
    <values>
      <value>http://zcs-auth.univ.fr/getToken</value>
    </values>
  </portletPreference>
  <portletPreference>
    <name>zimbra.soap.service.url</name>
    <values>
      <value>https://zimbra.univ.fr/service/soap</value>
    </values>
  </portletPreference>
  <portletPreference>
    <name>zimbra.url</name>
    <values>
      <value>http://zimbra.univ.fr/getToken</value>
    </values>
  </portletPreference></portletPreferences>
</channel-definition>

Ce fichier de publication contient des paramètres à modifier :

Important : si vous omettez ces paramètres lors de la publication de la portlet, alors les URL utilisées seront celles définies dans le fichier profiles.xml.

Avoir le nombre de messages non lu dans le portail

Ceci est valable pour la version esup 3.2 et la portlet zimbra > 3.4.3

On peut travailler sans modifier de XSL uniquement au niveau javascript et jquery.

Il faut ajouter dans le skin.xml un nouveau javascript a utiliser par exemple :

custom\uPortal\uportal-war\src\main\webapp\media\skins\universality\uportal3\skin.xml
<js>../common/javascript/uportal/zimbra-unread.js</js

Créer le plugins javascript dans : custom\uPortal\uportal-war\src\main\webapp\media\skins\universality\common\javascript\uportal\zimbra-unread.js

/**********************************************************
 Revision: 2012-10-16 : Julien Marchal
 Ajout du nombre de message non lu dans la barre de header
**********************************************************/
(function($){
    $(document).ready(function(){
        var postAppendStr=" Message(s)";
        var mailTitle="Voir mes messages";
        var mailUrl="https://mail.univ-nancy2.fr";
        var addSpan=true;
        
        if ($('#portalWelcome').length != 0) {
            var outStr='';
            outStr+='<span id="portalPageBarZimbraUnread">';
            outStr+=' <a title="' + mailTitle + '" href="' + mailUrl + '" target="_blank">';
            outStr+='   <span id="messagesCount">0' + postAppendStr + '</span>';
            outStr+=' </a>';
            if (addSpan) outStr+=' <span>|</span>';
            outStr+='</span>';
            
            $("#portalPageBarHome").after(outStr);            
                
            function timerMessagesCount() {
              ajaxMessageCount();
              window.setTimeout(timerMessagesCount, 60000);
            }
            
            function ajaxMessageCount() {
                up.jQuery.getJSON("/portlet-zimbra/ajax/getMessagesCount",
                function(data) {
                    if (data.integer == 0)
                        up.jQuery("#messagesCount").html("0"+postAppendStr);
                    else
                        up.jQuery("#messagesCount").html(""+data.integer+postAppendStr);
                });
            }
            
            timerMessagesCount();
        }
    
    });    
})(jQuery);