前回はエンティティアクセス制御について設定方法を取り上げました。
まだポータルのページでエンティティのレコードを表示していないので、今回は一覧表示についての設定になります。
おそらく、エンティティフォームと並びポータル機能の肝となるところです。
ここを使いこなせればポータルマスターに近づく。。。かな!?
エンティティリストを使って一覧表示
ポータルでのエンティティ一覧表示はエンティティリストを使って定義します。
エンティティリストの構成としてはこの様な感じになります。
エンティティリストは単発で使うことはなく、Dynamicsビューを取り込んで(複数可)表示させる一覧を定義します。
ビュー自体にもフィルター条件が設けられているので、それを引き継ぐ形になりますがエンティティリスト内でさらに追加で条件を加えることが可能です。
予め指定されたフィルタ条件だけでなく、ポータルユーザが検索条件を指定して検索をかけることが可能です。
その検索条件(テキストか選択式かなど)もエンティティリストで定義します。
最終的にエンティティリストは検索機能つき一覧表示として出来上がるので、それをWebページに取り込んで使用することになります。
WebページではWebテンプレートに従った形式で、エンティティリストで定義した検索機能つき一覧表示+記述したHTMLの形で表示することになります。
よって、レコードの一覧表示のためには、以下のアプローチでビューからWebページまでの作成が1セットとなります。
- ビューを作成する
- エンティティリストを作成
- Webページを作成
ビューの作成方法については、Dynamicsのビューの作成と同じですので説明は割愛します。
エンティティリストレコードの作成
エンティティリストはポータル管理の[エンティティリスト]から登録します。
設定項目が何個かありますが、まずは基本的な設定から。
今回は自分が所属する会社の取引先担当者(Contact)を表示するエンティティリストを作りましょう。
[全般]タブでエンティティリストの基本情報を入力します。
入れなきゃいけないのが、名前・エンティティ名・Webサイト・ビューの4つ。
ページサイズも一応必須ですがデフォルトが10なのでとりあえずこのまま使います。
名前は任意名でOK。
エンティティ名は対象のエンティティを選択するので、ここではContactを選択。
Webサイトはいつものお決まりのWebサイトを指定。
ビューはContactにあるビューを指定、今回は「アクティブな取引先責任者」を使用します。
必須項目は以上ですが、この状態だと自分が所属する取引先担当者のみのアクセス制限がないため、「エンティティのアクセス許可を有効にする」にはチェックを入れておきましょう。
チェックが漏れると無駄なアクセス権限を与えてしまうことになるので、今後もここは常にチェックしておいたほうがいいと思います。
あとは、ビューのフィルタ条件だけだと、自分の会社が所属する取引先担当者という条件抽出ができません。
ビューは元々ユーザが動かす想定で作られているので、Contactであるポータルユーザが動かした実行ユーザの条件には乗せられません。
そのため、ポータルユーザにちなんだフィルタ条件は「フィルターの条件」セクション内で設定します。
今回のケースは自社の取引先担当者を拾いたいので、取引先企業属性に「parentcustomerid」を指定しましょう。
よって、情報はこのように入力。
あとはデフォルトでOKです。
項目 | 値 |
---|---|
名前 | 任意名 |
エンティティリスト | Contact |
Webサイト | ポータルのWebサイトを指定 |
ビュー | Contactの任意のビューを選択 |
エンティティのアクセス許可を有効にする | チェック |
取引先企業属性 | parentcustomerid(自分の会社に所属するContactに絞る) |
他にも設定できることがたくさんありますが、おいおい設定するとしてまずはこれがエンティティリストの基本設定内容となります。
作ったエンティティリストをWebページに取り込む
エンティティリストまで作ったらあとはWebページの中に取り込みます。
Webページの作り方については、以前触れているので詳しい設定内容はここでは述べませんが、エンティティリストを取り込む際の設定としては、エンティティリストを指定することと、エンティティリストが適用できるテンプレート(フルページなど)を使用すればOKです。
Webページはこのように登録しました。
ついでに、ホーム画面から飛べるようにWebリンクも作っておくといいでしょう。
ポータルユーザで表示
Webページまで作成したらポータルでそのWebページを開いて表示してみましょう。
このように、一覧が表示されています。
会社名がジャイアンツの取引先担当者しか表示されていないので、うまく抽出されていることになります。
ここで設定したのはほんの一握りなので、次回はもっと踏み込んだ設定をやってみましょう。
コメント