Le protocole dav permet aux utilisateurs d'éditer et de sauver les fichiers inclus dans les documents directement depuis leur traitement de texte, tableurs et autres logiciels d'édition de fichiers.
L'application DAV de dynacase-platform gère deux serveurs WebDAV :
Lors de la modification de fichiers par l'interface Web, l'éditeur de fichier utilise le serveur WebDAV authentifié par numéro de session. L'adresse de ce serveur WebDAV doit être précisé dans le paramètre applicatif FREEDAV_SERVEUR. L'adresse du deuxième serveur doit être renseigné dans le paramètre WEBDAV_SERVEUR (accessible depuis le menu administration/paramètres de configuration/paramètres applicatif/dav).
Ces deux serveurs doivent avoir deux noms distincts du nom de la machine pour l'accès à l'interface web. Ces deux noms désignent la même machine (alias DNS) que le serveur WEB.
Le serveur Web Apache doit être configuré pour avoir deux hôtes virtuels (virtualhost) correspondant aux deux serveurs DAV.
Le navigateur Web ne peut pas nativement exécuter un autre programme. Pour autoriser votre navigateur à ouvrir les éditeurs vous devez installer deux fichiers sur votre poste client 'opendav.reg' et 'opendav.vbs' :
Pour enregistrer le protocole pour le navigateur, il faut double-cliquer sur l'icone du fichier 'opendav.reg' que vous avez téléchargé. Ensuite il faut enregistrer le fichier 'opendav.vbs' dans le répertoire C:\WINDOWS.
Après cette manipulation à partir de votre navigateur Internet Explorer ou Firefox, vous pouvez éditer et enregistrer les fichiers comme s'ils étaient sur votre disque dur.
Lorsque vous cliquez sur le lien ' Ouvrir dans un éditeur', une interface vous demande de choisir le programme capable de lire le fichier. Pour enregistrer le fichier sur le serveur, une fois les modifications effectuées, il suffit d'utiliser le menu enregistrer de l'éditeur comme d'habitude
Il est également possible de connecter un lecteur réseau qui permettra d'accéder à Dynacase-platform comme à un accès réseau partagé, cela peut être pratique pour l'ajout simultané de nombreux fichiers, que l'on pourra par la suite, enrichir en métadonnées.
Notes
Dans firefox, entrez l'URL : about:config Ajouter les options suivantes :
nom : network.protocol-handler.external.asdav valeur : true
nom : network.protocol-handler.app.asdav valeur : dynacase-opendav.sh
Dans un répertoire de votre path (accessible par $PATH lors du lancement du navigateur)
gconftool-2 -s /desktop/gnome/url-handlers/asdav/command '/path/to/app %s' --type String gconftool-2 -s /desktop/gnome/url-handlers/asdav/enabled --type Boolean true
Créer le fichier de commande dynacase-opendav.sh
#!/bin/bash np=`echo $1 | sed "s/asdav:/http:/"` ooffice "$np"
Ce fichier doit être exécutable.
Il reçoit en argument l'URL du fichier à éditer. Cette URL est une ressource asdav: qui doit être transformé en http: et être fournie à l'exécutable Open Office.
Ce script lance simplement openoffice avec le fichier du serveur WebDAV.
Si la configuration n'est pas correcte, vous allez rencontrer ce message :
Si tout fonctionne correctement, vous allez avoir cette fenêtre :
Dans le profil de Firefox (ex : /home/toto/.mozilla/firefox/5i4imfkt.default), il faut créer ou modifier le fichier « user.js » et ajouter ces deux lignes :
user_pref("network.protocol-handler.app.asdav", "dynacase-opendav.sh");
user_pref("network.protocol-handler.external.asdav", true);
Dans le dossier d'installation de Firefox (ex : /opt/firefox/defaults/pref), il faut créer le fichier « all-dynacase-dav.js » et ajouter ces deux lignes :
pref("network.protocol-handler.app.asdav", "dynacase-opendav.sh");
pref("network.protocol-handler.external.asdav", true);
Télécharger et installer l'application Asdav.app :
L'application Asdav.app permet d'ouvrir les URLs `asdav:' de Dynacase-platform avec OpenOffice, et donc d'éditer en ligne tous les types de fichiers supportés par celui-ci.
Asdav.app utilisera en premier OpenOffice.org.app, et si celui-ci n'est pas disponible il utilisera NeoOffice.org.app.
Note pour les utilisateurs sous Mac OS X Tiger (10.4)
OpenOffice.org.app 3.0.0 comporte un petit bug qui le rend inutilisable lorsqu'il est lancé par Asdav.app (c.f. http://www.openoffice.org/issues/show_bug.cgi?id=93731)
Pour contourner ce problème, il faut éditer le fichier `/Applications/OpenOffice.org.app/Contents/Info.plist' et changer la valeur de la clef `CFBundleExecutable' par `soffice.bin' :
[...] <key>CFBundleExecutable</key> <string>soffice.bin</string> [...]
Note: ce problème doit être à présent résolu à partir de OpenOffice.org 3.0.1
L'utilisation de la fonction DAV nécessite la création de deux configurations Apache à base de VirtualHosts. Comme cette conf n'est pas accessible et réalisable par dynacase-control, vous devrez insérer les configurations données ci-dessous dans la configuration de votre serveur Apache.
L'utilisation du protocole dav nécessite utilise un schéma dédié dans la base données générale.
Les tables dav.locks, dav.properties et dav.sessions sont automatiquement crée lors de l'installation de dynacase-platform.
Ce module nécessite en pré-requis l'activation du module “rewrite” :
a2enmod rewrite /etc/init.d/apache2 restart
Une fois l'installation terminée, il est possible de vérifier que la base de données webdav est correctement initialisée :
# su postgres
postgres@fcnet:/root$ psql <mabase>
...
mabase=# SET search_path TO dav;
SET
mabse=# \dt
Liste des relations
Schéma | Nom | Type | Propriétaire
--------+------------+-------+--------------
dav | locks | table | freedomowner
dav | properties | table | freedomowner
dav | sessions | table | freedomowner
(3 lignes)
Pour utiliser les fonctions d'édition et de montage WebDAV, vous devez mettre en place deux VirtualHosts Apache.
Pour cela, il vous faut déclarer deux noms DNS additionnels qui pointeront vers votre serveur dynacase-platform.
Exemple
Soit un serveur dynacase installé par Dynacase-control le répertoire `/var/www/ged', et accessible par l'enregistrement DNS `ged.example.net'.
Vous pouvez créer deux enregistrements DNS `ged-freedav.example.net' et `ged-webdav.example.net' qui pointeront vers `ged.example.net'
ged-freedav IN CNAME ged.example.net. ged-webdav IN CNAME ged.example.net.
Dans ce cas, les configurations associées seront :
Fichier de configuration `/etc/apache2/sites-available/default-freedav'
<VirtualHost *:80>
ServerName ged-freedav.example.net
DocumentRoot /var/www/ged/freedav
<Directory /var/www/ged/freedav/>
Order allow,deny
Allow from All
DirectoryIndex index.php
Options FollowSymLinks
AllowOverride All
</Directory>
ErrorLog /var/log/apache2/freedav.error.log
</VirtualHost>
Activer la configuration
# a2ensite ged-freedav # /etc/init.d/apache2 restart
Fichier de configuration `/etc/apache2/sites-available/ged-webdav'
<VirtualHost *:80>
ServerName ged-webdav.example.net
DocumentRoot /var/www/ged/webdav
<Directory /var/www/ged/webdav/>
Order allow,deny
Allow from All
DirectoryIndex index.php
Options FollowSymLinks
AllowOverride All
</Directory>
ErrorLog /var/log/apache2/webdav.error.log
</VirtualHost>
Activer la configuration
# a2ensite ged-webdav # /etc/init.d/apache2 restart
Remarque : Il est possible de vérifier avec votre navigateur que les deux VirtualHost fonctionnent correctement :
Positionner les paramètres applicatif suivants avec les noms DNS associés aux accès FreeDAV et WebDAV :
L'application dav comporte quatre paramètres accessibles via :
| référence | nom | |
|---|---|---|
| FREEDAV_SERVEUR | adresse du serveur webdav pour freedav | alias de nom de la machine serveur. Le virtual host associé ne doit pas être authentifié |
| WEBDAV_SERVEUR | adresse du serveur webdav pour le serveur authentifié | alias de nom de la machine serveur. Le virtual host associé doit être authentifié |
| WEBDAV_DB | coordonnées d'accès à la base de données webdav | doit être égale aux coordonnées de la base principale - automatiquement renseignée lors de l'installation |
| WEBDAV_ROOTID | Identifiant du dossier racine pour l'accès authentifié | identifiant du document dossier pour la racine du webdav authentifié. Lors d'un usage combiné avec WORKSPACE, la référence désigne un document recherche simple qui recherche l'ensemble des espaces de travail |
| WEBDAV_FOLDERMAXITEM | Nombre maximum d'éléments (dossier/fichier) visibles dans un dossier | Cette limite permet d'éviter d'afficher trop d'éléments pouvant provoquer un ralentissement de client. |
En cas de problème dans la mise en place de l'application dav, il est possible d'effectuer différents tests pour identifier la source du problème.
Le client en ligne de commande webdav disponible sous Linux permet de vérifier que la connexion au serveur webdav et au serveur freedav fonctionne correctement :
$ cadaver ged-freedav dav:/>
$ cadaver ged-webdav Authentication required for on server `ged-webdav': Username: admin Password: dav:/> ls Listing collection `/': succeeded. Coll: import 0 sep 17 16:25 Coll: la poubelle 0 sep 17 16:25 Coll: les cycles 0 sep 17 16:25 Coll: les familles 0 sep 17 16:25 Coll: les maisons 0 sep 17 16:25 Coll: les profils 0 sep 17 16:25 dav:/>
En cas de problème, il faut regarder dans les logs du serveur
Avec Konqueror, l'URL suivante permet de se connecter à un serveur Webdav : webdav://ged-webdav
Sous Linux, le paquet “davfs2” permet de monter un partage Webdav dans son système de fichiers. Cela permet d'accéder aux fichiers de dynacase en lecture et en écriture comme les fichiers locaux :
mount -t davfs http://ged-webdav /home/tony/webdav/ -o uid=tony,rw,file_mode=700
Sous Windows pour accèder à un partage Webdav, il faut :
Ensuite, les fichiers de dynacase seront accessibles en lecture et en écriture et il sera également possible d'en ajouter de nouveaux
Situation : Le document a été chargé en édition avec OpenOffice.org, et celui-ci plante, laissant le document locké au niveau WebDAV
Solution : Identifier l'URL du document (exemple asdav:/ /freedav.example.net/freedav/vid-12765-4870-3a0404dfe29f7c88bb58ac8a6943559d/Foo.odt), et supprimer le lock du document dans la table locks :
# psql -U postgres -d webdav \
-c "DELETE FROM dav.locks WHERE path = '/freedav/vid-12765-4870-3a0404dfe29f7c88bb58ac8a6943559d/Foo.odt'"
Il arrive sur certains postes en Windows XP d'avoir des lenteurs d'accès aux documents : les temps d'accès constatés sont d'environ 30 secondes.
Ces problèmes sont inhérents à Windows, il existe 2 solutions possibles pour pallier à ces lenteurs :
Sur votre serveur dynacase, installez samba avec aptitude
sudo aptitude install samba sudo /etc/init.d/smbd start
Explication: samba permet d'avoir des services sur le serveur qui répondent sur les ports netbios etc … et permet d'éviter les timeouts des requêtes des postes client.
Cette solution ne marche pas à travers un lien internet car généralement, les ports netbios sont bloqués.
La solution consiste à permuter les fournisseurs d'accès réseau en passant “Web Client Network” avant “Réseau Microsoft Windows”.
Pour cela, allez dans le panneau de configuration puis dans Connexions réseau / Avancé / Paramètres avancés :
Dans l'onglet “Ordre des fournisseurs”, vous placez “Web Client Network” en tête de liste.
Explication: lorsque vous cherchez à accéder à un serveur dav, le fournisseur réseau du dav devient prioritaire sur les autres services réseau, ce qui évite les problématiques de timeouts.
Par contre cale peut potentiellement engendrer d'autres lenteurs pour accéder à d'autres ressources réseau (serveur de fichier, active directory, …).
Cette solution est à appliquer au cas par cas.