Зупинка Microsoft Office 2010 від інтеграції з сервером Subversion так, ніби це Sharepoint


11

У нас є сервер Apache Subversion, на якому ми зберігаємо (серед іншого) всю нашу документацію. У нас багато документів Word, Excel, PDF і т.д. у svn, і всі наші користувачі використовують TortoiseSVN в якості свого клієнтського інтерфейсу. Багато цих користувачів також переглянуть репо через веб-браузер, який (на жаль) часто є Internet Explorer.

Нещодавно ми почали пробувати Office 2010 (прийшов з 2003 року) і виявили, що документи з репо-файлу відкриваються по-різному під час перегляду IE. Замість того, щоб IE завантажував файл, а потім надсилав його до відповідної програми (після чого він повинен бути лише тимчасовою копією, що зберігається локально), він надсилає URL- адресу документа в додаток. Документ завантажується програмою, після чого трактується так, ніби він надходить із сервера Sharepoint, тобто програма намагається заблокувати його, а потім автоматично завантажувати збережені зміни назад на сервер.

З Googling виходить, що багато людей хочуть такої поведінки. Однак ми хочемо відключити його - він не відповідає нашим існуючим процесам. Як я можу робити це?

Я не маю великого контролю над клієнтськими машинами, тому рішення, яке передбачає відключення всіх функцій спільної роботи документів Office, таких як для кожного клієнта, - це не те, що я шукаю. Крім того, я не міг знайти багато, що міг би зробити, крім відключення надбудови кеш-пам’ятника Office Document в IE. Єдині варіанти на стороні клієнта, які можуть бути здійснені, - це ті, які спеціально відключають цю функцію для нашого названого сервера, але залишають її для інших.

Таким чином, це залишає рішення на стороні сервера. Я здогадуюсь, що Office бачить, що сервер svn підтримує WebDAV і тому переходить у робочий процес управління документами, подібний до Sharepoint. Чи є спосіб зупинити подібну інтеграцію, не вимикаючи всю підтримку WebDAV на сервері (припускаючи, що ми могли це навіть зробити)? Ми фактично використовуємо автоперетворення svn для інших цілей, тому це необхідна функція. Я знайшов дискусію про відключення функції, якщо це насправді сервер Sharepoint, але це не так! Я розумію, як працює така штука (наприклад, клієнт Office, що визначає підтримку WebDAV на сервері) досить обмежений, тому, будь ласка, поясніть далі, якщо можете.

Якщо це має значення, налаштування сервера:

Apache v2.2.8 і Subversion v1.4.6 на Ubuntu Hardy 8.04.


Я не можу запропонувати це як відповідь, оскільки це більш громіздке рішення. Я думаю, ви маєте рацію щодо DFAV, оскільки Apache / SVN використовує DAV як протокол доступу. Маючи це на увазі, ви можете кинути Apache і використовувати svnserveзамість цього.
SmallClanger

Дякуємо за пропозицію, але svnserver - це не варіант для нас. Ми маємо багато налаштувань, які залежать від нас за допомогою Apache.
Джеймс Тісато

Я знайшов дуже корисну статтю від MS (я був здивований!): Support.microsoft.com/kb/838028 Схоже, сервер Apache вказує через відповідь HTTP 1.1 OPTIONS, що він здатний працювати з WebDAV, і тому Office використовує їх . Де проклятий варіант сказати "Я хочу, щоб мій сервер мав доступ до WebDAV, але я не хочу, щоб Office ним користувався ?!"
Джеймс Тісато

Відповіді:


13

Вирішили це (нарешті). http://support.microsoft.com/kb/838028 пояснює, як Office використовує Microsoft Office Discovery Protocol для визначення наявності сервера документів WebDAV. Він надсилає запит HTTP 1.1 OPTIONS і очікує відповіді 200 ОК, де деталізуються доступні функції DAV. Сервер Subversion має (обмежено) підтримку DAV і відповідає як такий, а Office потім використовує його для запису безпосередньо на сервер.

Ми використовували рішення: використовувати mod_rewrite на сервері Apache для перехоплення цих запитів і повернення відповіді 405 Метод не дозволений. Конфігурація перезапису:

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

Він перехоплює всі запити методу OPTIONS, що надходять від агентів з назвою "Відкриття протоколу Microsoft Office", і надсилає назад 405. Це рішення було запропоновано першим коментарем на http://rails.nuvvo.com/lesson/2318-dealing- з -мікрософт-офіс-протокол-відкриття-в-рейках # коментарі .

Тепер Office намагається виконати кілька запитів OPTIONS, відмовляється 405, потім відмовляється і вимикає всю підтримку DAV для цього конкретного сервера, залишаючи його ввімкненим для будь-яких інших серверів, з якими клієнти можуть хотіти взаємодіяти.


Дуже дякую! Хоча я не використовую Subversion, я боровся з тією ж основною проблемою і не можу знайти документацію до цих пір. Я все ще не на 100% впевнений, це це чи все це, але це звучить так. Відкриття документів Office, пов'язаних на веб-сторінці, зробило внутрішні гіперпосилання (відносні, без шляху) повністю кваліфіковані http-адреси з маршрутом, навіть якщо копію слід переглядати з локального кешу. Це сталося лише в IE ... FF та Chrome показали непрацездатні посилання (як очікувалося) з локального кеш-файлу. Ще раз дякую
one.beat.consumer

1
Запропоновано @chekolyn, додайте наступні три рядки, щоб переписати конфігурацію: 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 () не генерують запит OPTIONS, але вони генерують додатковий GET. Рядок користувача-агента, з яким слід спостерігати, - це "ms-office". Повернення помилки 405 змусило гіперпосилання взагалі не працювати належним чином, але повернення пустої відповіді 200 для Office зробило трюк, він відкрив веб-браузер за замовчуванням майже одразу до URL (я використовую ASP.NET на IIS, так що я зробив це перед аутентифікацією).
richardtallent

Однак зараз деякі видатні версії більше не мають MS-Office. Наприклад, мій 2013 рік ні.
mplungjan
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.