Présentation de l'application dav

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 :

  • un serveur authentifié par login et mot de passe, pour une utilisation classique au travers de client WebDAV tel que l'explorateur de fichier Microsoft Windows
  • un serveur authentifié par identifiant de sessions pour être utilisé à travers l'interface Web d'échange de fichiers.


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.

Configuration des postes client éditer et sauver en ligne

Sous Windows

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

  • Une mise à jour du client WebDAV/WebFolders de Windows est disponible, et corrige apparemment plusieurs problèmes comme la gestion des caractères accentués : http://support.microsoft.com/kb/907306
  • Si votre accès Internet se fait via un proxy, il peut être nécessaire de modifier la configuration de votre poste.

Sous Linux

Firefox

Dans firefox, entrez l'URL : about:config Ajouter les options suivantes :

  • [bouton droit > Nouvelle > Valeur booléenne]

nom : network.protocol-handler.external.asdav valeur : true

  • [bouton droit > Nouvelle > Chaîne de caractère]

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)

Pour visualiser les répertoires de votre variable PATH, il suffit de lancer dans une console la commande : echo $PATH

Pour Firefox > 3.5, il faut aussi lancer deux commande à l'aide de gconftool-2 :

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.

Pour cela, il faut ajouter le droit : chmod +x

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 :

Méthode automatique pour configurer Firefox pour un profil utilisateur avec « user.js »

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);

Méthode automatique pour tous les profils d'un ordinateur

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);

Sous Mac OS X

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

Configuration serveur web apache

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.

Base de données webdav

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.

Pré-requis avec Dynacase-control

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)

VirtualHosts Apache pour l'accès aux fonctions WebDAV

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 :

  • Configuration pour l'accès FreeDAV (édition en ligne) :

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
  • Configuration pour l'accès WebDAV (montage comme système de fichier) :

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 :

Paramètres applicatif

Positionner les paramètres applicatif suivants avec les noms DNS associés aux accès FreeDAV et WebDAV :

  • Dav > adresse du serveur webdav pour freedav = “ged-freedav.example.net”
  • Dav > adresse du serveur webdav pour le serveur authentifié = “ged-webdav.example.net”

Paramétrage de l'application dav

L'application dav comporte quatre paramètres accessibles via :

  • menu “Administration”
  • onglet “Paramètres applicatifs”
  • section “Dav”
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.

Test de débogage du dav

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.

Test avec cadaver

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

Test avec Konqueror sous KDE

Avec Konqueror, l'URL suivante permet de se connecter à un serveur Webdav : webdav://ged-webdav

Montage d'un partage 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

Accès à un partage Webdav sous Windows

Sous Windows pour accèder à un partage Webdav, il faut :

  • Favoris Réseaux
  • Ajout d'un favoris réseau
  • Adresse réseau ou internet : http://ged-webdav

Ensuite, les fichiers de dynacase seront accessibles en lecture et en écriture et il sera également possible d'en ajouter de nouveaux

Troubleshoot de l'application dav

Delocker un document

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'"

Lenteurs d'accès

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 :

1. Solution pour intranet (modification du serveur dynacase)

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.

2. Solution pour tous les cas (modification de chaque poste client)

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.

freedom_3/install/dav.txt · Dernière modification: 22/09/2011 08:55 par marc