Menghentikan Microsoft Office 2010 dari pengintegrasian dengan server Subversion seolah-olah itu Sharepoint

10

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.

James Tisato
sumber
Saya tidak bisa menyarankan ini sebagai jawaban, karena ini lebih merupakan solusi rumit. Saya pikir Anda benar tentang DFAV, karena Apache / SVN menggunakan DAV sebagai protokol aksesnya. Dengan mengingat hal itu, Anda bisa menggunakan Apache dan menggunakannya svnserve.
SmallClanger
Terima kasih atas sarannya, tetapi svnserver bukan pilihan bagi kami. Kami memiliki banyak penyesuaian yang tergantung pada kami menggunakan Apache.
James Tisato
Saya menemukan artikel yang sangat berguna dari MS (saya terkejut!): Support.microsoft.com/kb/838028 Tampaknya server Apache menunjukkan melalui HTTP 1.1 OPSInya menjawab bahwa ia mampu melakukan operasi WebDAV dan karenanya Office menggunakannya. . Di mana opsi sialan untuk mengatakan "Saya ingin server saya memiliki WebDAV tersedia, tetapi saya tidak ingin Office menggunakannya ?!"
James Tisato

Jawaban:

12

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:

# Intercept Microsoft Office Protocol Discovery
RewriteCond %{REQUEST_METHOD} ^OPTIONS
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.*$
RewriteRule .* - [R=405,L]

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.

James Tisato
sumber
Terima kasih banyak! Meskipun saya tidak menggunakan Subversion, saya telah berjuang dengan masalah inti yang sama dan tidak dapat menemukan dokumentasi sampai sekarang. Saya masih belum 100% yakin ini, atau semuanya , tapi sepertinya begitu. Membuka dokumen Office yang ditautkan pada halaman web membuat hyperlink internal (relatif, tanpa jalur) sepenuhnya memenuhi syarat alamat http dengan pathing meskipun salinannya harus dilihat dari cache lokal. Ini hanya terjadi di IE ... FF dan Chrome menunjukkan tautan rusak (seperti yang diharapkan) dari cache file lokal. Terima kasih sekali lagi.
one.beat.consumer
1
Disarankan oleh @chekolyn, tambahkan tiga baris berikut untuk menulis ulang konfigurasi: 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.*$
HopelessN00b
Excel HYPERLINK () panggilan tidak menghasilkan permintaan OPSI tetapi mereka menghasilkan GET tambahan. String agen pengguna yang harus diperhatikan adalah "ms-office". Mengembalikan kesalahan 405 membuat hyperlink tidak berfungsi dengan baik sama sekali, tetapi mengembalikan 200 tanggapan kosong untuk Office melakukan trik, itu membuka browser web default hampir segera ke URL (Saya menggunakan ASP.NET pada IIS, jadi saya lakukan ini sebelum otentikasi).
richardtallent
Namun sekarang beberapa excel tidak lagi memiliki ms-office di dalamnya. Misalnya saya 2013 tidak.
mplungjan