Domain Separation アプリケーションプロパティ

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む5読むのに数分
  • 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] テーブルに移動する前に、アプリケーションプロパティテーブルからプロパティがどのように取得されるかを示しています。新しいテーブルは、sys_properties テーブルに移動する前に sys_application_property テーブルに移動します。

    新しいテーブルでのスコープ対象アプリの動作

    新しいアプリケーションプロパティテーブルは、スコープ対象のアプリケーションからサポートされています。アプリケーションプロパティ名は、システムプロパティ名と同様に一意です。つまり、グローバルでない場合は、スコープ名がプリフィックスとして付きます。アプリケーションのスコープは構成に影響します。スコープによって、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_value] テーブルには、次のフィールドが含まれています。
    • sys_application_property (sys_application_property への参照)
    • sys_domain
    • sys_overrides
    • value
    • 一意のキー:(sys_application_property、sys_domain)

    新しい API

    新しい API はスコープ対象アプリでもサポートされています。ドメイン分離されたアプリケーションプロパティには個別の API があります。GlideApplicationProperty API には、グローバルアプリケーションとスコープ対象のアプリケーションの両方でスクリプト可能な 2 つの新しいメソッドがあります。これらの新しい API の詳細については、「GlideApplicationProperty - スコープ指定、グローバル」を参照してください。