ルールベースの構成を使用

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

パッチファイルを使ってSitecoreの設定をカスタマイズすると、ルールベースのロジックを使って特定の設定が適用される条件を指定できます。

ルールベースの構成はweb.configファイル内で設定されたルール定義を使用します。Sitecoreには2つのあらかじめ定義されたルール定義があります。 roleはインスタンスが実行 するSitecoreロールを決定し、searchは最適化される検索プロバイダーを決定Sitecore。また、独自の カスタムルール定義を追加することもできます。

このトピックでは、以下の方法を説明します:

設定設定をルールに依存してください

設定設定をルールに依存させるには:

  1. ルールがweb.configファイルに定義されていることを確認してください。 それはあらかじめ定義されたルール でもカスタム ルールでも構いません。

  2. 実装したい設定をパッチ ファイル にまとめて作成してください。

  3. パッチファイルの文に「Old xmlns

    ="http://www.sitecore.net/xmlconfig/rulename/"」の文を追加してルールの名前空間を登録します。

    !注あらかじめ定義されたルール定義の役割を使い、パッチファイルで検索する場合は、それらの名前空間も登録しなければなりません。

    例えば、以下はlocalenvというルール定義のための名前空間を追加します:

    <configuration xmlns

    =http://www.sitecore.net/xmlconfig/ xmlns
    ="http://www.sitecore.net/xmlconfig/localenv/">

  4. 単一の設定をルールの値に依存させるには、その設定を定義する文に構文rulename

    =testvalueのテストを追加します。

    例えば、次の はSearch.ClassicSearch.MaxResults6に を定めます。localenvがQAの値を含む場合:

    6
  5. パッチファイル内のすべての設定をルールの値に依存させるには、パッチファイルの 文に構文rulename

    =testvalueのテストを追加します。例えば、文に含まれるすべての設定が、QAlocalenvを含む場合に適用されます:

    …

!注localenvが複数の値を含む場合、localenv

="QA" の文は、そのうちの1つの値がQAである限り真です。文はルール定義に含まれるすべての値に一致する必要はありません。

テストは複数のテスト値を含み、演算子and or ! (not)を使用できます。以下の表は有効なルールテストの例を示しています。

ルールテスト

結果

localenv

="QA"

localenv が を含む場合に設定が適用QA。

localenv

="!QA"

localenv に QAを含まない場合、設定が適用されます。

localenv

="QA or Test"

設定は localenv が QA または Test 、または両方を含む場合に適用されます。

localenv

="QA and Test"

localenv が QA と Testの両方を含む場合に設定が適用されます。

localenv

="QA and !Test"

localenv が QA を含むが Testを含まない場合、この設定が適用されます。例えば、localenv が QA,Productionの場合に適用されますが、QA,Testの場合は適用されません。

localenv

="(QA or Production) and !Test"

localenv が QA または Production を含むが Testを含まない場合、この設定が適用されます。例えば、localenv が QA,Developmentの場合は適用されませんが、QA,Testの場合は適用されません。

同じ設定で2つ以上のルールを使う

同じ設定設定に複数のルールのテストを追加できます。

同じ設定で2つ以上のルールを使う場合:

  • 個々の設定の文や 文に必要なすべてのテストを追加します。すべてのテストが合格すればSitecore設定を適用します。

    次の例では、Sitecore localenvがQAの値を持ち、roleがContentManagementまたはContentDeliveryのどちらかの値を含んでいる場合に設定を適用します。設定を適用するには両方のテストに合格する必要があります:

テストは常にandを用いて連結されます。同じ文で複数のテストを連結する際にはor or notを使うことはできません。各テスト内ではandやorを使わずに使えます。例えば、次の文は有効です:

!注Show Configツール を使って、Sitecoreが実行時にコンパイルした際の結果として見た仕上がりを確認できます。また、Show Configツールを使って、実際に設定を変更しずに設定ルールの変更や設定レイヤーの無効化をシミュレートすることもできます。

この記事を改善するための提案がある場合は、 お知らせください!