Nous avons un serveur Apache Subversion sur lequel nous stockons (entre autres) toute notre documentation. Nous avons beaucoup de documents Word, Excel, PDF, etc. dans svn, et tous nos utilisateurs utilisent TortoiseSVN comme interface client. Beaucoup de ces utilisateurs parcourront également le référentiel via un navigateur Web, qui (malheureusement) est souvent Internet Explorer.
Récemment, nous avons commencé à tester Office 2010 (à partir de 2003) et avons constaté que les documents du dépôt sont ouverts différemment lors de la navigation avec IE. Plutôt qu'IE de télécharger le fichier puis de l'envoyer à l'application appropriée (après quoi il ne devrait s'agir que d'une copie temporaire stockée localement), il envoie l' URL du document à l'application. Le document est téléchargé par l'application, puis traité comme s'il provenait d'un serveur Sharepoint, c'est-à-dire que l'application essaie de le verrouiller puis de télécharger automatiquement toutes les modifications enregistrées sur le serveur.
D'après Google, il semble que de nombreuses personnes souhaitent ce comportement. Cependant, nous voulons le désactiver - il ne correspond pas à nos processus existants. Comment puis-je m'y prendre?
Je n'ai pas beaucoup de contrôle sur les machines clientes, donc les solutions qui impliquent de désactiver toutes les fonctionnalités de collaboration de documents Office comme celle-ci pour chaque client ne sont pas ce que je recherche. En outre, je n'ai pas trouvé grand-chose d'autre que de désactiver le module complémentaire Office Document Cache Handler dans IE. Les seules options côté client qui peuvent être envisageables sont celles qui désactivent spécifiquement cette fonctionnalité pour notre serveur nommé mais la laissent activée pour les autres.
Cela laisse donc des solutions côté serveur. Je suppose qu'Office voit que le serveur svn prend en charge WebDAV et se déplace donc dans un flux de travail de gestion de documents de type Sharepoint. Existe-t-il un moyen d'arrêter ce type d'intégration sans désactiver toute la prise en charge de WebDAV sur le serveur (en supposant que nous pourrions même le faire)? Nous utilisons en fait un peu la version automatique de svn à d'autres fins, c'est donc une fonctionnalité requise. J'ai trouvé une discussion sur la désactivation de la fonctionnalité s'il s'agit en fait d'un serveur Sharepoint, mais ce n'est pas le cas! Ma compréhension du fonctionnement de ce genre de chose (c.-à-d. Client Office identifiant la prise en charge WebDAV sur le serveur) est assez limitée, veuillez donc expliquer plus en détail si vous le pouvez.
Si cela est important, la configuration du serveur est la suivante:
Apache v2.2.8 et Subversion v1.4.6 sur Ubuntu Hardy 8.04.
la source
svnserve
place.Réponses:
Résolu (enfin). http://support.microsoft.com/kb/838028 explique comment Office utilise la découverte de protocole Microsoft Office pour déterminer si le serveur de documents a des capacités WebDAV. Il envoie une requête OPTIONS HTTP 1.1 et attend une réponse de 200 OK détaillant les fonctionnalités DAV disponibles. Le serveur Subversion a (limité) la prise en charge DAV et répond en tant que tel, et Office l'utilise ensuite pour réécrire directement sur le serveur.
La solution que nous avons utilisée était d'utiliser mod_rewrite sur le serveur Apache pour intercepter ces demandes et renvoyer une réponse 405 Méthode non autorisée. La configuration de réécriture est:
Il intercepte toutes les requêtes de méthode OPTIONS provenant d'agents avec le nom "Microsoft Office Protocol Discovery" et renvoie un 405. Cette solution a été suggérée par le premier commentaire sur http://rails.nuvvo.com/lesson/2318-dealing- avec-microsoft-office-protocol-discovery-in-rails # commentaires .
Maintenant, Office essaie quelques requêtes OPTIONS, est refusé par le 405, puis abandonne et désactive toute la prise en charge DAV pour ce serveur particulier, tout en la laissant activée pour tous les autres serveurs avec lesquels les clients pourraient vouloir interagir.
la source
RewriteCond %{HTTP_USER_AGENT} ^Microsoft\ Office\ Protocol\ Discovery [OR] RewriteCond %{HTTP_USER_AGENT} ^Microsoft\ Office\ Existence\ Discovery [OR] RewriteCond %{HTTP_USER_AGENT} ^Microsoft\-WebDAV\-MiniRedir.*$