0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[ODC]RoleがPublic=Yesにできるようになった

Posted at

RoleのPublicを設定できるようになった(2024/11/16時点では、Release Notesにはまだ載っていないが、恐らくODC Studio 1.4.31から)。

環境情報

ODC Studio(Version 1.4.31)

ODCにおけるRole(これまでとこれから)

これまでは、RoleをPublicにできなかったため、複数のAppで共通のRoleを使いたい場合、

  1. 同名のRoleをそれぞれに作成する
  2. Roleをユーザーに付与する際、Roleが存在する全Appで付与するロジックを作成する
  3. 同様にRevokeのロジックも全App対象

と面倒だった(参考:[OutSystems]Architecture Specialization (ODC)のサンプル問題について解説 1/2 (#1-#5) #outsystems - Qiitaの1 Deployments and Configurations)。

(ただし、End-user groupsを使うならこの対応は必要ない)

これからは、権限の管理ロジックを1箇所で作成(あるいはODC Portal上で1 Appのみを対象に操作)すれば良くなる。

動作確認

RoleのPublic=Yesに設定

これまでは無かったPublicプロパティが増えている。以下、テストのためYesに設定してPublish。以降の動作確認は、他のAppからこのRoleを参照して行う。
スクリーンショット 2024-11-16 14.22.19.png

他のAppから参照を追加するダイアログ。
スクリーンショット 2024-11-16 14.26.39.png

参照した他AppのRoleもScreenの権限チェックに利用可能

他AppのRoleも、ScreenのAuthorization下で選択可能。ただ、どのAppのものか、という情報は表示されない。
スクリーンショット 2024-11-16 17.29.16.png

Human ActivityのAssign先にもRoleを指定できるようになった (詳細は別の記事で見る)

スクリーンショット 2024-11-16 17.39.24.png

Action(Checkは使えるがGrant・Revokeは使えない)

Roleを作成するとCheck(ClientとServer)、Grant、RevokeのActionが自動で用意される。
他AppのRoleを参照する場合、このうち、Checkは使えるが、Grant・Revokeは使えない。
スクリーンショット 2024-11-16 17.43.07.png

Built-In FunnctionにCheckEndUserRoleが追加

以前はなかったはずの、CheckEndUserRole Built-in functionが追加されていた。
RoleIdを渡すことで、ログインユーザーがそのRoleを持っているかを判定する。
ただし、このRoleIdが現時点(2024/11/18)では取れない気がする。
ODC Portalでは見当たらないし、Action Flow中でも、Id項目を参照できるわけではなさそう。

OutSystems 11の頃なら、メタデータのEntityなど取れる方法はあったが。
今回、WorkflowのHumanActivity関連で追加されたEntity,(System)/HumanActivityRoleには含まれているので、WorkflowでHuman Activityを配置 → Assignを対象Roleにする → データをプレビューして取得、という手はありそうだが。流石にそのうち、正式な取得手順が公開されるはず。
スクリーンショット 2024-11-16 18.00.59.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?