ODC Studio 1.5.0 (Release Notes) - OutSystems Supportで、Entity ActionのラッパーActionを簡単に作成する機能が追加された。
この機能について、動作確認してみる。
なお、2024/12/17時点ではドキュメントは無さそう。
公開された。ドキュメントの項目を参照。
Product Releases and Updates ->
Entity Actions Wrappers Accelerator | OutSystems
修正履歴
2024/12/18 Product Releases and Updatesとドキュメントが出ていたので反映
環境情報
ODC Studio (Version 1.5.0)
機能概要
Entityが持っているEntity Actionのうち、
- Create
- CreateOrUpdate
- Update
- Delete
に対するラッパーActionを、右クリックメニューから自動作成できる機能。
出来上がるActionは簡単なバリデーションだけ持つ極めて簡素なもの。
使い方
対象のEntityを右クリック、Cretae Entity Actions Wrappersを選択。
あるいは、特定のEntity Actionを選択して右クリック、Cretae Entity Action Wrapperを選択。
できるもの
Entityと同名のフォルダができ、その中に、Create/CreateOrUpdate/Delete/Updateのラッパーが自動生成される。
なお、ここではId以外にIs Mandatory=Yesの属性がないEntityでテストしたため以下の実装になっている。他にもIs Mandatory=Yesの属性があるEntityであれば、その入力チェックは自動作成された。
ラッパーAction:Create/CreateOrUpdate
バリデーション無しで、シンプルに受け取ったEntity型を元にレコードを作成しIdを返すだけのAction。
CreateOrUpdateも流れは同じで、呼ぶEntity ActionがCreateOrUpdateに変わるだけ。
ラッパーAction:Delete/Update
Idが指定されている(NullIdentifier()でない)ことを確認するバリデーションのみ含む。
Updateも流れは同じ。
感想
機能としては、非常にシンプルなラッパーActionが出来上がるだけ。
Entity Actionに対してラッパーを作成するのはベストプラクティス(つまり、通常はいずれにせよ踏む手順)。簡単なものでもプレースホルダーとして作成出来るのはわずかに便利。
ただし、実際に使うことを考えると、各ユーザー企業でそれぞれの事情を踏まえた開発標準や内部部品の配置があると思うので
- 現在対象になっている以外のAction(CreateOrUpdateSomeのラッパーや、論理削除など)も追加できると良い
- よくあるパターンとして、Entityに共通で持つ属性を持たせることが多いので、その編集も初期配置しておきたい
- 相関チェックは自動配置はできないだろうからプレースホルダーとコメントくらい置いてあると良い
- 例外処理やログ出力の標準化されていたら事前配置したい
という希望を踏まえると、生成されるラッパーに対してテンプレートを設定(Actionの種類も増やせる様にする)できるとより使い所が増えそう。現段階ではちょっとだけ便利くらい。
ドキュメント(2024/12/18追記)
Understanding CRUD operations in ODC > ODC Studio accelerator - ODC Documentation
以下、このドキュメントから注意を払う価値のありそうな情報を抜き出す。
- ODC Studioからラッパーを作り出す機能はacceleratorというカテゴリに入るようだ
- Entityと同名のフォルダに、Create/CreateOrUpdate/Delete/Updateのラッパーを作るというのはドキュメントで裏付けられる
- 外部DBのEntityは対象外
- EntityがPublicなら公開用のService Actionも同時に生成される