Commerce Engineの方針
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
ポリシーを使ってCommerce Engineの設定を定義します。ポリシーとは、Commerce Engine内の特定の機能の挙動を制御する設定の集合体です。
各Commerceプラグインは、プラグインが提供する機能の挙動を定義する一連のポリシーを提供します。例えば、SearchプラグインはSearchインデックスに追加するエンティティの種類(SearchScopeポリシー)や、特定のエンティティに対してどのViewフィールドをインデックスするか(インデックス可能ポリシー)を規制するポリシーを提供します。Commerce Coreプラグインは、コマースエンティティのキャッシュ動作を決定するEntityCachingポリシーを提供します。
Commerce Engineポリシーの一覧および各ポリシーで利用可能なパラメータについては、このトピックの最後にある 「Commerce Engineポリシー一覧 」セクションをご覧ください。
以下はエンティティキャッシュポリシーの一例です:
{ "$type": "Sitecore.Commerce.Core.EntityCachingPolicy, Sitecore.Commerce.Core", "EntityFullName": "Sitecore.Commerce.Plugin.Content.ContentPath", "AllowCaching": true, "Priority": "Normal", "Expiration": 86400000, "HasNegativeCaching": true, "CacheName": "ContentPaths", "EntityIdPrefix": "Entity-ContentPath" }
すべてのポリシーにはデフォルト設定があり、明示的に設定されていない限り、Commerce Engineはそのポリシーのデフォルト設定を使って、定義する機能の挙動を決定します。
ポリシー動作は、ポリシーセットファイル(複数環境でのグローバル構成の場合)に含めるか、個別の環境構成(JSON)ファイルにポリシーを含めることで明示的に設定できます。環境設定ファイルでポリシーを指定すると、そのローカル構成はデフォルトのポリシー動作を上書きします。

ポリシーセット
ポリシーセットとは、特定の構成を持つポリシーの集合を含むファイルです。複数の環境で使いたいポリシーをグループ化するためにポリシーセットを使うため、各環境のJSONファイルで同じポリシー構成を繰り返す必要がありません。
Sitecore XCソリューションには、Commerce Engine SDK.*.zipパッケージのwwwroot\data\Environmentsフォルダ内に以下のデフォルトのポリシーセットファイルが含まれています。
- Core.ControllerMethodRoles.PolicySet-1.0.0.json
- Plugin.AccessByRoles.PolicySet-1.0.0.json
- Plugin.Caching.PolicySet-1.0.0.json
- Plugin.Catalog.PolicySet-1.0.0.json
- Plugin.CatalogIndexing.PolicySet-1.0.0.json
- Plugin.Content.PolicySet-1.0.0.json
- Plugin.LocalizeEntities.PolicySet-1.0.0.json
- Plugin.Minions.PolicySet-1.0.0.json
- Plugin.Payments.Braintree.PolicySet-1.0.0.json
- Plugin.Plugin.PolicySet-1.0.0.json
- Plugin.Relationships.PolicySet-1.0.0.json
- Plugin.Search.Azure.PolicySet-1.0.0.json (Azure検索プロバイダー用)
- Plugin.Search.PolicySet-1.0.0.json
- Plugin.Search.Solr.PolicySet-1.0.0.json (Solr検索プロバイダーの場合)
- Plugin.SQL.PolicySet-1.0.0.json
- Plugin.SQL.Sharding.PolicySet-1.0.0.json
- Plugin.Validation.PolicySet-1.0.0.json
- Plugin.Versioning.PolicySet-1.0.0.json
- Plugin.ViewTemplateComposer.PolicySet-1.0.0.json
- Plugin.Workflow.PolicySet-1.0.0.json
Commerce環境が特定のポリシーセットで定義された動作を継承するようにするためには、そのポリシーセットへの参照を環境のJSONファイルに含めなければなりません。
例えば、グローバルキャッシュポリシーセットで指定されたキャッシュ動作を特定の環境に適用するには、そのポリシーセットのエントリを環境JSONファイルのPoliciesコレクション(例: Plugin.Habitat.CommerceShops.1.0.0.json)に追加します。
{ "$type": "Sitecore.Commerce.Core.PolicySetPolicy, Sitecore.Commerce.Core", "PolicySetId": "Entity-PolicySet-CachingPolicySet" },
!注ポリシーセットファイルでポリシー設定を変更すると、そのポリシーセットファイルを参照する環境の挙動が変わります。
ローカルポリシー構成
単一の環境に対してポリシー設定を定義するには、その環境の構成(JSON)ファイルにポリシーを追加します。
例えば、Cartsプラグインにはカートの動作を制御するポリシーが含まれています。CalculateCartポリシーの一つは、Commerce Engineがカート合計を再計算するかどうか(およびいつ)を決定します。プロモーション、ライン価格、輸送コスト、その他のカート操作もカート合計に影響を与えます。特にShops環境での最適化されたパフォーマンスのために、AlwaysCalculateパラメータはデフォルトでfalseに設定されています。
しかし、オーサリング環境では、ビジネスユーザーが新しいプロモーションをテストし、割引がカート全体にリアルタイムで正しく適用されるか確認できるように、AlwaysCalculateパラメータを有効にしたいかもしれません。
オーサリング環境のみでパラメータを有効にするには、Calculate Cartポリシーのインスタンスを環境JSONファイルのPoliciesコレクションに追加し(例: Plugin.Habitat.CommerceAuthoring.json)、AlwaysCalculateパラメータを 次のようにtrueに設定します。
{ "$type": "Sitecore.Commerce.Plugin.Carts.CalculateCartPolicy, Sitecore.Commerce.Plugin.Carts", "AlwaysCalculate": true },
Calculate Cartポリシーは環境のJSONファイルに明示的に含まれているため、Commerce Engineはその設定を使って、その特定の環境に対してCalculate Cartポリシーのデフォルト動作を上書きします。
!注環境のJSONファイルに変更を加えた場合は、Commerce Engineをブートストラップ して変更をグローバルデータベースに伝播させる必要があります。
Commerce Engineのポリシー一覧
異なるCommerce Engineサービスのポリシーは、それらのマイクロサービスを提供するプラグインで定義されています。以下の表は、マイクロサービスごとに利用可能なすべてのポリシーをまとめたものです。ポリシー欄のリンクをクリックすると、それらの特定のポリシーに関するより詳細なトピックに移動します。
Commerce プラグイン
方針
Sitecore。コマース。Core
Sitecore。Commerce.Plugin.Views。
Sitecore。Commerce.プラグイン.注文
Sitecore。Commerce.プラグイン.リターン
Sitecore。Commerce.Plugin.カート
Sitecore。Commerce.プラグイン.顧客
Sitecore。Commerce.プラグイン.プライシング
Sitecore。Commerce.プラグイン.プロモーション
Sitecore。Commerce.プラグイン.クーポン
Sitecore。Commerce.プラグイン.エンタイトルメント
Sitecore。Commerce.Plugin.カタログ
Sitecore。Commerce.プラグイン.提供状況
Sitecore。Commerce.プラグイン.インベントリ
Sitecore。Commerce.プラグイン。予約注文可能
Sitecore。Commerce.プラグイン。バックオーダー可能
Sitecore。Commerce.プラグイン.Payments。
Sitecore。Commerce.プラグイン.フルフィルメント
Sitecore。Commerce。プラグイン。Search