スコープ設定
Liferay DXPでは、アプリケーションの設定をシステム、インスタンス、サイト、ポートレットといった異なるレベルのスコープに設定できます。例えば、インスタンススコープの設定を持つアプリケーションを作成した場合、そのアプリケーションは、Liferay DXPのインストール環境で設定した各インスタンスごとに個別に設定できます。これは、各ユーザーにより多くの柔軟性と制御権を与えるため、非常に有用です。例えば、DXPインスタンスの管理者は、他のインスタンスとは独立した、自身のインスタンス専用の設定を行うことができます。
スコープの詳細については、 構成スコープの理解 を参照してください。
インスタンススコープ構成の例については、 構成の設定とアクセスのサンプルポートレットを参照してください。
ポートレットスコープの構成は異なるアプローチを取ることに注意してください。詳細については、 ポートレット レベル設定 を参照してください。
設定インターフェイスでスコープを指定します
構成のスコープを設定するには、構成インターフェイスでスコープを指定します。 @ExtendedObjectClassDefinitionアノテーションを使用して、スコープを設定します。システムスコープの場合はScope.SYSTEMを使用します。インスタンススコープの場合はScope.COMPANYを使用します。サイトスコープの場合はScope.GROUPを使用します。
@ExtendedObjectClassDefinition(
category = "n2f3", scope = ExtendedObjectClassDefinition.Scope.COMPANY
)
構成プロバイダーを使用する
構成を取得するには、ConfigurationProviderを使用します。構成プロバイダーAPIは、構成にアクセスする簡単な方法を提供します。アプリケーションのニーズに合わせて特定の方法を選択してください。
-
getSystemConfiguration(): システムスコープの構成を取得します。アプリケーションのシステムレベルの設定は、 コントロール パネル → システム設定 にあります。 -
getCompanyConfiguration():インスタンススコープの構成を取得します。Portalのインスタンスを使用してcompanyIdを取得します。たとえば、_portal.getCompanyId(renderRequest)となります。アプリケーションのインスタンスレベルの設定は、 コントロール パネル → インスタンス設定 にあります。 -
getGroupConfiguration():サイトスコープの構成を取得します。Portalのインスタンスを使用してgroupIdを取得します。たとえば、_portal.getScopeGroupId(renderRequest)となります。アプリケーションのサイトレベルの設定は、 製品メニュー → 設定 → サイト設定 にあります。これは Liferay 7.4で利用できることに注意してください。
ポートレットスコープの設定については、 ポートレットレベルの設定 を参照してください。