1. 構成

Commerce Engineの方針

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

このページの翻訳は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)ファイルにポリシーを含めることで明示的に設定できます。環境設定ファイルでポリシーを指定すると、そのローカル構成はデフォルトのポリシー動作を上書きします。

An overview of how policies in plugin are exposed for configuration in policy sets and environment configuration files.

ポリシーセット

ポリシーセットとは、特定の構成を持つポリシーの集合を含むファイルです。複数の環境で使いたいポリシーをグループ化するためにポリシーセットを使うため、各環境の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.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

Searchポリシー

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