Sitecore Commerceではインストールするとデフォルトで HabitatAuthoringやAdventureWorksといったサンプルのEnvironmentが入っています。実際にウェブサイトを作成する際には独自のEnvironmentを作成する必要があります。
追加方法についてはドキュメントにも記述されているのですが、ところどころ躓いたので、その方法をまとめておきたいと思います。
作成方法
① 全てのコマースエンジンで以下のファイルを複製し、Habitat
の部分を任意の名前に変更します。(今回はMyEnv
で作成します)
-
{commerce engine}/wwwroot/data/Environments
PlugIn.Habitat.CommerceAuthoring-1.0.0.json
PlugIn.Habitat.CommerceMinions-1.0.0.json
PlugIn.Habitat.CommerceShops-1.0.0.json
② それぞれのファイルを開き、以下のプロパティの値を修正してください。
プロパティ名 | 値 |
---|---|
ArtifactStoreId | 全てのファイルで共通のGUID |
Id | Entity-CommerceEnvironment-{Environment名} |
Name | {Environment名} |
{Environment名}
は、MyEnvAuthoring, MyEnvMinionsといった名前を設定しましょう。
③ (スキップ可)それぞれのファイル内に不要なポリシーがある場合や、変更したいポリシーがある場合は修正します。
以下の記事が参考になります。
④ (スキップ可)それぞれのファイルのEnvironmentInitializationPolicy
から、以下の項目を削除します。削除しないとHabitatのカタログが生成されます。
Environment.Habitat.DefaultRelationships-1.0
Environment.Habitat.SellableItems-1.0
Environment.Habitat.Pricing-1.0
Environment.Habitat.Promotions-1.0
Environment.Habitat.Catalog-1.0
⑤ 各コマースエンジンの以下のファイルに、新しいEnvironmentを追加します。
-
{commerce engine}/wwwroot/bootstrap/Global.json
{ "$type": "Sitecore.Commerce.Plugin.BusinessUsers.EnvironmentBusinessToolsPolicy,Sitecore.Commerce.Plugin.BusinessUsers", "EnvironmentList": { "$type": "System.Collections.Generic.List`1[[System.String, mscorlib]], mscorlib", "$values": [ "AdventureWorksShops", "AdventureWorksAuthoring", "HabitatAuthoring", "HabitatShops", + "MyEnvAuthoring", + "MyEnvShops" ] } },
⑥ 全てのコマースエンジンで、以下のファイルのEnvironmentName
プロパティの値を更新します。
-
{commerce engine}/wwwroot/config.json
"SiteTitle": "CommerceAuthoring_mysite", "BootStrapFile": "Global", "DeploymentId": "Deployment01", - "EnvironmentName": "HabitatAuthoring", + "EnvironmentName": "MyEnvAuthoring", "EncryptionProtectionType": "Machine",
⑧ IISを再起動し、Postmanで以下のリクエストを投げます。
-
SitecoreCommerce_DevOps/
-
Environment Bootstrap/
Bootstrap Sitecore Commerce
-
Clean Environment/
-
Clean Environment
(各Environmentに対して実行)
-
-
Environment Initialize/
-
Initialize Environment
(各Environmentに対して実行)
-
-
⑨ 以下のconfigを修正し、ストアフロントで使用するEnvironmentを変更します。
-
{sitecore xp}/App_Config/Include/Y.Commerce.Engine/Sitecore.Commerce.Engine.Connect.config
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:role="http://www.sitecore.net/xmlconfig/role/"> <sitecore role:require="Standalone or ContentDelivery or ContentManagement"> <commerceEngineConfiguration type="Sitecore.Commerce.Engine.Connect.CommerceEngineConfiguration, Sitecore.Commerce.Engine.Connect"> <shopsServiceUrl>https://commerceauthoring.mysite.com/api/</shopsServiceUrl> <commerceOpsServiceUrl>https://commerceauthoring.mysite.com/commerceops/</commerceOpsServiceUrl> <commerceRequestTimeout>210</commerceRequestTimeout> <enforceSsl>true</enforceSsl> - <defaultEnvironment>HabitatAuthoring</defaultEnvironment> + <defaultEnvironment>MyEnvAuthoring</defaultEnvironment> <defaultShopName>CommerceEngineDefaultStorefront</defaultShopName>
⑩ ビジネスツールの以下のconfigを修正し、デフォルトのEnvironmentを変更します。
-
{BizFx root}/assets/config.json
{ - "EnvironmentName": "HabitatAuthoring", + "EnvironmentName": "MyEnvAuthoring", "EngineUri": "https://commerceauthoring.habitat.com", "IdentityServerUri": "https://habitat.identityserver", "BizFxUri": "https://bizfx.my.com", "Language": "en", "Currency": "USD", "ShopName": "CommerceEngineDefaultStorefront", "LanguageCookieName": "selectedLanguage", "EnvironmentCookieName": "selectedEnvironment", "AutoCompleteTimeout_ms": 300 }
確認作業
以下の2つを確認してください。
- ビジネスツールにアクセスし、Environmentを選択するドロップダウンリストに新しく追加したEnvironmentが追加されている
- Authoringでカタログを作成してワークフローを回すと、Shopsにコピーされている
Top comments (0)