web-dev-qa-db-ja.com

Microsoft Office 2010がSharepointであるかのようにSubversionサーバーと統合できないようにする

私たちはすべてのドキュメントを(特に)保存するApache Subversionサーバーを持っています。 Word、Excel、PDFなどのドキュメントがsvnにあり、すべてのユーザーがTortoiseSVNをクライアントインターフェースとして使用しています。これらのユーザーの多くは、Web経由でリポジトリを閲覧します。ブラウザー、これは(残念ながら)多くの場合Internet Explorerです。

最近、Office 2010の試用を開始し(2003年から)、IEを参照すると、リポジトリからのドキュメントが別の方法で開かれることがわかりました。 IEファイルをダウンロードして適切なアプリに送信する(その後、ローカルに保存された一時的なコピーである必要がある)のではなく)[〜#〜] url [〜#〜]ドキュメントをアプリにダウンロードします。ドキュメントはアプリによってダウンロードされ、SharePointサーバーから送信されたものとして処理されます。つまり、アプリはそれをロックし、保存された変更をアップロードします。サーバーを自動的に。

グーグルから見ると、多くの人がwantこの動作をしているようです。ただし、これを無効にしたいので、既存のプロセスに適合しません。これを行うにはどうすればよいですか?

私はクライアントコンピューターをあまり制御できません。そのため、このようなすべてのOfficeドキュメントコラボレーション機能をクライアントごとに無効にするソリューションは、私が探しているものではありません。その上、IEでOffice Document Cache Handlerアドオンを無効にする以外にできることを見つけることができませんでした。実行可能な唯一のクライアント側のオプションは、名前付きサーバーに対してこの機能を特に無効にするが、他のサーバーに対してはオンのままにするオプションです。

したがって、サーバー側のソリューションは残ります。 Officeは、svnサーバーがWebDAVをサポートしているため、Sharepointのようなドキュメント管理ワークフローに移行していると考えています。サーバーですべてのWebDAVサポートを無効にすることなく、この種の統合を停止する方法はありますか(それが可能だとすれば)。実際にはsvnの自動バージョン管理を他の目的で少し使用しているため、これは必須の機能です。実際にSharepointサーバーである場合、機能を無効にすることについての議論を見つけましたが、そうではありません!この種の機能(つまり、サーバー上のWebDAVサポートを識別するOfficeクライアント)についての私の理解はかなり限られているので、可能であればさらに説明してください。

重要な場合、サーバーのセットアップは次のとおりです。

Ubuntu Hardy 8.04上のApache v2.2.8およびSubversion v1.4.6。

10
James Tisato

(最終的に)解決しました。 http://support.Microsoft.com/kb/838028 は、OfficeがMicrosoft Office Protocol Discoveryを使用して、ドキュメントサーバーにWebDAV機能があるかどうかを判断する方法を説明しています。 HTTP 1.1 OPTIONSリクエストを送信し、利用可能なDAV機能の詳細を示す200 OK応答を期待します。 Subversionサーバーは(制限付きで)DAVをサポートしており、それ自体が応答します。Officeはそれを使用して、サーバーに直接書き込みます。

私たちが使用したソリューションは、Apacheサーバーでmod_rewriteを使用してこれらのリクエストをインターセプトし、405 Method Not Allowedレスポンスを返すことでした。書き換え構成は次のとおりです。

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

これは、「Microsoft Office Protocol Discovery」という名前のエージェントからのメソッドOPTIONSのすべてのリクエストを傍受し、405を返します。このソリューションは、最初のコメント http://Rails.nuvvo.com/lesson/で提案されました。 2318-dealing-with-Microsoft-office-protocol-discovery-in-Rails#comments

OfficeはいくつかのOPTIONSリクエストを試行し、405によって拒否され、クライアントがやり取りする可能性のある他のサーバーに対しては有効にしたまま、この特定のサーバーに対するすべてのDAVサポートを放棄してオフにします。

12
James Tisato