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.
fonte
svnserve
.Respostas:
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 é:
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.
fonte
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.*$