Domain Separation アプリケーションプロパティ
Domain Separation プラグインには 2 つの新しいテーブルがあり、サービスプロバイダーは Domain Separation を使用するアプリケーションをより柔軟にカスタマイズできます。これらのテーブルは、システムアプリケーションプロパティテーブル [sys_application_property] とシステムアプリケーションプロパティ値テーブル [sys_application_property_value] です。
より多くのオプションを提供する新しいテーブル
サービスプロバイダー (SP) アプリケーションでは、ドメインによって特定のアクションが異なる場合があります。ただし、ServiceNow® ベースシステムのシステムプロパティ [sys_properties] テーブルはドメイン分離されていないため、Domain Separation を使用するアプリケーションの要件を満たしていません。
各 SP 顧客は、別の方法でのアプリケーションのカスタマイズを望む場合があります。以前は、カスタマイズ可能な機能は 1 つのグローバル値としてのみ定義されていました。アプリケーション開発者は、より柔軟なテーブルが必要です。機能を追加または変更するたびにコードを作成することなく、アプリケーションを変更できるようになりました。
新しいテーブルでの上書き方法
開発者は通常、ServiceNow システムプロパティ [sys_properties] テーブルを使用して、アプリケーションでさまざまな機能を作成します。異なるドメインで異なる動作をするアプリケーションを開発する場合は、自分でカスタマイズする必要があります。
Paris リリースでは、新しいアプリケーションプロパティ [sys_application_property] テーブルを使用するとそのカスタマイズが簡素化できます。システムプロパティテーブルの値に直接移動する代わりに、アプリケーションプロパティテーブルが最初にシステムアプリケーションテーブルに移動します。この新しいテーブルには、アプリケーションの設定に必要なロジックが格納されています。新しいテーブルでプロパティが見つかると、そのコンテンツが使用されます。そのテーブルに情報がない場合は、ベースシステムプロパティテーブルに移動します。
Domain Separation のサポートを構成すると、この新しいアプリケーションプロパティテーブルにドメインロジックを追加できます。このテーブルには、システムプロパティテーブルに存在しないプロパティを含めることができます。または、システムプロパティテーブルで選択したプロパティを上書きできるプロパティを構成テーブルに追加することもできます。
たとえば、最初の曜日機能を使用してアプリケーションを構成するとします。週の最初の日を日曜日にしたい場合もあれば、別のケースでは、週の最初の日を月曜日にしたい場合もあります。ベースシステムテーブルには、1 日目のオプションが 1 つしかない (日曜日) 場合があります。新しいテーブルを使用して、別のプロパティで 1 日目を日曜日とし、子ドメインでは月曜日として格納することができます。
この図は、システムプロパティ [sys_properties] テーブルに移動する前に、アプリケーションプロパティテーブルからプロパティがどのように取得されるかを示しています。
新しいテーブルでのスコープ対象アプリの動作
新しいアプリケーションプロパティテーブルは、スコープ対象のアプリケーションからサポートされています。アプリケーションプロパティ名は、システムプロパティ名と同様に一意です。つまり、グローバルでない場合は、スコープ名がプリフィックスとして付きます。アプリケーションのスコープは構成に影響します。スコープによって、1 日目が日曜日と月曜日のどちらに定義されるかが決まります。同じプロパティを使用できますが、親ドメインでは 1 日目が日曜日、子ドメインでは 1 日目が月曜日になるようにカスタマイズできます。新しいテーブルにはドメイン列とスコープ列の両方があるため、それぞれに対してこれらのプロパティを設定できます。
次の画像に示すように、sys_application_property_value テーブルの [ドメインスコープを展開] ビューを使用して、すべての上書きを表示できます。
これらのテーブルを利用できない場合は、ドメイン拡張インストーラー (com.glide.domain.msp_extensions.installer) プラグインが有効になっていることを確認してください。
新しいアプリケーションプロパティテーブル
新しいシステムアプリケーションプロパティ [sys_application_property] テーブルには、次のフィールドが含まれています。
- name
- 説明
- タイプ (文字列、true | false、整数、タイムゾーン、色など)
- default_value
- プロパティ (sys_properties への参照)
- usage_notes
- read_roles
- write_roles
- 一意のキー:(名前)
- sys_application_property (sys_application_property への参照)
- sys_domain
- sys_overrides
- value
- 一意のキー:(sys_application_property、sys_domain)
新しい API
新しい API はスコープ対象アプリでもサポートされています。ドメイン分離されたアプリケーションプロパティには個別の API があります。GlideApplicationProperty API には、グローバルアプリケーションとスコープ対象のアプリケーションの両方でスクリプト可能な 2 つの新しいメソッドがあります。これらの新しい API の詳細については、「GlideApplicationProperty - スコープ指定、グローバル」を参照してください。