Kami memiliki server Apache Subversion tempat kami menyimpan (antara lain) semua dokumentasi kami di. Kami memiliki banyak dokumen Word, Excel, PDF dll. Di svn, dan semua pengguna kami menggunakan TortoiseSVN sebagai antarmuka klien mereka. Banyak dari pengguna tersebut juga akan menelusuri repo melalui browser web, yang (sayangnya) sering kali Internet Explorer.
Baru-baru ini kami mulai menguji coba Office 2010 (datang dari 2003) dan menemukan bahwa dokumen dari repo dibuka secara berbeda saat menjelajah dengan IE. Alih-alih IE yang mengunduh file dan kemudian mengirimnya ke aplikasi yang sesuai (setelah itu hanya salinan sementara yang disimpan secara lokal), ia mengirim URL untuk dokumen ke aplikasi. Doc diunduh oleh aplikasi dan kemudian memperlakukannya seolah-olah itu berasal dari server Sharepoint, yaitu aplikasi mencoba untuk menguncinya dan kemudian mengunggah setiap perubahan yang disimpan kembali ke server secara otomatis.
Dari Googling, tampaknya banyak orang menginginkan perilaku ini. Namun, kami ingin menonaktifkannya - tidak cocok dengan proses yang ada. Bagaimana saya bisa melakukan ini?
Saya tidak memiliki banyak kendali atas mesin klien, jadi solusi yang melibatkan penonaktifan semua fitur kolaborasi dokumen Office seperti ini untuk setiap klien bukan yang saya cari. Selain itu, saya tidak bisa menemukan banyak yang bisa saya lakukan selain menonaktifkan add-on Office Document Cache Handler di IE. Satu-satunya opsi sisi klien yang mungkin layak adalah yang secara khusus menonaktifkan fitur ini untuk server bernama kami, tetapi membiarkannya untuk yang lain.
Sehingga meninggalkan solusi sisi server. Saya menduga bahwa Office melihat bahwa server svn memiliki dukungan WebDAV dan karena itu pindah ke alur kerja manajemen dokumen seperti Sharepoint. Apakah ada cara untuk menghentikan integrasi semacam ini tanpa menonaktifkan semua dukungan WebDAV di server (dengan asumsi kita bahkan bisa melakukan itu)? Kami sebenarnya menggunakan svn's autoversioning sedikit untuk keperluan lain jadi itu fitur yang diperlukan. Saya menemukan diskusi menonaktifkan fitur jika itu sebenarnya server Sharepoint, tetapi tidak! Pemahaman saya tentang cara kerja seperti ini (yaitu klien Office yang mengidentifikasi dukungan WebDAV di server) sangat terbatas, jadi tolong jelaskan lebih lanjut jika Anda bisa.
Dalam hal itu penting, pengaturan server adalah:
Apache v2.2.8 dan Subversion v1.4.6 di Ubuntu Hardy 8.04.
sumber
svnserve
.Jawaban:
Memecahkannya (akhirnya). http://support.microsoft.com/kb/838028 menjelaskan bagaimana Office menggunakan Microsoft Office Protocol Discovery untuk menentukan apakah server dokumen memiliki kemampuan WebDAV. Ini mengirimkan permintaan HTTP 1.1 OPSI dan mengharapkan 200 balasan OK merinci fitur DAV yang tersedia. Server Subversion memiliki (terbatas) dukungan DAV dan balasan seperti itu, dan Office kemudian menggunakannya untuk menulis kembali langsung ke server.
Solusi yang kami gunakan adalah menggunakan mod_rewrite di server Apache untuk mencegat permintaan ini dan mengirim kembali respons 405 Metode Tidak Diizinkan. Konfigurasi penulisan ulang adalah:
Ini memotong semua permintaan metode OPSI yang berasal dari agen dengan nama "Microsoft Office Protocol Discovery" dan mengirimkan kembali 405. Solusi ini disarankan oleh komentar pertama di http://rails.nuvvo.com/lesson/2318-dealing- dengan komentar # microsoft-office-protocol-discovery-in-rails .
Sekarang Office mencoba beberapa permintaan PILIHAN, ditolak oleh 405, lalu menyerah dan mematikan semua dukungan DAV untuk server khusus ini, sambil membiarkannya diaktifkan untuk server lain yang mungkin ingin berinteraksi dengan klien.
sumber
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.*$