ドキュメントライブラリブラウザーWebパーツと通信する
-
06-07-2019 - |
質問
背景
私の仕事は、SharePointで、クリック可能なプロセスマップの画像を表示することです。 HTMLのイメージマップを考えてください。一部のエリアでは、他のプロセスマップイメージに移動し、他のエリアではポップアップウィンドウが表示されます。
"接続済み"各プロセスマップには一連のドキュメントがあります。これらのドキュメントはドキュメントライブラリに保存されます。ドキュメントライブラリのフォルダーごとに1つのプロセスマップがあります。ドキュメントは画像の横に表示されます。画像またはフォルダをクリックして階層内を移動する人は、ドキュメントをアップロード、ダウンロード、削除することもできます。
質問
これに対する最も簡単な解決策は何ですか?
私の考え
...これまでは、ドキュメントライブラリブラウザー(MOSS 2007の既定のブラウザー)の上に追加するカスタムWebパーツを作成します。このWebパーツは、表示する画像とクリック可能な領域を示すXMLファイルを読み取ります。ブラウザ内のフォルダーのクリックや、現在のフォルダー階層内の現在の場所を確認するための現在のURLの読み取りなど、ドキュメントライブラリから何らかのイベントをリッスンし、そこから正しいプロセスマップイメージを表示します。画像がクリックされると、Webパーツは画像を更新し、それに応じて更新するようドキュメントライブラリに指示します。
これは実行可能ですか?私は間違った方向に進んでいますか?ドキュメントライブラリと通信するにはどうすればよいですか
ありがとう、マーティン
解決 2
ここに来てからずっと...これを実際に解決しました。
プロセスナビゲーション用とドキュメントライブラリ内のドキュメントのフィルタリング用の2つのWebパーツを作成しました。
プロセスナビゲーションのWebパーツは、実際にはURLで特定のクエリパラメーターを検索し、" .html"を追加する単なるWebパーツです。それに。次に、ドキュメントライブラリでそのドキュメントを探します。見つかった場合、このドキュメントはiframe内に表示されます。シンプル!
htmlドキュメントはVisioによって作成され、htmlにエクスポートされた後、SharePointにアップロードされます。 Visioドキュメント内のリンクは、クエリでアプリケーションを駆動します。
対応するドキュメントを表示するWebパーツは、URLで特定のクエリを検索し、IfilterProviderインターフェイスを介してドキュメントライブラリにフィルターパラメーターを送信します。この例をひったくりました MSDNのIFilterProvider そして、URLでパラメーターを検索し、ユーザーにコントロールを見えなくしました。
非常に単純なソリューションですが、顧客は会社のプロセスを組み込むために多くの作業を行う必要があります。また、多少エラーが発生しやすく、データを変更するのは恐ろしいでしょう。
他のヒント
イメージマップを表示し、それを使用してドキュメントライブラリ内のファイルを表示する別のWebパーツに適切な基準を出力(プロバイダー)するWebパーツを作成すると思います。
これを実現するには、CAMLクエリに基づいてドキュメントライブラリを表示する独自のカスタムWebパーツを作成します。各画像は、異なるCAMLクエリをドキュメントライブラリWebパーツに送信します。
これが役立つことを願っています。既に解決済みの場合は、この問題の解決方法に関する情報を提供してください。
ありがとう