2

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

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

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

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

どのような考えですか?

答えて

4

これは、あなたがしようとしているものにはまったく適しているわけではありませんが、主にそれを意識し、いくつかのアイデア(および警告)を与える可能性があります。

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

これはおそらくやや有望に聞こえますが、深刻な考慮事項がいくつかあります:

  1. 配線で独自のISPExternalBinaryProviderは、ファーム全体のインパクトを持っています。それはすべてか何もないので、プロバイダーに接続すると、すべてのサイトとライブラリが新しいプロバイダーを使用します。

  2. ISPExternalBinaryProviderがIDLを使用する必要があるため、アンマネージコードを参照する必要があります。

あなたはここで多くを読むことができます:http://msdn.microsoft.com/en-us/library/bb802976.aspx

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

価値があるのは何ですか?

+0

素晴らしい考え!残念ながら、これをファーム全体で実装することはできません。ドキュメントライブラリごとにオプションで有効にする必要があります。 –

+0

AvePointはどのようにアーカイバ製品でこれを行いますか?彼らは、別のデバイスへのオフロードのドキュメントストレージを選択的に(明らかにリスト単位で)提供できることを宣伝します。私は彼らの製品を誤解していますか? –

+0

優秀な質問、クリス。私はこの製品に精通しているわけではありませんが、限られた研究によって、コンテンツがアーカイブされると、SharePointの外部(つまりカスタムストア内)にあると信じられました。この製品にはWebパーツとインデックスのサポートが含まれているため、SharePointにデータが「可視」になりますが、実際にデータをアーカイブから取得する行為には復元操作が必要です。それは、製品がより柔軟な(そして露出した)バックアップシステムのように動作するという印象を与えました。しかし、AvePointでは確認できません。 –

0

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

P.S.もう一つの大きな難点は、バックアップ/バージョン管理の悪夢です。バージョン管理がサポートされているかどうかは不明です。

おそらく、SharePoint 2010のは、これを行うには良い方法があります...

1

私は、ライブラリの文書の作成や更新時に実行される永続性のワークフローを使用して、フォームライブラリにSQLの永続性を実装しています。

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

1

あなたが本当にしたいが、独自の外部永続性をロールバックする場合は、TechNetの6月からこのブランドの新しい、広範囲の記事を見てとってみてください:、今

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

を私に恵みを手。 ;)

+0

ISPExternalBinaryProviderはすでにミックスにスローされていますが、優れたカットアンドペーストのスキルがあります。 –

関連する問題