構成ファイルの使用
システム設定 は、システムスコープの構成変更を行ったり、他の スコープのデフォルト構成を設定したりするためのユーザーインターフェイスを提供します。 UIの同じ構成は、構成ファイルを介して行うことができます。
バージョンが同一であれば、構成ファイルを使用して、構成を実動前のシステムから実動システムに、または他のLiferay DXPシステム間で転送できます。
構成ファイルは、 Apache Felix Configuration Admin フレームワークで定義された .config プロパティ値の形式を使用します。
.cfg ファイル形式は OSGi 環境では一般的であり、サポートされている形式ですが、プロパティ値の型を指定でき、複数値プロパティを許可できるため、 .config ファイルの方が推奨されます。 このため、 .config ファイルがベストプラクティスとして使用され、推奨され、文書化されています。
構成ファイルの作成
システム設定には、構成エントリを変更すると使用できるようになる エクスポート オプションがあります。 エクスポートは、 .config ファイルを作成する最良の方法です。エントリの設定を含む .config ファイルを key = value 形式でダウンロードし、必要に応じて変更または配布します。 変更された値が1つだけであっても、使用可能なすべての構成キーと値がエクスポートされます。
単一の構成エントリまたは変更された構成のセット全体をエクスポートできます。
構成ファイルは、バッキングJavaクラスにちなんで名付けられます。 たとえば、Webコンテンツ機能をサポートするジャーナルサービスエントリには、次のファイル名があります。
com.liferay.journal.configuration.JournalServiceConfiguration.config

システムは構成ファイルの名前を強制します。 名前を編集すると、構成エントリへのリンクが壊れ、それ以上のカスタマイズは有効になりません。 唯一の例外は ファクトリー構成で、場合によっては一意のサブ名を指定できることがあります。
パスワードのエクスポートを有効にする
デフォルトでは、構成ファイルをエクスポートするときにパスワードは除外されます (Elasticsearch パスワード、Salesforce パスワードなど)。 これらをエクスポートに含めるには、次のプロパティを portal-ext.properties ファイルに追加します。
module.framework.export.password.attributes=true
変更を有効にするには、Liferay インスタンスを再起動します。
キー/値の構文
.config ファイルのすべてのキーと値の構文は同じです。
configurationName="value"
特殊文字を含まない単一値構成の場合、知っておくべきことはこれだけです。 複数の値と特定の文字の設定は少し異なります。
複数値の設定
構成エントリには、複数の値を受け入れるプロパティを含めることができます。 たとえば、サポートされているファイル拡張子を指定する構成プロパティには、複数の値が必要です。 .config ファイルに複数値設定を書き込む方法は次のとおりです。
multiValueSetting=["Value 1","Value 2", ...]
値の間に(コンマの後の)スペース文字を使用すると、プロパティーは無視されます。
[コンテンツ]セクションの[System Settings]で[Web Content]カテゴリを開き、仮想インスタンススコープとして[Web Content] を選択します。 文字ブラックリストには、複数の単一値のエントリが表示されます。

構成ファイルでは、これはカンマ区切り値の配列を持つ単一のキーで表されます。
charactersblacklist=["&","'","@","\\","]","}",":","\=",">","/","<","[","{","%","+","#","`","?","\"",";","*","~"]
エスケープ文字
二重引用符 (") と等号 (=) は、 .config ファイル内で エスケープ する必要があります。 エスケープとは、別の文字を使用して、文字を通常の方法で使用してはならないことを示します。 二重引用符と等号はすでに .config ファイルで使用されているため、エスケープすると、システムは通常の方法では読み取らず、値の一部として渡すようにシステムに指示します。 .config ファイルの文字をエスケープするには、円記号を使用します。
charactersblacklist=["&","\"","\="]
この設定は、通常のエスケープされていない文字 (&) と 2 つのエスケープされた文字 (\" および \=) を使用した複数値の設定を示しています。
二重引用符と等号の必須のエスケープに加えて、問題を回避するために値内のスペースをエスケープすることは有益です。 この例では、各スペース文字の前にバックスラッシュを使用して、正しく読み取られて処理されるようにしています。
blacklistBundleSymbolicNames=["Liferay\ Marketplace","Liferay\ Sharepoint\ Connector"]
自分でスペースをエスケープしない場合、システムは展開後にバックスラッシュを追加します。
環境変数の補間
次の構文を使用すると、より大きな構成文字列内でも、構成ファイル内の環境変数を参照できます。
helloMessage="Hello, $[env:USER]"
型付き値
.config ファイル形式は、特殊なタイプマーカー文字を挿入することにより、構成値のタイプの指定をサポートします。 システムは各構成プロパティの正しいタイプをすでに認識しているため、タイプ文字は情報提供の目的でのみ役立ちます。 たとえば、ブール型の構成では、ブール型としてマークする値の直前に B あります。
addDefaultStructures=B"true"
.config ファイルにタイプマーカーが表示される場合は、無視しても問題ありません。 上記の例は、タイプマーカーなしでも同じように機能します。
addDefaultStructures="true"
構成ファイルのデプロイ
構成ファイルを作成したら、それをデプロイします。 それが登録され、ターゲットの構成値が自動的に更新されます。
.config ファイルをデプロイするには、それを Liferay Home の osgi/configs フォルダに配置します。 さらに構成を変更するには、 .config ファイルを直接編集するか、システム設定を使用します。
構成ファイルとクラスタリング
クラスター環境では、各ノードの各エントリーに同じ構成値が必要です。 たとえば、すべてのノードで同じブログ構成設定を使用する必要があります。 これを行うには、 .config ファイルをデプロイします。 透過性と保守性のために、 .config ファイルをクラスター内のすべてのノードにデプロイします。 ただし、構成ファイルが単一のノードにのみデプロイされている場合でも、内部システムはクラスター内のすべてのノードに変更を適用します。
Liferay DXPの設定(例えば、Liferay Home)をソースコントロールシステムに保存する場合、OSGi設定ファイル(.config ファイル)を必ず含めるようにしてください。
スキーマの読み取り専用構成の設定
7.4 U19+で利用可能
特定のサイトまたはインスタンスをプロビジョニングする場合、特定の構成を読み取り専用に設定すると便利な場合があります。 これを行うには、
-
読み取り専用に設定する特定の構成に移動します。 たとえば、 コントロール パネル → インスタンス設定 → ブログに移動します。
-
構成設定を変更して保存します。 アクション (
) → エクスポートをクリックします。 -
コマンドラインで、エクスポートされた構成ファイルをそのファイルに対して読み取り専用に設定します。 例えば、
chmod -w com.liferay.blogs.configuration.BlogsGroupServiceConfiguration.scoped_0efd1a18-105e-445d-8b42-0ea2d6117690.config -
構成ファイルをインストールの
/osgi/configsフォルダに配置します。 設定ページを更新します。 構成は読み取り専用になりました。
単一の読み取り専用値を指定する
単一の読み取り専用構成値を指定するには、 ポータル プロパティを使用します。
7.4+、7/3 FP1/SP1、7.2 FP14/SP5 で利用可能
以下は、プロパティの構文です。
configuration.override.${pid}_${key}=${value}{code}
例えば、
configuration.override.com.liferay.journal.configuration.JournalServiceConfiguration_indexAllArticleVersionsEnabled=B"false"
configuration.override.com.liferay.journal.configuration.JournalServiceConfiguration_journalArticleMaxVersionCount=I"5"{code}
構成プロパティは、タイプマーカーを指定する必要があります。
プロパティ設定は、サーバー再起動時に適用されます。 プロパティ設定は最も優先度が高く、設定ファイルやデータベースで保持される設定よりも優先されます。 UIでは、すべての読み取り専用の構成設定を区別しています。 読み取り専用の設定値を変更する必要がある場合は、ポータルプロパティを使用します。
読み取り専用の ファクトリー構成値 はサポートされていません。