cancel
Showing results for 
Search instead for 
Did you mean: 

Webdav + ticket : Bad request lors de la sauvegarde

marinew
Champ in-the-making
Champ in-the-making
Bonjour,

Lorsque j'ouvre un document .odt sous OpenOffice 2.4 en WebDav, avec un ticket dans l'URL, l'affichage du document se fait bien, sans demande du mot de passe.
Par contre, lorsque je tente d'enregistrer le document modifié, j'ai l'erreur suivante :

Erreur lors de l'enregistrement du document Courrier:
Erreur lors du transfert des données vers Internet.
Message d'erreur du serveur : 400 Bad Request.

Ligne de commande permettant d'ouvrir le document :
C:\Program Files\OpenOffice.org 2.4\program>soffice.exe http://192.168.1.103:8080/alfresco/webdav/monEspace/Courrier.odt?ticket=TICK
ET_72b46a7ff33c4481546030421679295bac836be3

Est-il possible avec Alfresco de modifier un document via Webdav, avec un ticket dans l'URL ?
Si oui, sauriez-vous me guider pour comprendre et résoudre ce message d'erreur ?
Si non, y a-t-il un autre moyen de modifier un document via Webdav, sans que l'utilisateur ait à saisir identifiant+mot de passe ?

Merci d'avance.
PS : version utilisée : Alfresco Community Network - v2.1.0
10 REPLIES 10

alex_9396
Champ in-the-making
Champ in-the-making
bonjour,

1-/Donc oui il est possible de modifier les documents directement sur le webdav, pour cela j'ai installer un petit logiciel le NetDrive
2-/je n'ai jamais eu se probleme
3-/le NetDrive permet de le faire et il est très simple a configurer, en fait il permet de créer un lecteur réseau par rapport a un dossier present dans alfresco, ne fonction que sous Windows XP en fin je pense je n'ai pas de vista pour faire le teste :lol:

marinew
Champ in-the-making
Champ in-the-making
Bonjour,

Merci beaucoup pour cette réponse.

Je voudrais autant que possible éviter d'avoir à installer un logiciel sur le poste, car les documents sont ouverts depuis une application Web (objectif idéal : aucune logiciel nécessaire sur le poste, autre que le navigateur).
Et si vraiment il fallait installer un logiciel, celui-ci doit être compatible Windows (XP voire Vista) et MacOs au minimum car ces différents environnements sont utilisé.
De plus, j'imagine qu'un logiciel tel que NetDrive doit associer un lecteur (E: ou F: …) au dépôt WebDav ? Ce qui veut dire que depuis mon application Web, quand je veux faire ouvrir un document particulier à l'utilisateur, le lien que je dois fournir dépendrait de la configuration du poste de l'utilisateur qui va cliquer sur le lien, ce qui complexifie vraiment les choses…

D'autres suggestions SVP ?
Merci d'avance.
Marine

alex_9396
Champ in-the-making
Champ in-the-making
re,

Dans mon entreprise j'ai deux OS linux UBUNTU 8.04 et Windows xp. j'utilise webdav sur les deux pour les chemins aucun prob, je ne vois le prob pour le nom du lecteur sous windows du moment que l'on centralise la lettre a attribuer  pour alfresco on prend par exemple la lettre O: ou P:

Après pour on utilise pas de lettre certe met le chemin pour accèdre au même dossier reste identique, car normalement avec le webdav mes utils ne voient pas les identifieant des fichiers mais plutot un chemin. Donc pour moi je ne voi pas en quoi sa complexifies….

Pour finir voila le lien qui ma servie d'aide:

http://www.figer.com/Publications/dossiersenligne.htm

marinew
Champ in-the-making
Champ in-the-making
Merci pour l'aide.

Ma problématique est la suivante : je travaille sur une application Web, donc comme je le disais plus haut, en théorie, si quelqu'un veut utiliser l'application de n'importe quel poste, il ouvre son navigateur, et ça marche => Il doit y avoir le moins de choses possibles à configurer sur le poste de l'utilisateur (idéalement rien !).

Supposons que ce ne soit pas possible, ok, on décide de configurer chaque poste pour monter le dépôt Webdav sur le lecteur O: sur Windows.
Dans mon appli Web, je vais donc devoir créer une URL du type : "O:\monEspace\monFichier.odt" qui apparaitra comme lien sur une page de l'application Web, qui permettra d'ouvrir automatiquement le document dans OpenOffice pour modification (j'utilise pour cela une extension Firefox capable de l'ouvrir comme il faut OpenOffice avec le chemin en paramètre).

Mais pour les utilisateurs Linux, le chemin à mettre dans ce lien HTML ressemblera plutôt à /mnt/webdavAlfreso/monEspace/monFichier.odt
Et pour les utilisateurs Mac, ce sera : /Volumes/webdavAlfreso/monEspace/monFichier.odt

Bref, je n'ai pas envie de faire des tests tordus en JavaScript sur le système d'exploitation de l'utilisateur pour afficher un lien différent selon son environnement.

D'où l'idée de continuer avec une URL :
http://monServeur/alfresco/webdav/monEspace/monFichier.odt?ticket=UN_TICKET
…. mais à condition que cela soit possible. C'est ce que j'aimerais savoir.

PS : petite précision, car je n'ai peut-être pas été très claire : ce n'est pas l'utilisateur qui navigue dans une arborescence pour modifier le fichier qu'il souhaite, c'est l'application Web qui lui ouvre directement le fichier qu'il doit modifier (ça se passe au cours d'un processus métier dans lequel l'utilisateur est guidé, et il n'a pas à connaitre le chemin du fichier, et encore moins à aller le chercher manuellement parmi des milliers de documents).

olivier_migeot
Champ in-the-making
Champ in-the-making
Quelques éléments supplémentaires (pas de solution, hélas) :

Si j'ouvre avec OOo2.4 l'URL suivante (depuis le dialogue "natif" d'ouverture de fichier) :

https://monserveur/alfresco/download/direct/workspace/SpacesStore/f67cbcff-7e22-11ec-bef6-a1db451f6f...

J'ai, lors de l'enregistrement, une erreur concernant l'URL suivante :

https://monserveur/alfresco/download/direct/workspace/SpacesStore/f67cbcff-7e22-11ec-bef6-a1db451f6f...

En clair, le nom du fichier saute, au passage. Ce qui n'a rien de franchement surprenant, d'ailleurs, OOo n'ayant pas forcément vocation à faire du parsing poussé d'URLs pour aller remettre le nom du fichier au bon endroit (i.e. avant les paramêtres).

Note: le même comportement se retrouve, hélas, sur les versions de développement de la future version 3. Snif.

olivier_migeot
Champ in-the-making
Champ in-the-making
Une astuce qui permettrait de passer le ticket autrement que par paramètre, mais qui ne marche que dans une configuration bien précise (avec un Apache en frontal qui proxyfie les requêtes vers Alfresco) : jouer avec le mod_rewrite d'Apache pour transformer les URLs de type

https://monserveurfrontal/alfresco/TICKET_xxxxxxxxxxxxxxxxxxxxxxxx/<truc>

en

https://monserveurfrontal/alfresco/<truc>?ticket=TICKET_xxxxxxxxxxxxxxxxxxxxxxxx

Ainsi, on peut filer à OpenOffice une URL "propre", mais que le serveur Alfresco recevra correctement. Le seul hic, c'est que pour le moment je n'ai que la théorie qui fonctionne : mon mod_rewrite est un peu rouillé. Je vous tiens au courant si je trouve le pourquoi du comment.

Edit: Bon, j'ai bien réussi à faire une règle de réécriture qui implémente ma solution, mais apparemment ça ne suffit pas à OpenOffice.

marinew
Champ in-the-making
Champ in-the-making
Bonjour Omigeot,

L'idée de faire du re-rewriting me semble être une piste intéressante à creuser…
Par contre, concernant le test avec une URL du type :
https://monserveur/alfresco/download/direct/workspace/SpacesStore/f67cbcff-7e22-11ec-bef6-a1db451f6f...
…sauf erreur de ma part, je ne suis pas sûre que ça marche. L'URL pour accéder à un document en mode Webdav ressemble plutôt à :
https://monserveur/alfresco/webdav/monEspace/courrier.odt?ticket=TICKET_xxxxxxxxxxxxxxxxxxxxxxxxxxxx...

Je ne vais pas avoir le temps de creuser dans cet axe de suite. Merci de me tenir au courant si la piste se précise 😉

olivier_migeot
Champ in-the-making
Champ in-the-making
Cela fonctionne effectivement mieux avec une vraie URL WebDAV. Beaucoup mieux, même.

Pour information, j'ai utilisé comme règle de réécriture la suivante :

RewriteRule  ^/TICKET_([a-f0-9]+)/alfresco/(.*) https://monserveur/alfresco/$2?ticket=TICKET_$1 [P]

L'avantage étant qu'ainsi, la ruse fonctionne pour tout type d'URL Alfresco (et pas uniquement WebDAV). Par contre, effectivement, si une application (comme OpenOffice) tient à parler le WebDAV, il faut que le serveur le gère.

Ca ne règle pas tous mes problèmes, mais en tous cas, c'est une piste plus qu'intéressante. Reste à trouver une extension compatible FF3 (et la plus simple possible) qui se charge de filer ces URLs là à OpenOffice.

marinew
Champ in-the-making
Champ in-the-making
Merci pour le tuyau.
Donc si j'ai bien compris, cette règle d'URL rewriting permet d'ouvrir un document dans OpenOffice pour le modifier via Webdav+ticket sans qu'il ait à s'authentifier dans OOo, c'est bien ça ?

Merci de me tenir au courant si tu avances sur ce sujet, et si tu trouves une extension intéressante pour ça.
Les 2 que j'avais identifiées sont : "Download with" et "Launchy", mais je ne sais pas si elles ont été ou seront mises à jour pour FF3…
Reste la possibilité de s'inspirer de leur code pour faire une extension dédiée et compatible, pour les connaisseurs de XUL…
A moins que Firefox 3 n'ait avancé sur le sujet, et permette de gérer les URL Webdav ?