エンティティリストからエンティティフォームを呼び出し

再びエンティティリストの回。
エンティティフォームを作ってエンティティフォームの設定をし、エンティティフォームメタデータで入力内容を設定したところで今度はエンティティリストからエンティティフォームを呼び出してみます。

スポンサーリンク

エンティティフォームからエンティティフォームを呼び出す方法

エンティティリストからエンティティフォームを呼び出す方法は2通りあります。

1つは画面遷移によりWebページごと遷移させてしまう方法、もう1つはエンティティフォーム部分だけを呼び出す方法になります。

前者はWebページからWebページへの画面遷移となります。
後者は呼び出し元のWebページは維持したまま、エンティティフォームがサブウィンドウとして開きます。
エンティティフォームへの画面遷移

エンティティリストの設定

エンティティリストからエンティティフォームを呼ぶための設定をします。
まずは、ポータル管理からエンティティリストを開きます。

エンティティリストの[オプション]タブからグリッド構成セクションの[作成]をクリック。
[作成]は複数個作れるので、ここでは比較のため画面遷移パターンとサブウィンドウ表示パターンの両方を作ってみます。

エンティティリストはこのように入力します。
エンティティリスト作成ボタンの設定

赤枠が画面遷移パターン。
「対象の種類」に「Webページ」を選択し、エンティティフォームが埋め込まれたWebページを指定します。
(ボタンの名前は「画面遷移」としておきます)

青枠が画面遷移パターン。
「対象の種類」に「エンティティフォーム」を選択し、エンティティフォームをダイレクトに指定します。
(ボタンの名前は「サブウィンドウ」としておきます)

設定反映後の画面はこのように表示されます。
設定反映後の作成ボタンの表示

「画面遷移」ボタンを押せば、Webページが移動します。

「サブウィンドウ」ボタンを押せば、Webページが移動します。

エンティティフォームのサブウィンドウ表示

どちらを使ったほうがよいのか?

このように画面遷移させる方法とサブウィンドウで表示させる方法があることが分かりました。
果たしてどちらを使うべきなのでしょうか?

どちらのパターンでも設定できるということは、どちらのパターンにもデリメリがあるわけです。
要は要件に応じて使い分けよと言う事です。

画面遷移パターンのデリメリ

青字がメリット、赤字がデメリットです。

  • 作成処理などの完了画面が出せる
  • 作成処理終了後に一覧表示する時に再度画面遷移が必要になる
  • 作成権限とWebページの読み取り権限の両方が必要

3点目については権限の設定の仕方について整理する必要があります。

エンティティリストの「作成」ボタンを表示するのは、あくまでエンティティのアクセス許可で「作成」権限が付与されたポータルユーザになります。

エンティティのアクセス制御で「作成」権限が付与されていないと、
エンティティのアクセス許可で「作成」権限が付与されていないと

このように「作成」に関するボタンが表示されません。
作成のボタンが表示されない

その先のWebページが開けるか否かは、そのWebページについてWebページのアクセス制御ルールで権限が付与されているユーザになります。

Webページのアクセス制御ルールで権限が割り当てられていないと、
作成エンティティフォームのあるWebページに権限がないと

ボタンを押した時に…
作成画面のWebページに移動するとき

「アクセスが拒否されました」画面が出てしまいます。
Webページの読み取り権限がないためアクセス拒否される

つまり、この2つの権限が噛み合っていないと、「作成」のボタンとしては機能しないため、2重の権限設定が必要になることを注意しておきましょう。

(今回は作成についての例なので、作成前提で話を進めましたが、詳細や編集も同じような考え方なので適宜読み替えてください。)

サブウィンドウパターンのデリメリ

青字がメリット、赤字がデメリットです。
ほぼ画面遷移パターンの裏をとった感じですね。

  • 処理終了後に呼び出し元のエンティティリストに内容が反映される
  • 作成処理などの完了画面が出せない
  • サブウィンドウ表示なので表示領域が狭い(複数列配置には向かない)

こちらは作成権限が付与されていればエンティティフォームを開くことが可能です。
権限がなければボタンも出ないので、アクセス拒否されるようなミスマッチは起こりません。

サブウィンドウ内で作成処理が行われている関係上、完了メッセージが表示されることはなく、処理が終了するとサブウィンドウが閉じられ完了画面が表示されません。
サブウィンドウだとこの画面が表示されない

コメント