loading...

Sitecore Commerceで独自のEnvironmentを作成する方法

xirtardauq profile image Takumi Yamada Updated on ・2 min read

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にコピーされている

参考

Discussion

pic
Editor guide