Arresto di Microsoft Office 2010 dall'integrazione con il server Subversion come se fosse Sharepoint


10

Abbiamo un server Apache Subversion su cui archiviamo (tra le altre cose) tutta la nostra documentazione. Abbiamo molti documenti Word, Excel, PDF ecc. In svn e tutti i nostri utenti usano TortoiseSVN come interfaccia client. Molti di questi utenti navigheranno anche nel repository tramite un browser Web, che (purtroppo) è spesso Internet Explorer.

Di recente abbiamo iniziato a provare Office 2010 (dal 2003) e abbiamo scoperto che i documenti del repository vengono aperti in modo diverso durante la navigazione con Internet Explorer. Anziché IE che scarica il file e quindi lo invia all'app appropriata (dopo di che dovrebbe essere solo una copia temporanea memorizzata localmente), invia l' URL del documento all'app. Il documento viene scaricato dall'app e quindi trattato come se provenisse da un server Sharepoint, ovvero l'app tenta di bloccarlo e quindi carica automaticamente tutte le modifiche salvate sul server.

Da Google, sembra che molte persone vogliono questo comportamento. Tuttavia, vogliamo disabilitarlo: non si adatta ai nostri processi esistenti. Come posso fare per fare questo?

Non ho molto controllo sui computer client, quindi le soluzioni che prevedono la disabilitazione di tutte le funzionalità di collaborazione dei documenti di Office come questa per ciascun client non sono ciò che sto cercando. Inoltre, non sono riuscito a trovare molto di più che disabilitare il componente aggiuntivo Office Document Cache Handler in IE. Le uniche opzioni sul lato client che potrebbero essere possibili sono quelle che disabilitano specificamente questa funzione per il nostro server nominato ma la lasciano attiva per gli altri.

In questo modo lascia soluzioni lato server. Sto indovinando che Office vede che il server svn ha il supporto WebDAV e quindi si sposta in un flusso di lavoro di gestione dei documenti simile a Sharepoint. Esiste un modo per interrompere questo tipo di integrazione senza disabilitare tutto il supporto WebDAV sul server (supponendo che potremmo persino farlo)? In realtà usiamo un po 'di autoversioning di svn per altri scopi, quindi è una caratteristica richiesta. Ho trovato discussione sulla disabilitazione della funzione se in realtà è un server Sharepoint, ma non lo è! La mia comprensione di come funziona questo tipo di cose (ovvero client di Office che identifica il supporto WebDAV sul server) è piuttosto limitata, quindi per favore spiegami ulteriormente se puoi.

Nel caso in cui sia importante, l'impostazione del server è:

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


Non posso suggerire questo come una risposta, dal momento che è più una soluzione ingombrante. Penso che tu abbia ragione sul DFAV, dal momento che Apache / SVN utilizza DAV come protocollo di accesso. Tenendo presente ciò, è possibile eliminare Apache e utilizzare svnserveinvece.
SmallClanger,

Grazie per il suggerimento, ma svnserver non è un'opzione per noi. Abbiamo molte personalizzazioni in atto che dipendono da noi usando Apache.
James Tisato,

Ho trovato un articolo molto utile da MS (sono rimasto sorpreso!): Support.microsoft.com/kb/838028 Sembrerebbe che il server Apache indichi attraverso la sua risposta OPZIONI HTTP 1.1 che è in grado di eseguire operazioni WebDAV e quindi Office le utilizza . Dov'è la dannata opzione per dire "Voglio che il mio server abbia WebDAV disponibile, ma non voglio che Office lo usi ?!"
James Tisato,

Risposte:


12

Risolto (finalmente). http://support.microsoft.com/kb/838028 spiega in che modo Office utilizza l'individuazione del protocollo Microsoft Office per determinare se il document server dispone delle funzionalità WebDAV. Invia una richiesta OPZIONI HTTP 1.1 e si aspetta una risposta di 200 OK con i dettagli delle funzioni DAV disponibili. Il server Subversion ha il supporto DAV (limitato) e le risposte in quanto tali, quindi Office lo utilizza per riscrivere direttamente sul server.

La soluzione che abbiamo usato era usare mod_rewrite sul server Apache per intercettare queste richieste e rispedire una risposta 405 Metodo non consentito. La configurazione della riscrittura è:

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

Intercetta tutte le richieste di OPZIONI del metodo provenienti dagli agenti con il nome "Rilevazione protocollo Microsoft Office" e restituisce un 405. Questa soluzione è stata suggerita dal primo commento su http://rails.nuvvo.com/lesson/2318-dealing- con-microsoft-office-protocol-discovery-in-rails # commenti .

Ora Office prova alcune richieste OPTIONS, viene negato dal 405, quindi rinuncia e disattiva tutto il supporto DAV per questo particolare server, lasciandolo abilitato per qualsiasi altro server con cui i client potrebbero voler interagire.


Grazie mille! Mentre non sto usando Subversion, ho combattuto lo stesso problema principale e finora non sono riuscito a trovare la documentazione. Non sono ancora sicuro al 100% che sia, o tutto , ma suona così. L'apertura dei documenti di Office collegati in una pagina Web ha reso i collegamenti ipertestuali interni (relativi, senza percorso) indirizzi http pienamente qualificati con percorso anche se la copia deve essere visualizzata da una cache locale. Questo è successo solo in IE ... FF e Chrome hanno mostrato collegamenti interrotti (come previsto) dalla cache dei file locali. Grazie ancora.
one.beat.consumer

1
Suggerito da @chekolyn, aggiungi le seguenti tre righe per riscrivere la configurazione: 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

Le chiamate Excel HYPERLINK () non generano una richiesta OPTIONS ma generano un GET aggiuntivo. La stringa agente utente da tenere d'occhio è "ms-office". Restituendo un errore 405, i collegamenti ipertestuali non funzionavano affatto correttamente, ma restituire una risposta 200 vuota per Office ha funzionato, ha aperto il browser predefinito quasi immediatamente all'URL (sto usando ASP.NET su IIS, quindi ho fatto questo prima dell'autenticazione).
richardtallent,

Comunque ora alcuni excels non hanno più ms-office. Ad esempio il mio 2013 no.
mplungjan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.