Impedindo a integração do Microsoft Office 2010 com o servidor Subversion como se fosse o Sharepoint

10

Temos um servidor Apache Subversion no qual armazenamos (entre outras coisas) toda a nossa documentação. Temos muitos documentos do Word, Excel, PDF etc. no svn, e todos os nossos usuários usam o TortoiseSVN como interface do cliente. Muitos desses usuários também navegam no repositório através de um navegador da Web, que (infelizmente) geralmente é o Internet Explorer.

Recentemente, começamos a testar o Office 2010 (a partir de 2003) e descobrimos que os documentos do repositório são abertos de maneira diferente ao navegar com o IE. Em vez de fazer o download do arquivo do IE e enviá-lo para o aplicativo apropriado (após o qual deve ser apenas uma cópia temporária armazenada localmente), ele envia a URL do documento para o aplicativo. O documento é baixado pelo aplicativo e tratado como se fosse de um servidor do Sharepoint, ou seja, o aplicativo tenta bloqueá-lo e, em seguida, carrega automaticamente as alterações salvas no servidor.

No Google, parece que muitas pessoas querem esse comportamento. No entanto, queremos desativá-lo - ele não se encaixa nos nossos processos existentes. Como posso fazer isso?

Não tenho muito controle sobre as máquinas clientes, portanto, soluções que envolvem desabilitar todos os recursos de colaboração de documentos do Office como este para cada cliente não são o que estou procurando. Além disso, não consegui encontrar muita coisa além de desativar o complemento do Office Document Cache Handler no IE. As únicas opções do lado do cliente que podem ser viáveis ​​são aquelas que desabilitam esse recurso especificamente para o nosso servidor nomeado, mas o deixam ativado para outros.

Isso deixa as soluções do lado do servidor. Acho que o Office vê que o servidor svn tem suporte para WebDAV e, portanto, passa para um fluxo de trabalho de gerenciamento de documentos semelhante ao Sharepoint. Existe alguma maneira de interromper esse tipo de integração sem desativar todo o suporte WebDAV no servidor (supondo que possamos fazer isso)? Na verdade, usamos um pouco do svn automaticamente para outros fins, por isso é um recurso necessário. Eu encontrei uma discussão sobre a desativação do recurso se ele é realmente um servidor do Sharepoint, mas não é! Meu entendimento de como esse tipo de coisa funciona (ou seja, cliente do Office que identifica o suporte WebDAV no servidor) é bastante limitado, por isso, explique mais se puder.

Caso isso importe, a configuração do servidor é:

Apache v2.2.8 e Subversion v1.4.6 no Ubuntu Hardy 8.04.

James Tisato
fonte
Não posso sugerir isso como resposta, já que é uma solução alternativa complicada. Acho que você está certo sobre o DFAV, já que o Apache / SVN usa o DAV como seu protocolo de acesso. Com isso em mente, você pode largar o Apache e usá-lo svnserve.
SmallClanger 17/08/11
Obrigado pela sugestão, mas svnserver não é uma opção para nós. Temos muitas personalizações em vigor que dependem de nós usar o Apache.
James Tisato
Encontrei um artigo muito útil da MS (fiquei surpreso!): Support.microsoft.com/kb/838028 Parece que o servidor Apache indica, através de sua resposta HTTP 1.1 OPTIONS, que é capaz de operações WebDAV e, portanto, o Office as utiliza . Onde está a maldita opção de dizer "Quero que meu servidor tenha o WebDAV disponível, mas não quero que o Office o use ?!"
James Tisato

Respostas:

12

Resolvido (finalmente). http://support.microsoft.com/kb/838028 explica como o Office usa o Microsoft Office Protocol Discovery para determinar se o servidor de documentos possui recursos WebDAV. Ele envia uma solicitação HTTP 1.1 OPTIONS e espera uma resposta 200 OK, detalhando os recursos DAV disponíveis. O servidor Subversion possui suporte (limitado) a DAV e responde como tal, e o Office o usa para gravar diretamente de volta no servidor.

A solução que usamos foi usar o mod_rewrite no servidor Apache para interceptar essas solicitações e enviar de volta uma resposta 405 Método não permitido. A configuração de reescrita é:

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

Ele intercepta todas as solicitações do método OPTIONS provenientes de agentes com o nome "Microsoft Office Protocol Discovery" e envia um 405. Esta solução foi sugerida pelo primeiro comentário em http://rails.nuvvo.com/lesson/2318-dealing- com-microsoft-office-protocol-discovery-in-rails # comentários .

Agora, o Office tenta algumas solicitações OPTIONS, é negado pelo 405, desiste e desativa todo o suporte a DAV para esse servidor específico, deixando-o ativado para quaisquer outros servidores com os quais os clientes possam querer interagir.

James Tisato
fonte
Muito obrigado! Enquanto não estou usando o Subversion, tenho enfrentado o mesmo problema central e não consegui encontrar documentação até agora. Ainda não estou 100% certo de que é isso, ou tudo , mas parece que sim. A abertura de documentos do Office vinculados em uma página da Web criou os hiperlinks internos (relativos, sem caminho), endereços http totalmente qualificados com o caminho, mesmo que a cópia deva ser vista em um cache local. Isso aconteceu apenas no IE ... O FF e o Chrome mostraram links quebrados (conforme o esperado) do cache de arquivos local. Agradeço novamente.
Dec.
1
Sugerido por @chekolyn, adicione as três linhas a seguir para reescrever a configuração: 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
As chamadas do Excel HYPERLINK () não geram uma solicitação OPTIONS, mas geram um GET extra. A sequência de agente do usuário a ser observada com eles é "ms-office". O retorno de um erro 405 fez com que os hiperlinks não funcionassem corretamente, mas o retorno de uma resposta 200 em branco para o Office fez o truque, abriu o navegador da Web padrão quase imediatamente na URL (estou usando o ASP.NET no IIS, por isso fiz) antes da autenticação).
richardtallent
No entanto, agora alguns excelentes não têm mais o ms-office neles. Por exemplo, meu 2013 não.
Mplungjan # 14/15