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


10

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

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

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

私はクライアントコンピューターをあまり制御できません。そのため、このようなすべての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。


これはより面倒な回避策であるため、これを回答として提案することはできません。Apache / SVNはアクセスプロトコルとしてDAVを使用しているので、DFAVについてはあなたは正しいと思います。これを念頭に置いて、Apacheを削除してsvnserve代わりに使用することもできます。
SmallClanger 2011

提案をありがとうございますが、svnserverは私たちのオプションではありません。Apacheの使用に依存する多くのカスタマイズが用意されています。
James Tisato、2011

MSからの非常に役立つ記事を見つけました(驚いた!):support.microsoft.com/kb/838028 Apacheサーバーは、HTTP 1.1 OPTIONS応答を通じて、WebDAV操作が可能であり、Officeがそれらを使用していることを示しているようです。「私のサーバーでWebDAVを使用可能にしたいが、Officeで使用したくない」というのは、いまいましいオプションはどこにあるのでしょうか。
James Tisato、2011

回答:


12

(最終的に)解決しました。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サポートを放棄してオフにします。


どうもありがとうございます!私はSubversionを使用していませんが、同じ中心的な問題と戦っており、これまでドキュメントを見つけることができませんでした。これがすべてか、それともすべてかはまだ100%わかりませんが、そのように聞こえます。WebページにリンクされたOfficeドキュメントを開くと、コピーがローカルキャッシュから表示されている場合でも、内部ハイパーリンク(相対パス、パスなし)で完全修飾されたhttpアドレスとパスが作成されます。これはIEでのみ発生しました... FFとChromeは、ローカルファイルキャッシュからのリンクを(予想どおり)壊れていました。もう一度ありがとうございます。
one.beat.consumer 2011

1
@chekolynによって提案され、書き換え設定にfollwoing 3行を追加します 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

Excel HYPERLINK()呼び出しはOPTIONSリクエストを生成しませんが、追加のGETを生成します。それらを監視するユーザーエージェント文字列は "ms-office"です。エラー405を返すとハイパーリンクがまったく正しく機能しなくなりましたが、Officeに対して空白の200応答を返すとうまくいきました。デフォルトのWebブラウザーがほとんどすぐにURLに開かれました(IISでASP.NETを使用しているので、これは認証前)。
richardtallent 2014

ただし、現在一部のExcelにはms-officeがありません。たとえば、私の2013ではできません。
mplungjan 2015
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.