SharePoint アプリで、1 つまたは複数のリストに単純な階層データを設定する機能を作成する必要があります。各親レコードは「提出」を表し、各子レコードは「提出アイテム」になります。提出物と提出物の間には 1 対 n の関係があります。これは SharePoint で実行するのに実用的ですか? これまでに行ったリストの関係の種類はルックアップ列だけですが、これは少し違うようです。また、そのようなリスト関係が確立されたら、この種のデータでビューを作成する最良の方法は何ですか。このような内容を外部データベースに書き込む方が簡単だとほぼ確信していますが、自動検索機能を活用するために SharePoint を試してみたいと思います。
8 に答える
Sharepointで適切な親/子を作成するには、自分で開発する必要があります。ここには1つのアプローチがあります。フォルダーとコンテンツタイプを使用してSharePoint2007で親子関係をシミュレートする
(注:これはSharePoint 2007に関係します。2010年には、結合によってこれがはるかに簡単になります)
別のデータベースでそれを行い、データを表示するコントロールを含むページを作成し、それに対して検索を実行します。ただし、かなりの SharePoint 機能が失われます。
それ以外の場合は、他のリストのデータを検索できるようにするカスタム フィールド コントロールを作成しても問題ない場合があります。カスタム フィールド コントロールは、関連データを「表示」するためのものです。同じリスト内のページ間の親子関係のためにそれを行ったことは知っています。ただし、1対Nではありません。
どちらにしても難しい選択。
私の投票は「これを外部データベースに書き込む」ことです
トランザクションのサポート、参照整合性、更新の簡単な方法 (SQL と比較)、レポート (Reporting Services と SQL データベースを使用) など、Sharepoint で多くのことを見逃しています...ドキュメントと単純なリストを格納する方法としての SharePoint を参照してください。 ....
Sharepoint の議論は、それが小さなアプリケーションである場合、トランザクションのサポートに関する要件がない場合、外部データをインポートする必要がない場合などです...
Sharepoint が開発プラットフォームであると人々が言う場合、開発プラットフォームとは何かを定義する必要があります。
Sharepoint 2010 に関する最新の噂によると、次のバージョンでは SQL サーバー ベースのリストがサポートされるとのことです ..... これにより、Sharepoint は少なくとも正しい方向に進むと思います ....
SLAM (SharePoint List Association Manager) を見てみましょう。これは、私の会社が作成し、積極的にサポートしているオープン ソース プロジェクトです。SLAM を使用すると、リスト間の関係を含め、SharePoint データを SQL に同期できます。SLAM は、それ自体が非常に便利であることに加えて、SLAM タイプ プロファイルと呼ばれるものを使用して、開発者が独自の複雑なデータ アソシエーションを作成できるようにするためのフレームワークです。ネストされたセット モデルを使用して、実際に SharePoint リストを階層化できるオープン ソース プロジェクトの一部である、すぐに使用できるタイプ プロファイルが 1 つあります。詳細については、codeplex サイトのこのページを参照してください。
接続されたWebパーツを使用して簡単に実行できます。
2つのリストを作成します。
親(Id、タイトル)子(Id、タイトル、ParentId)
新しいSharePointページを作成し、DataFormWebPart(親を表示)と子用に別のページを追加し、両方をQueryStringパラメーターに基づいてフィルター処理するように設定します(そのパラメーターを使用してParent.IdとChild.ParentIdをフィルター処理します)。 -子の関係。さて、子供を追加することはより困難です、そしてそれは私がまだ解決していない部分です。
使用できるもう 1 つの方法は、アイテム内のフィールドを使用して XML を永続化することです。これは、Podcasting Kit (CodePlex 上) が評価などを保存するために使用するアプローチです。
AAA (Activity,Assignment,Artifact) と呼ばれるフレームワークを使用して、sharepoint を使用するだけでこれを頻繁に行います。これにより、ルックアップ列を使用して割り当てまたは成果物を親アクティビティにリンクできます。次に、接続された Web パーツを使用して Web パーツ ページを作成し、アクティビティによってすべての割り当てと成果物をフィルター処理できるようにします。たとえば、提出 Web パーツの提出の横をクリックすると、その提出に添付されているすべての提出アイテムが表示されます。よく働く。
考えられる方法の 1 つは、フォルダー コンテンツ タイプに基づいて提出コンテンツ タイプを作成し、アイテム コンテンツ タイプに基づいて提出アイテムを作成することです。次に、ファイル システムのようにデータを階層的に保存でき、デフォルトのビューと検索機能も動作します。
もう 1 つの方法は、同じリスト (list="self") を指すルックアップ フィールドを作成することです。このフィールドは、親アイテムへの参照のように使用され、再帰的に関連するデータを含むリストを取得します。このデータをプログラムで使用することは問題ありませんが、ビュー機能を使用するのは少し複雑です。