Canal Intranet 3.21
Installation
1. Pré requis
2. Installation
2.1. Création de la base de données
2.2. Configuration du canal
2.2.1. Structure du fichier de configuration
2.2.2. Configuration de la base de données
2.2.3. Configuration des espaces de stockage
2.2.4. Configuration du canal annuaire servant
2.2.5. Configuration de la taille maximale autorisée pour les fichiers déposés
2.2.6. Configuration des notifications périodiques
2.2.7. Configuration des derniers documents déposés
2.3. Configuration des notifications périodiques
2.4. Recopie des librairies
2.5. Déploiement
2.6. Publication

1. Pré requis

Pour son fonctionnement, le canal Intranet nécessite l'installation préalable de plusieurs éléments :

2. Installation

L'installation du canal se déroule en six étapes distinctes :

2.1. Création de la base de données

Pour son fonctionnement, le canal utilise une base de données qui lui est propre. Il est recommandé d'utiliser une base gérant les transactions. Le canal a été testé avec MySQL (tables au format BdB ou InnoDB pour le support des transactions), PostgreSQL et Oracle. Dans le répertoire db se trouvent des scripts de création de la base pour MySQL et PostrgreSQL.

2.2. Configuration du canal

Toute la configuration du canal doit être réalisée dans le fichier properties/CIntranet.xml. Voici un aperçu de la structure de ce fichier avec en gras les balises qu'il faudra nécessairement paramétrer :

2.2.1. Structure du fichier de configuration

Voici un aperçu de la structure du fichier de configuration :

<config>                                                        <!-- Racine de la configuration -->

  <pools>                                                       <!-- Connexions à la base de données -->
    <pool name="default" />                                     <!-- Pool de connexion par défaut -->
  </pools>
 
  <actions />                                                   <!-- Configuration propre du canal -->

  <storages>                                                    <!-- Configuration des ressources de stockage -->
    <storage>                                                   <!-- Configuration d'une ressource de stockage -->
      <parameters>                                              <!-- Paramètres de cette ressource de stockage -->
        <parameter />                                           <!-- Un paramètre -->
      </parameters>
    </storage>
  </storages>

  <properties>                                                  <!-- Paramètres divers -->
    <property />                                                <!-- Un paramètre -->
  </properties>

</config>

2.2.2. Configuration de la base de données

Le fichier de configuration du canal doit contenir les informations lui permettant de se connecter à sa base de données. Il est obligatoire de créer un 'pool' de connexion qui s'appellera default et qui pourra soit utiliser une connexion JDBC classique, soit utiliser un pool de connexion Tomcat.

2.2.2.1. Connexion JDBC

Pour une connexion JDBC standard, quatre informations doivent être renseignées :

Voici un exemple de configuration pour MySQL :

<pool name="default"
      type="JDBC"
      url="jdbc:mysql://mysql.univ.fr/baseIntranet"
      username="login"
      password="password"
      driverClassName="com.mysql.jdbc.Driver" />

2.2.2.2. Connexion avec un pool Tomcat

Voici un exemple de configuration pour utiliser un pool Tomcat appelé intranetPool :

<pool name="default"
      type="JNDI"
      url="intranetPool" />

2.2.3. Configuration des espaces de stockage

C'est dans cette partie du fichier de configuration qu'il va être possible de définir une ou plusieurs ressources de stockage physique. Lors de la création d'un intranet, l'administrateur pourra choisir à quelle ressource de stockage il l'affecte.

Deux types de stockages ont été implémentés et sont fournis avec le canal, mais il est possible d'en développer d'autres. Le premier s'appuie sur un stockage filesystem alors que le second utilise un serveur WebDAV.

2.2.3.1. Stockage Filesystem

Le stockage sur filesystem utilise un répertoire local du serveur pour enregistrer les fichiers. Dans le cas d'une installation multi-serveurs, il faut que ce répertoire soit accessible depuis l'ensemble des serveurs via un partage (NFS par exemple). On précise dans la configuration ce répertoire et le canal se charge d'y créer un dossier par intranet utilisant cet espace. La gestion des fichiers dans chaque intranet peut utiliser deux modes différents en précisant la classe utilisée pour le stockage :

Exemple de configuration pour un stockage filesystem basic :

<storage name="local"                                 <!-- Identifiant unique de cet espace de stockage -->
                                                      <!-- Classe implémentant le mécanisme de stockage basic -->
         classname="org.esupportail.portal.channels.CIntranet.storage.BasicFileSystemStorage"
         description="Disque dur local" >             <!-- Description apparaissant lors du choix de l'espace de stockage -->
  <parameters>
    <parameter name="path"                            <!-- Paramètre obligatoire dans le cas d'un stockage basic -->
               value="/mnt/intranet" />
  </parameters>
</storage>

Exemple de configuration pour un stockage filesystem balanced :

<storage name="local.balanced"                        <!-- Identifiant unique de cet espace de stockage -->
                                                      <!-- Classe implémentant le mécanisme de stockage balanced -->
         classname="org.esupportail.portal.channels.CIntranet.storage.BalancedFileSystemStorage"
         description="Disque dur local - ventilé" >   <!-- Description apparaissant lors du choix de l'espace de stockage -->
  <parameters>
    <parameter name="path"                            <!-- Paramètre obligatoire dans le cas d'un stockage balanced -->
               value="/mnt/intranet" />
    <parameter name="size"                            <!-- Paramètre obligatoire indiquant le nombre maximal de fichiers par répertoire -->
               value="100" />
  </parameters>
</storage>

2.2.3.2. Stockage WebDAV

Le stockage WebDAV est identique au stockage filesystem balanced dans sa gestion des fichiers. Il utilise un accès WebDAV en mode trusted, c'est à dire qu'il est nécessaire de fournir un identifiant et un mot de passe ayant des droits suffisants sur le répertoire du serveur pour le fonctionnement du canal (création / suppression de répertoires, création / suppression de fichiers).

Exemple de configuration pour un stockage WebDAV :

<storage name="webdav"                                <!-- Identifiant unique de cet espace de stockage -->
                                                      <!-- Classe implémentant le mécanisme de stockage WebDAV -->
         classname="org.esupportail.portal.channels.CIntranet.storage.DAVStorage"
         description="Serveur WebDAV" >               <!-- Description apparaissant lors du choix de l'espace de stockage -->
  <parameters>
    <parameter name="url"                             <!-- Paramètre obligatoire indiquant l'URL du serveur -->
               value="http://webdav.univ.fr/stockage/intranet" />
    <parameter name="login"                           <!-- Paramètre obligatoire indiquant l'identifiant -->
               value="login" />
    <parameter name="password"                        <!-- Paramètre obligatoire indiquant le mot de passe -->
               value="password" />
    <parameter name="size"                            <!-- Paramètre obligatoire indiquant le nombre maximal de fichiers par répertoire -->
               value="100" />
  </parameters>
</storage>

2.2.4. Configuration du canal annuaire servant

Il est nécessaire de préciser dans le fichier de configuration le ou les annuaires qui apparaîtront lorsqu'il faudra choisir un utilisateur (par exemple pour lui ajouter des permissions sur un dossier). Le fichier de configuration du canal annuaire possède des entrées appelées directories, il faut définir une propriété annuaire.

Voici un exemple de configuration pour la partie annuaire :

<property name="annuaire" value="persPrive,etudPrive" />

2.2.5. Configuration de la taille maximale autorisée pour les fichiers déposés

Il est possible de préciser une taille maximale pour les fichiers déposés dans le canal.

Important

Cette taille n'a de sens que si elle est inférieure à celle précisée dans la configuration du portail

Voici un exemple de configuration pour une taille maximale de 5 Mo :

<property name="maxfileupload" value="5000000" />

2.2.6. Configuration des notifications périodiques

Les notifications périodiques permettent d'envoyer aux utilisateurs en ayant fait le choix un message électronique chaque jour les informant des documents en attente de validation.

Voici un exemple de configuration des notifications périodiques :

<property name="fname" value="esup-canal-intranet" />              <!-- fName du canal -->
<property name="mail.smtp" value="mail.univ.fr" />                 <!-- Serveur de mail -->
<property name="mail.from" value="intranet@univ.fr" />             <!-- Adresse d'expédition des messages -->

2.2.7. Configuration des derniers documents déposés

Il est possible de définir le nombre de fichiers affichés lorsque l'on effectue une recherche sur les derniers documents déposés.

Voici un exemple de configuration pour afficher les 20 derniers documents déposés :

<property name="nbdoc" value="20" />

2.3. Configuration des notifications périodiques

Les notifications périodiques doivent être déclenchées chaque jour par une tâche planifiée de type CRON.

Il est nécessaire de créer un script SH qui doit appeler la tâche ANT notify.

Pour fonctionner correctement, la librairie mail.jar doit se trouver dans le classpath du canal (normalement elle est présente dans les librairies du portail, il n'y a donc rien à configurer).

Important

Pour que les notifications périodiques fonctionnent correctement, il est nécessaire de paramétrer en plus du pool 'default' un pool appelé 'cron' obligatoirement de type JDBC et pointant sur la même base de données.

2.4. Recopie des librairies

Pour le fonctionnement WebDAV, le canal nécessite deux librairies supplémentaires qui ne sont pas fournies par défaut avec le portail. Il s'agit de commons-httpclient.jar et jakarta-slide-webdavlib-2.0.jar et elles sont distribuées avec le canal dans le répertoire lib.

Ces librairies ne sont pas déployées dans le portail de façon automatique, il convient donc de les copier dans le répertoire Perso/uPortal/lib et de redéployer le portail.

2.5. Déploiement

Le déploiement du canal est réalisé automatiquement par la tâche ANT deploy.

2.6. Publication

Le canal Intranet est composé de deux canaux distincts, un pour l'administration des espaces et l'autre pour la consultation destiné aux utilisateurs.

A la racine du package se trouvent deux fichiers d'exemples destinés à être utilisés avec la directive pubchan du portail : pubchan_CAdminIntranet.xml et pubchan_CIntranet.xml.

Dans le cas d'une publication manuelle via le Channel Manager du portail, voici les classes à paramétrer :