Groupe 2F (stockage)

Date de création : 3 Septembre 2004
Dernière modification : 3 Novembre 2004
Diffusion : internet

Installation du canal WebDAV V2

Présentation

Le Canal Webdav permet la gestion de documents au travers un espace de stockage personnalisé.

Dans le cadre du développement du projet inJac, le canal a été enrichi afin de gérer des fonctionnalités avancées comme la navigation entre plusieurs espaces de stockage, la gestion des droits …

Installation

Avant toute chose, décompressez l'archive dans le répertoire CWebdav-2-RC-3.

Copie des librairies

Le Canal Webdav repose sur l'utilisation de la libraire cliente Slide de Jakarta.

Le déploiement ne recopiant pas automatiquement les libraires utilisées au sein du portail, il est nécessaire de les recopier manuellement.

Les 3 fichiers concernés sont jakarta-slide-webdavlib-2.2pre1.jar , commons-httpclient.jar et jdom-1.0.jar se trouvant dans le dossier CWebdav-2-RC-3/lib.

En adaptant en fonction de la version de votre portail et de votre OS, les 3 fichiers sont à copier dans le dossier C:\esupdev\esupdev-2.3\uPortal_2-3-1-quick-start\webapps\uPortal\WEB-INF\lib.

Configuration du canal

Une fois les librairies recopiées, il est nécessaire d'éditer le fichier de configuration CWebDav.xml se trouvant dans le dossier CWebdav-2-RC-3\properties.

Voici un exemple de ce fichier :

<WEBDAV> 

<!-- Définition des espaces -->

<SPACES url="http://mon.serveur:8080/slide">

<SPACE
key="key1"
label="Espace perso"
path="/~{username}"
/>

<SPACE
key="key2"
label="Espaces d'édition"
path="/files/Injac/editionSpaces"
/>

<SPACE
key="key3"
label="Espaces de publication"
path="/files/Injac/publicationSpaces"
/>

</SPACES>

<!-- Authentification -->

<AUTH
usernameAttribute="username"
trustedLogin="toto"
trustedPassword="trusted"
/>

<!-- Classe utilisant la librairie -->

<DAV_ACCESS
class="org.esupportail.portal.channels.CWebdav.provider.DavAccessImpl"
/>

<!-- Options -->

<DEFAULT_OPTIONS_INTERFACE
confirmDel="true"
allowDelNonEmptyFolder="true"
/>

<!-- Description des fichiers non visibles par l'utilisateur -->

<INVISIBLE_FILES>

<REG_EXP pattern="^\..*"/>

</INVISIBLE_FILES>

</WEBDAV

Voyons en détail les différents aspects de ce fichier de configuration.

Les différents espaces <SPACES>

Adresse du serveur

Les espaces de travail

Les balises "<SPACE >" définissent chaque espace visible par l'utilisateur.

Les attributs sont les suivants :

La gestion des espaces peut se faire à travers des attributs LDAP. Par exemple, nous pouvons utiliser l'attribut "username" correspondant au login de la personne afin de définir un espace de travail personnel. Mis entre accolades, l'attribut est remplacé automatiquement par sa valeur. Le path de cet espace personnel serait alors /~{username} . Il est également possible de cette manière de créer des espaces de travail partagés par tous les étudiants d'une même promotion, il suffit pour cela d'utiliser l'attribut stockant le code étape de l'étudiant.

Il est à noter que ce canal peut être utilisé en tant que canal propre à inJac, pour cela, il faut définir les 3 espaces personnel/auteur, édition et publication. Mais il peut être utilisé en tant que simple Canal Webdav et alors ne définir que des espaces personnels.

L'authentification <AUTH>

Dans cette version, l'authentification se fait de manière "trusted", c'est-à-dire que nous utilisons un mot de passe partagé par tous les utilisateurs.

Les attributs sont les suivants :
"usernameAttribute" : cet attribut donne le nom de l'attribut LDAP qui est utilisé pour récupérer le login de connexion de l'utilisateur. En effet, c'est ce même login qui est utilisé pour la connexion au serveur Slide. Par défaut, nous utilisons l'attribut "username".
"trustedLogin" : il est possible d'utiliser un login partagé par tous les utilisateurs. Si ce champ est renseigné, le login de connexion de l'utilisateur n'est pas récupéré, et c'est celui-ci qui sera utilisé.
"trustedPassword" : mot de passe unique partagé par tous les utilisateurs.

Classe d'accès à la librairie <DAV_ACCESS>

Afin de s'abstraire totalement de la libraire utilisée, une seule classe gère l'utilisation de la bibliothèque cliente. Le nom de cette classe est renseigné au niveau du fichier de configuration afin de changer cette classe en cas de changement de bibliothèque.
"class" : par défaut, la valeur est org.esupportail.portal.channels.CWebdav.provider.DavAccessImpl

Options de suppression <DEFAULT_OPTIONS_INTERFACE>

"confirmDel" : si la valeur est à "true", un message de confirmation apparaît lorsque l'utilisateur souhaite supprimer un fichier ou un dossier.
"allowDelNonEmptyFolder" : si la valeur est à "true", l'utilisateur a le droit de supprimer des répertoires non vides.

Fichiers invisibles <INVISIBLE_FILES>

Certains types de fichiers sont invisibles à l'utilisateur, comme les fichiers système par exemple. Pour cela, nous utilisons une expression régulière au niveau de la configuration, définissant la forme de ces fichiers :
"pattern" : par défaut, nous cachons les fichiers dont le nom commence par un point, l'expression régulière correspondant est "^\..*"

Déploiement du Canal

Préparation du déploiement : modifier le fichier build.properties en fonction de la version de portail que vous utilisez.
Lancez la commande "ant deploy" relative au fichier build.xml contenu dans le dossier CWebdav-2-RC-3.
Il ne reste plus qu'à l'administrateur du portail de publier le canal.