LoginSignup
0
0

More than 3 years have passed since last update.

OutSystemsで、モバイルアプリケーションだけをリストアップする

Posted at

OutSystems環境で、特定の種類のアプリケーションだけをリストアップする方法を確認してみました。

Service CenterやService Studioでアプリケーションをリストアップすると、アイコンで種類を確認できます。
しかし、その方法だと、特定の種類のアプリケーションのみのリストではないので、若干不便です。

サンプル

Forgeコンポーネント:https://www.outsystems.com/forge/Component_Overview.aspx?ProjectId=7086
ApplicationEntity Screenを参照してください。

こんな感じに、指定した種類のアプリケーションのみをリストアップできます(例ではモバイルのみ)。

qApplicationEntity1.PNG

環境

Personal Environment(Version 11.0.606.0)
Service Studio(Version 11.6.22)

アプリケーションリストを取得する

この方法には、(System)モジュールに含まれるApplication Entityが使えます。

qApplicationEntity2.PNG

このあたりのEntityについては、正式なドキュメントが見つかりません。
そのため、観測からの判断ですが、それぞれ以下の役割を持っているものを持っているものと思われます。

  • Application
    • 接続している環境内のアプリケーションを表すEntity
    • Name:アプリケーション名
    • Description:アプリケーション作成時に指定する説明文
    • CreatedBy:作成ユーザーのID
    • Is_Active:アプリケーションが環境内で削除されていないか(削除されるとFalseが設定される模様)
  • Application Icon
    • アプリケーション作成時に指定したアイコン画像
  • RuntimeKind
    • Static Entity
    • アプリケーションの種別(モバイルアプリケーションならMobile、など)を表す
  • UserMT
    • Users Entityのビュー
    • Usersのマルチテナント版

ApplicationのRuntimeKindを、Entities.RuntimeKind.Mobileで絞り込みすることによって、モバイルアプリケーションだけが表示されるようになります。
削除済みのアプリケーションを表示したくなければ、Is_Active=Trueを追加してください。

UserMTを使用する理由

UsersでなくUserMTを使うのは、アプリケーションを作成するユーザが、Service Centerのユーザだからですね。

モジュールのUser Provider moduleプロパティを展開してみると、デフォルトがUsersで、別の候補にService Centerがあると思います。
qApplicationEntity3.PNG

User Providerは、アプリケーションにログインできるユーザーアカウントを管理するモジュールのことです。
User Providerとテナントが結びついています。そのため、アプリケーションが動作するUsersにいないユーザーをApplication.CreatedByが指しているために、マルチテナント版のUserMTを使っています。

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