Wir haben einen Apache Subversion-Server, auf dem wir (unter anderem) unsere gesamte Dokumentation speichern. Wir haben viele Word-, Excel-, PDF- usw. Dokumente in svn, und alle unsere Benutzer verwenden TortoiseSVN als Client-Oberfläche. Viele dieser Benutzer durchsuchen das Repo auch über einen Webbrowser, der (leider) häufig Internet Explorer ist.
Vor kurzem haben wir mit dem Testen von Office 2010 (ab 2003) begonnen und festgestellt, dass Dokumente aus dem Repo beim Surfen mit dem Internet Explorer anders geöffnet werden. Anstatt dass der IE die Datei herunterlädt und sie dann an die entsprechende App sendet (danach sollte es sich nur um eine temporär lokal gespeicherte Kopie handeln), sendet er die URL für das Dokument an die App. Das Dokument wird von der App heruntergeladen und dann so behandelt, als stamme es von einem Sharepoint-Server. Das heißt, die App versucht, es zu sperren und dann alle gespeicherten Änderungen automatisch wieder auf den Server hochzuladen.
Aus dem Googeln geht hervor, dass viele Menschen dieses Verhalten wollen . Wir möchten es jedoch deaktivieren - es passt nicht zu unseren vorhandenen Prozessen. Wie kann ich das machen?
Ich habe nicht viel Kontrolle über Clientcomputer, daher sind Lösungen, bei denen alle Funktionen für die Zusammenarbeit mit Office-Dokumenten wie diese für jeden Client deaktiviert werden, nicht das, wonach ich suche. Außerdem konnte ich nicht viel anderes finden, als das Office Document Cache Handler-Add-On im IE zu deaktivieren. Die einzigen clientseitigen Optionen, die möglicherweise möglich sind, sind diejenigen, die diese Funktion speziell für unseren benannten Server deaktivieren, aber für andere aktiviert lassen.
So bleiben serverseitige Lösungen. Ich vermute, dass Office erkennt, dass der SVN-Server WebDAV-Unterstützung bietet, und daher in einen Sharepoint-ähnlichen Dokumentenverwaltungsworkflow übergeht. Gibt es eine Möglichkeit, diese Art der Integration zu stoppen, ohne die gesamte WebDAV-Unterstützung auf dem Server zu deaktivieren (vorausgesetzt, wir könnten dies sogar tun)? Wir verwenden die Autoversionierung von svn ein wenig für andere Zwecke, daher ist dies eine erforderliche Funktion. Ich habe eine Diskussion über das Deaktivieren der Funktion gefunden, wenn es sich tatsächlich um einen Sharepoint-Server handelt, aber dies ist nicht der Fall! Mein Verständnis der Funktionsweise dieser Art (dh des Office-Clients, der die WebDAV-Unterstützung auf dem Server identifiziert) ist ziemlich begrenzt. Erklären Sie dies daher bitte weiter, wenn Sie können.
Falls es darauf ankommt, ist das Server-Setup:
Apache v2.2.8 und Subversion v1.4.6 unter Ubuntu Hardy 8.04.
quelle
svnserve
stattdessen verwenden.Antworten:
Hat es (endlich) gelöst. Unter http://support.microsoft.com/kb/838028 wird erläutert, wie Office mithilfe der Microsoft Office-Protokollerkennung ermittelt, ob der Dokumentenserver über WebDAV-Funktionen verfügt. Es sendet eine HTTP 1.1 OPTIONS-Anforderung und erwartet eine Antwort mit 200 OK, in der die verfügbaren DAV-Funktionen aufgeführt sind. Der Subversion-Server bietet (eingeschränkte) DAV-Unterstützung und antwortet als solche. Office verwendet diese dann, um direkt auf den Server zurückzuschreiben.
Die Lösung, die wir verwendet haben, bestand darin, mod_rewrite auf dem Apache-Server zu verwenden, um diese Anforderungen abzufangen und eine 405-Methode nicht zugelassene Antwort zurückzusenden. Die Umschreibekonfiguration lautet:
Es fängt alle Anforderungen der Methode OPTIONS ab, die von Agenten mit dem Namen "Microsoft Office Protocol Discovery" stammen, und sendet eine 405 zurück. Diese Lösung wurde durch den ersten Kommentar auf http://rails.nuvvo.com/lesson/2318-dealing- vorgeschlagen. mit-Microsoft-Office-Protokoll-Discovery-in-Rails # Kommentare .
Jetzt versucht Office einige OPTIONS-Anforderungen, wird vom 405 abgelehnt, gibt dann die gesamte DAV-Unterstützung für diesen bestimmten Server auf und deaktiviert sie, während sie für alle anderen Server aktiviert bleibt, mit denen Clients möglicherweise interagieren möchten.
quelle
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.*$