2

標準のUIを使用しているが、別の永続層を実装しているカスタムドキュメントライブラリを作成したいと思います。基本的に、別のソースシステムからドキュメントをフェッチして表示します。このようにして、既存のオブジェクトモデルを使用できますが、SharePoint内の優れたオフィス統合を活用できます。

私はここでまともな記事を見つけましたが、彼らは不正行為をしており、外部永続性のための完全に新しいUIをコーディングしています。

SPListオブジェクトとSPDocumentLibraryオブジェクトを見てきましたが、必要なメソッドをオーバーライドできません。

イベントフレームワークを見てきましたが、より近いですが、「GetFile」や「PopulateList」などの重要なイベントがありません。

何かご意見は?

4

4 に答える 4

4

これは、あなたがやろうとしていることに対して完全に (またはおそらく「良い」) 適合ではありませんが、主に認識のために言及し、追加のアイデア (および警告) を与える可能性があります。

SharePoint のストレージ アーキテクチャは、2 つの異なるバックエンド ストアを利用します。1 つはメタデータ (常に SharePoint の SQL データベース) 用で、もう 1 つは BLOB ストレージ (既定では SQL) 用です。ただし、SharePoint の現在の形式では、ISPExternalBinaryProvider インターフェイスを実装する型を介して独自の BLOB ストレージ プロバイダーを「接続」することができます。このインターフェイスを実装する型を配線すると、選択した別のストアにドキュメントやその他の BLOB アイテム型を格納しながら、メタデータを SQL に格納し続けることができます。

これはおそらく有望に思えますが、いくつかの重要な考慮事項があります。

  1. 独自の ISPExternalBinaryProvider を接続すると、ファーム全体に影響を与えます。オール オア ナッシングなので、プロバイダーが接続されると、すべてのサイトとライブラリが新しいプロバイダーを使用します。

  2. ISPExternalBinaryProvider は IDL を操作する必要があるため、アンマネージ コードに飛び込む必要があります。

ここで詳細を読むことができます: http://msdn.microsoft.com/en-us/library/bb802976.aspx

私の見解では、外部 BLOB ストレージ (EBS) システムは、現時点では「プロトタイプ」のようなものであり、プライムタイムの準備ができていません。しかし、他に何もないとしても、それはあなたに考える何かを与えてくれます. SharePoint Server 2010 は、これをさらに活用し、より魅力的で実装しやすいものにすることを願っています。

それが価値があるもののために!

于 2009-06-25T19:31:54.107 に答える
1

独自の外部永続化を本当に実行したい場合は、TechNet で 6 月に公開されたこの最新の広範な記事を参照してください。

http://technet.microsoft.com/en-us/magazine/2009.06.insidesharepoint.aspx

さぁ、賞金を渡してくれ。;)

于 2009-07-03T00:18:27.450 に答える
1

ライブラリのドキュメントの作成および更新時に実行される永続化ワークフローを使用して、フォーム ライブラリに SQL 永続化を実装しました。

Visual Studio 2008 で Office SharePoint 2007 ワークフロー プロジェクトを作成し、SPItem ドキュメント コンテンツを取得して、InfoPath WebForm によって生成された XML から関連データを抽出し、データベースに永続化しました。

于 2009-06-26T00:03:14.233 に答える
0

申し訳ありませんが、ISPExternalBinaryProvider がこれを行う唯一の方法です。標準の UI を使用したい場合は残念です。

PSもう1つの大きな欠点は、バックアップ/バージョン管理の悪夢です。バージョン管理がサポートされているかどうかさえわかりません。

おそらく、SharePoint 2010 にはこれを行うためのより良い方法があるでしょう...

于 2009-06-25T20:48:35.840 に答える