Parando o Microsoft Office 2010 de integrar com o servidor Subversion como se fosse Sharepoint

10

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

Recentemente, começamos a testar o Office 2010 (vindo de 2003) e descobrimos que os documentos do repositório são abertos de maneira diferente ao navegar com o IE. Em vez de baixar o arquivo pelo IE e, em seguida, enviá-lo para o aplicativo apropriado (depois do 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, em seguida, tratado como se viesse de um servidor Sharepoint, ou seja, o aplicativo tenta bloqueá-lo e, em seguida, carregar as alterações salvas de volta para o servidor automaticamente.

No Googling, parece que muitas pessoas querem este comportamento. No entanto, queremos desativá-lo - ele não se ajusta aos nossos processos existentes. Como posso fazer isso?

Eu não tenho muito controle sobre as máquinas clientes, portanto, as soluções que envolvem a desativação de 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 que eu pudesse fazer além de desativar o complemento do Document Document Cache Handler no IE. As únicas opções do lado do cliente que podem ser viáveis são aquelas que desabilitam especificamente esse recurso para o nosso servidor nomeado, mas o deixam ligado para outras pessoas.

Isso deixa as soluções do lado do servidor. Eu estou supondo que o Office vê que o servidor svn tem suporte WebDAV e, portanto, se move em um fluxo de trabalho de gerenciamento de documentos do SharePoint. Existe alguma maneira de parar esse tipo de integração sem desativar todo o suporte do WebDAV no servidor (supondo que poderíamos fazer isso)? Na verdade, usamos o autoversionamento do svn um pouco para outros propósitos, por isso é um recurso obrigatório. Eu encontrei a discussão de desativar o recurso, se é realmente um servidor Sharepoint, mas não é! Meu entendimento de como esse tipo de coisa funciona (ou seja, o cliente Office identificando o suporte do WebDAV no servidor) é bastante limitado, então explique melhor, se puder.

Caso seja importante, a configuração do servidor é:

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

    
por James Tisato 17.08.2011 / 10:38

1 resposta

12

Resolvido (finalmente). O link 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 tem suporte a DAV (limitado) e responde como tal, e o Office o utiliza para escrever diretamente de volta ao servidor.

A solução que usamos foi usar o mod_rewrite no servidor Apache para interceptar esses pedidos e enviar de volta uma resposta 405 Method Not Allowed. 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 de volta um 405. Esta solução foi sugerida pelo primeiro comentário sobre link .

Agora o Office tenta algumas solicitações OPTIONS, é negado pelo 405, desiste e desativa todo o suporte DAV para esse servidor específico, deixando-o habilitado para qualquer outro servidor com o qual os clientes possam interagir.

    
por 24.08.2011 / 00:20