У нас есть сервер Apache Subversion, на котором (помимо прочего) мы храним всю нашу документацию. У нас в svn много документов Word, Excel, PDF и т. Д., И все наши пользователи используют TortoiseSVN в качестве клиентского интерфейса. Многие из этих пользователей также просматривают репозиторий через веб-браузер, который (к сожалению) часто является Internet Explorer.
Недавно мы начали пробную версию Office 2010 (начиная с 2003 года) и обнаружили, что документы из репозитория открываются по-разному при просмотре в IE. Вместо того, чтобы загружать файл, а затем отправлять его в соответствующее приложение (после чего это должна быть просто временная копия, хранящаяся локально), он отправляет URL-адрес документа в приложение. Документ загружается приложением, а затем обрабатывается так, как если бы он был получен с сервера Sharepoint, то есть приложение пытается заблокировать его и затем автоматически выгружать все сохраненные изменения обратно на сервер.
Из Google, кажется, многие люди хотят такого поведения. Однако мы хотим отключить его - он не соответствует нашим существующим процессам. Как я могу сделать это?
У меня нет большого контроля над клиентскими компьютерами, поэтому решения, которые включают отключение всех функций совместной работы с документами Office, как это для каждого клиента, не то, что я ищу. Кроме того, я не смог найти много чего, кроме как отключить надстройку Office Document Cache Handler в IE. Единственными возможными вариантами на стороне клиента являются те, которые специально отключают эту функцию для нашего именованного сервера, но оставляют ее включенной для других.
Так что это оставляет серверные решения. Я предполагаю, что Office видит, что сервер svn имеет поддержку WebDAV и, следовательно, переходит в рабочий процесс управления документами, похожий на Sharepoint. Есть ли способ остановить такую интеграцию, не отключая всю поддержку WebDAV на сервере (если мы можем это сделать)? На самом деле мы немного используем автоверсию svn для других целей, поэтому это обязательная функция. Я нашел обсуждение отключения этой функции, если на самом деле это сервер Sharepoint, но это не так! Мое понимание того, как работают подобные вещи (например, клиент Office, определяющий поддержку WebDAV на сервере), довольно ограничено, поэтому, пожалуйста, объясните, если можете.
В случае, если это имеет значение, настройка сервера:
Apache v2.2.8 и Subversion v1.4.6 в Ubuntu Hardy 8.04.
источник
svnserve
вместо этого.Ответы:
Решил это (наконец-то). http://support.microsoft.com/kb/838028 объясняет, как Office использует обнаружение протоколов Microsoft Office для определения, имеет ли сервер документов возможности WebDAV. Он отправляет запрос HTTP 1.1 OPTIONS и ожидает ответа 200 OK с подробным описанием доступных функций DAV. Сервер Subversion имеет (ограниченную) поддержку DAV и отвечает как таковой, а затем Office использует ее для прямой записи на сервер.
Решением, которое мы использовали, было использование mod_rewrite на сервере Apache для перехвата этих запросов и отправки ответа 405 Method Not Allowed. Конфигурация перезаписи:
Он перехватывает все запросы метода OPTIONS, поступающие от агентов с именем «Обнаружение протокола Microsoft Office», и отправляет обратно сообщение 405. Это решение было предложено в первом комментарии на http://rails.nuvvo.com/lesson/2318-dealing- with-microsoft-office-protocol-discovery-in-rails # комментарии .
Теперь Office пытается выполнить несколько запросов OPTIONS, получает отказ в 405, затем отказывается и отключает всю поддержку DAV для этого конкретного сервера, оставляя его включенным для любых других серверов, с которыми клиенты могут захотеть взаимодействовать.
источник
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.*$