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)