Dừng Microsoft Office 2010 tích hợp với máy chủ Subversion như thể đó là Sharepoint


10

Chúng tôi có một máy chủ Apache Subversion mà chúng tôi lưu trữ (trong số những thứ khác) tất cả các tài liệu của chúng tôi trên. Chúng tôi có rất nhiều tài liệu Word, Excel, PDF, v.v. trong svn và tất cả người dùng của chúng tôi sử dụng TortoiseSVN làm giao diện máy khách của họ. Nhiều người trong số những người dùng đó cũng sẽ duyệt repo thông qua trình duyệt web, điều mà (không may) thường là Internet Explorer.

Gần đây, chúng tôi đã bắt đầu thử nghiệm Office 2010 (đến từ năm 2003) và thấy rằng các tài liệu từ repo được mở khác nhau khi duyệt bằng IE. Thay vì IE tải xuống tệp và sau đó gửi nó đến ứng dụng thích hợp (sau đó nó chỉ là một bản sao tạm thời được lưu trữ cục bộ), nó sẽ gửi URL cho tài liệu tới ứng dụng. Tài liệu được ứng dụng tải xuống và sau đó xử lý nó như thể nó đến từ máy chủ Sharepoint, tức là ứng dụng cố gắng khóa nó và sau đó tự động tải lên mọi thay đổi đã lưu trở lại máy chủ.

Từ Googling, có vẻ như nhiều người muốn hành vi này. Tuy nhiên, chúng tôi muốn vô hiệu hóa nó - nó không phù hợp với các quy trình hiện có của chúng tôi. Làm thế nào tôi có thể đi về làm điều này?

Tôi không có nhiều quyền kiểm soát đối với các máy khách, vì vậy các giải pháp liên quan đến việc vô hiệu hóa tất cả các tính năng cộng tác tài liệu Office như thế này cho mỗi máy khách không phải là thứ tôi đang tìm kiếm. Ngoài ra, tôi không thể tìm thấy nhiều thứ mà tôi có thể làm ngoài việc vô hiệu hóa bổ trợ Trình xử lý bộ đệm tài liệu Office trong IE. Các tùy chọn phía máy khách duy nhất có thể khả thi là những tùy chọn đặc biệt vô hiệu hóa tính năng này cho máy chủ được đặt tên của chúng tôi nhưng để lại cho người khác.

Vì vậy, để lại các giải pháp phía máy chủ. Tôi đoán rằng Office thấy rằng máy chủ svn có hỗ trợ WebDAV và do đó chuyển sang quy trình quản lý tài liệu giống như Sharepoint. Có cách nào để ngăn chặn loại tích hợp này mà không vô hiệu hóa tất cả hỗ trợ WebDAV trên máy chủ (giả sử chúng tôi thậm chí có thể làm điều đó)? Chúng tôi thực sự sử dụng tính năng tự động của svn một chút cho các mục đích khác vì vậy đó là một tính năng bắt buộc. Tôi đã tìm thấy thảo luận về việc vô hiệu hóa tính năng nếu nó thực sự là máy chủ Sharepoint, nhưng thực tế không phải vậy! Sự hiểu biết của tôi về cách thức hoạt động của loại điều này (ví dụ: ứng dụng khách Office xác định hỗ trợ WebDAV trên máy chủ) khá hạn chế, vì vậy vui lòng giải thích thêm nếu bạn có thể.

Trong trường hợp có vấn đề, thiết lập máy chủ là:

Apache v2.2.8 và Subversion v1.4.6 trên Ubuntu Hardy 8.04.


Tôi không thể đề nghị đây là một câu trả lời, vì nó là một cách giải quyết rườm rà hơn. Tôi nghĩ rằng bạn đúng về DFAV, vì Apache / SVN sử dụng DAV làm giao thức truy cập. Với ý nghĩ đó, bạn có thể bỏ Apache và sử dụng svnservethay thế.
SmallClanger

Cảm ơn đề xuất, nhưng svnserver không phải là một lựa chọn cho chúng tôi. Chúng tôi có rất nhiều tùy chỉnh tại chỗ phụ thuộc vào chúng tôi sử dụng Apache.
James Tisato

Tôi tìm thấy một bài viết rất hữu ích từ MS (Tôi đã rất ngạc nhiên!): Support.microsoft.com/kb/838028 Nó sẽ xuất hiện rằng máy chủ Apache chỉ thông qua HTTP của nó 1.1 OPTIONS trả lời rằng nó có khả năng hoạt động WebDAV và do đó văn phòng sử dụng chúng . Tùy chọn chết tiệt nào để nói "Tôi muốn máy chủ của mình có sẵn WebDAV, nhưng tôi không muốn Office sử dụng nó?!"
James Tisato

Câu trả lời:


12

Giải quyết nó (cuối cùng). http://support.microsoft.com/kb/838028 giải thích cách Office sử dụng Microsoft Office Protocol Discovery để xác định xem máy chủ tài liệu có khả năng WebDAV hay không. Nó sẽ gửi một yêu cầu HTTP 1.1 TÙY CHỌN và mong đợi một câu trả lời 200 OK chi tiết các tính năng DAV có sẵn. Máy chủ Subversion có hỗ trợ (giới hạn) DAV và trả lời như vậy và Office sau đó sử dụng nó để ghi trực tiếp trở lại máy chủ.

Giải pháp chúng tôi đã sử dụng là sử dụng mod_rewrite trên máy chủ Apache để chặn các yêu cầu này và gửi lại phản hồi 405 Phương thức không được phép. Cấu hình viết lại là:

# 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]

Nó chặn tất cả các yêu cầu của phương thức TÙY CHỌN đến từ các đại lý có tên "Microsoft Office Protocol Discovery" và gửi lại 405. Giải pháp này được đề xuất bởi nhận xét đầu tiên về http://rails.nuvvo.com/lesson/2318-deals- với-microsoft-office-Protocol-Discovery-in-rails # bình luận .

Bây giờ Office thử một vài yêu cầu TÙY CHỌN, bị 405 từ chối, sau đó từ bỏ và tắt tất cả hỗ trợ DAV cho máy chủ cụ thể này, đồng thời để nó bật cho bất kỳ máy chủ nào khác mà khách hàng có thể muốn tương tác.


Cảm ơn bạn rất nhiều! Mặc dù tôi không sử dụng Subversion, tôi đã chiến đấu với cùng một vấn đề cốt lõi và không thể tìm thấy tài liệu cho đến bây giờ. Tôi vẫn không chắc chắn 100% đây là nó, hoặc tất cả , nhưng nghe có vẻ như vậy. Việc mở các tài liệu Office được liên kết trên một trang web đã tạo ra các siêu liên kết nội bộ (tương đối, không có đường dẫn) địa chỉ http đủ điều kiện với đường dẫn ngay cả khi bản sao phải được xem từ bộ đệm cục bộ. Điều này chỉ xảy ra trong IE ... FF và Chrome hiển thị các liên kết bị hỏng (như mong đợi) từ bộ đệm tệp cục bộ. Cảm ơn bạn một lần nữa.
one.beat.consumer

1
Được đề xuất bởi @chekolyn, thêm ba dòng đang theo dõi để viết lại cấu hình: 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.*$
HoplessN00b

Các cuộc gọi HYPERLINK () của Excel không tạo yêu cầu TÙY CHỌN nhưng chúng tạo ra một GET thêm. Chuỗi tác nhân người dùng cần theo dõi với họ là "ms-office". Trả lại lỗi 405 khiến các siêu liên kết hoàn toàn không hoạt động, nhưng trả lại 200 phản hồi trống cho Office đã thực hiện thủ thuật, nó đã mở trình duyệt web mặc định gần như ngay lập tức tới URL (Tôi đang sử dụng ASP.NET trên IIS, vì vậy tôi đã làm này trước khi xác thực).
richardtallent

Tuy nhiên bây giờ một số xuất sắc không còn có ms-office trong đó. Ví dụ như năm 2013 của tôi thì không.
mplungjan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.