Multi-Tenant

WorkWithPlus では、いくつかの利点および自動動作により、マルチテナントアプリケーションを簡単に作成することができます。 

[WorkWithPlus] > [全般設定] で、[Settings] メインノードを右クリックし、[追加] > [MultiTenant] と選択して追加します。

MultitenantProperties15 

次のプロパティに値を設定する必要があります:

  • [Tenant Attribute]: テナントトランザクションの主キー項目属性です。項目属性 (トランザクションに存在する場合) はテナントの識別子と見なされます。
  • [Tenant Description Attribute]: テナントのデスクリプションと見なされる項目属性です (Admin ビューで表示)。
  • [Get Tenant Description Expression]: トランザクションに [Tenant Description Attribute] が存在しない場合、[Tenant Attribute] に基づいた変数を使用して [Tenant Description Attribute] の値を取得するためのエクスプレッションです。例: GetTenantDescription(&TenantId)
  • [Current Tenant Expression]: 生成されたオブジェクトの条件で使用される、現在のテナントを返す 1 行のエクスプレッションです。上記の例では、現在のテナントの情報は、WWPContext SDT を使用してコンテキストに保存されます。
  • [Supports all tenants view by default]: 管理者がすべてのテナントのレコードを表示するのをサポートします。

各トランザクションインスタンス (WorkWithPlus for Web が適用されたトランザクションや、List テンプレートまたは View テンプレートに基づき、トランザクションに基づいた Web パネルなど) の [プロパティ] の [Multitenant] グループに、[Multi-Tenant Support] という名前のプロパティが表示されます。

MultitenantTrnProperties

このプロパティでは、[<default>]、[True]、または [False] の値を指定できます。

  • [<default>]: 最初の主キー項目属性として、[WorkWithPlus] > [全般設定] > [MultiTenant] > [Tenant Attribute] で定義された項目属性がトランザクションにある場合、インスタンスのオブジェクトにマルチテナント動作が追加されます。

       次の例では、Person トランザクションにこの項目属性が存在します。したがって、[<default>] 値を指定すると、マルチテナント動作が含まれるようになります。

MultitenantPersonTrnStructure2

  • [True]: インスタンスのオブジェクトにマルチテナント動作が追加されます。
  • [False]: インスタンスのオブジェクトにマルチテナント動作は追加されません。

WorkWithPlus Settings で設定されたマルチテナントアプリケーションがある (前述の [MultiTenant] ノードがある) 場合、[Tenant Attribute] で設定された項目属性は、どのインスタンスにも自動的に追加されません。  

MultitenantInstanceAttNotPresent

インスタンスの [Support Multi tenant] プロパティが [True] または [<default>] で、前述の条件を満たしている場合、WorkWithPlus は以下の処理を自動的に実行します:

  • [WorkWithPlus] > [全般設定] > [Settings] > [MultiTenant] > [Current Tenant Expression] プロパティに記述されているエクスプレッションを使用して、「TenantId」を Parm ルールから削除し、[ルール] に直接割り当てます:

MultitenantRules

  • 条件を追加し、List オブジェクトで現在の TenantId のレコードをフィルタします:

MultitenantListConditions

  • 条件を追加し、GridTab オブジェクトで現在の TenantId のレコードをフィルタします:

MultitenantGridConditions

  • View オブジェクトで、TenantId でもフィルタを実行して、現在のレコードの情報を取得します。

また、WorkWithPlus for Web のすべての組み込み機能で、(必要に応じてテナントのフィルタまたは割り当てを実行して) テナント情報を使用できます。以下に例を示します:

  • モジュールの検索 (現在のテナントの結果のみを表示)
  • 監査
  • Excel および CSV のインポート
  • ディスカッションモジュール
  • 通知およびサブスクリプションモジュール (近いうちに、この機能のマルチテナントのサポートが実装されます)


Copyright © 2007-2015 DVelop Software Solutions - www.workwithplus.com