Sitecore9からアプリケーションの機能別のロール設定が追加されました。
そのロールを利用することで環境の切り替えだけではなく、環境別にConfigを適応することができます。
Sitecoreの標準ロールは以下の種類が定義されています。
- ContentDelivery
- ContentManagement
- Processing
- Reporting
- Standalone
この設定はWeb.configに下記の用に記載されます。
<appSettings>
<add key="role:define" value="Standalone" />
</appSettings>
例えばConfigでローカル環境だけに適応させたい設定がある場合は
まず上記の設定にカスタムの環境名(今回はLocal)を追加します。
<appSettings>
<add key="role:define" value="Standalone,Local" />
</appSettings>
※ 標準のロールが含まれていないとエラーになるため注意してください。
ローカルのみ適応させたいConfigに下記のようにrole属性を付与します。
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:role="http://www.sitecore.net/xmlconfig/role/">
<sitecore role:require="Local">
**********************
</sitecore>
</configuration>
※ configrationタグの属性に「xmlns:role」が必要なので、ない場合は追加してください。
これで上記のConfigはWeb.configのロールに「Local」が設定されている場合のみ有効になります。
「role:require」には単一の名前だけなく「or」や「and」の論理演算子を使用できるので「Standalone」かつ「Local」といった指定も可能です。
<sitecore role:require="Standalone and Local">
**********************
</sitecore>
※エントリーの内容・画像等は、公開時点での情報に基づきます。
※Sitecoreのバージョンによって実装されている機能が異なります。