> For the complete documentation index, see [llms.txt](https://manual.dxable.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://manual.dxable.com/optimizely/configured-commerce/optimizely-configured-commerce/release-notes-for-configured-commerce-sdk/optimizely-configured-commerce-sdk-v5-1-release.md).

# Optimizely 構成のコマース SDK v5.1 リリース

Optimizely は、B2B メーカーや販売業者の変化するビジネス ニーズを満たす、スケーラブルで拡張可能なソリューションの提供に引き続き重点を置いた v5.1 リリースを発表できることを嬉しく思います。 5.1 リリースでは、ビジネス ユーザーがデジタル プラットフォームを管理し、B2B エンド ユーザー エクスペリエンスを強化するためのエクスペリエンスの向上に重点を置いています。

v5.1 [SDK のダウンロードが](https://world.optimizely.com/release--notes/sdk-releases/)利用可能になりました。 5.1 にアップグレードする顧客に影響を与える可能性のある変更がいくつかありました。 アップグレードする前に、 [4.6 から 5.1 へのアップグレードに関する記事を参照して](https://world.optimizely.com/release--notes/sdk-releases/upgrade-instructions-and-considerations-for-b2b-commerce-sdk-5-1/)、手順と考慮事項を確認してください。

このリリースには、次の新機能が含まれています。

#### **Spire CMS** <a href="#id-30j0zll" id="id-30j0zll"></a>

Spire は、新しい CMS であると同時に、まったく新しいリファレンス サイトでもあります。 これは、現在の Classic CMS とは異なるテクノロジーを使用していますが、基本的な考え方は同じです。ページは CMS**ウィジェットから構築され**、ウィジェットはページ上に表示され、CMS/Javascript フレームワークは API を使用してデータを取得します。

Optimizely Configured Commerce フロントエンドと CMS の書き換えの主な技術目標は次のとおりです。

* フロントエンドのアップグレード性の向上
* より構成可能なコマースページ
* シンプルなCMSデータ構造
* ページ編集エクスペリエンスの向上
* SEO/サーバーサイドレンダリング
* より軽量なJavascriptペイロード

技術的な目標ではありませんが、この取り組みのもう 1 つの目的は、開発者の介入なしにビジネス ユーザーがサイトをより細かく制御できるようにし、実装コストを他のプラットフォームと競争力のあるものにすることです。

[Spireドキュメント](https://webhelp.optimizely.com/latest/en/b2b-commerce/cmsspire/whatisspire.htm)

#### **検索の改善** <a href="#id-1fob9te" id="id-1fob9te"></a>

* CMS での検索スコアの公開 – Spire と Classic の両方
  * [Classic と Spire のデータ検索モード](https://webhelp.optimizely.com/latest/en/b2b-commerce/search/scoringrankingandrelevance/enablesearchdmclassic.htm?Highlight=search%20score%20CMS)
* 検索抽象化 – あらゆる[検索プロバイダーで使用できるように再設計された検索 API](https://world.optimizely.com/documentation/developer-guides/b2b-commerce/extend-search/implement-a-third-party-search-provider/)
* Hawksearch コネクタ – お客様は Hawksearch を検索プロバイダーとしてすぐに使用できるようになりました。Hawksearch[ドキュメント](https://webhelp.optimizely.com/latest/en/b2b-commerce/connectorsandintegrations/searchconnectors/hawksearchconnector.htm)
* 検索再構築バージョン 2 をサポートするために検索抽象化メソッドを更新しました ([サードパーティの検索パイプラインを参照](https://world.optimizely.com/documentation/developer-guides/b2b-commerce/pipelines/third-party-search-pipelines/))
* サードパーティの検索プロバイダーを使用する場合、Elasticsearch の管理コンソール設定が無効になります
* 検索インデックスを更新し、倉庫レベルで「在庫あり」フラグを含めるようにしました。検索可能/クエリ可能とマークされたカスタム プロパティのみをインデックスするように検索インデックスを調整しました ([検索インデックスにカスタム プロパティを追加する](https://world.optimizely.com/epiui/CMS/%22https:/world.optimizely.com/documentation/developer-guides/b2b-commerce/extend-search/add-custom-properties-to-the-search-index/))
* カスタム アナライザーを可能にするために検索プロセスをパイプライン化しました ( [ConfigureIndexSettingsを参照](https://world.optimizely.com/documentation/developer-guides/b2b-commerce/pipelines/configureindexsettings/))
* 製品 API の合理化に関連する検索の改善
  * 「代わりに PopulateAvailabilities パイプラインを使用してください」というメッセージが表示され、ICatalogPipeline.GetAvailability が廃止され、その使用方法が ICatalogPipeline.PopulateAvailabilities に置き換えられました。 詳細については、 [PopulateAvailabilities の記事](https://world.optimizely.com/documentation/developer-guides/b2b-commerce/pipelines/populateavailabilities/)を参照してください。
  * 「代わりに IProductUtilities.CanConfigure を使用してください」というメッセージとともに ICatalogPipeline.CanConfigure が廃止され、その使用法が IProductUtilities.CanConfigure に置き換えられました。 特定のパイプラインの詳細については、「[パイプラインの概要」の記事](https://world.optimizely.com/documentation/developer-guides/b2b-commerce/pipelines/overview-of-pipelines/)を参照してください。
* 設定されたコマースが双方向の同義語を変換し、同義語列にコンマ区切りではなく単語と同義語のペアとして保存する方法を更新しました。
* サイトインデックスを再構築するときにカテゴリキャッシュをクリアする機能を追加しました ([インデックスの理解を参照](https://webhelp.optimizely.com/latest/en/b2b-commerce/search/searchindex/understandindexing.htm))
* 別の製品に類似または同じ製造番号がある場合でも、製品番号でバリエーションを検索する機能を追加しました。
* 製品インデックスのカスタムフィールドをサポートするために、プロパティのマッピングに使用されるデフォルトの Elasticsearch ドキュメントオブジェクトをオーバーライドする機能を追加しました。
* オートコンプリート検索をデータレイヤーにキャプチャするメカニズムを追加しました
* ElasticSearch に新しい属性の追加のインデックス作成とクエリを追加しました
* HttpStatusCode で検索インデックス作成が失敗した場合に、より適切な情報を取得することで検索再構築が改善されました。
* IProductSearchParameter および IProductSearchResult インターフェイスを削除し、ProductSearchParameter クラスと ProductSearchResult クラスを直接使用するようになりました - 検索プロセス全体にいくつかの新しい機能を追加しましたが、そのためにはインターフェイス IProductSearchResult および IProduceSearchParameter インターフェイスに重大な変更が必要でした。 その際、特定のメソッド インターフェイスが、パラメーター コレクションと結果コレクションを持つ標準のアップグレード可能なパターンに準拠していないことが判明しました。 これはサイトにとって重大な変更ですが、これを行うには良いタイミングであり、今後さらなる重大な変更を防ぐのに役立ちます。 影響と解決手順については、この記事を参照してください。影響を受ける領域にカスタマイズがある場合、サイトがコンパイルされないか、検索が適切に機能するためにリファクタリングが必要になる可能性があります。
* ProductSearchResult に ResultBase を基本クラスとして追加しました
* IProductSearchParameter インターフェースを削除し、ProductSearchParameter を直接使用する
* ProductSearchParameter に基本クラスとして ParameterBase を追加しました。 ProductSearchParameter.Properties 辞書を基本クラス (ParameterBase) に移動しました
* Elasticsearch インデクサーを下位互換性を持つように改良しました

#### **付加価値税（VAT）** <a href="#id-3znysh7" id="id-3znysh7"></a>

欧州連合では、VAT 登録済みのすべての企業が、同じ国内の販売者に VAT を請求します。 他の国への販売には VAT は必要ありません。 この税金要件を満たすには、Configured Commerce Web サイトで VAT を有効にして構成します。

Configured Commerce サイトで VAT を使用する一般的な手順は、VAT コードと VAT 税率を入力し、 **VAT の有効化**設定をオンにして、管理コンソールに VAT フィールドを表示し、サイトに VAT 計算を表示することです。 VAT を有効にした後、VAT 税計算機と配送 VAT コードの選択を含む、他の 2 つの税金設定を構成します。

[VAT 文書](https://webhelp.optimizely.com/latest/en/b2b-commerce/orders/taxes/vat.htm)

#### **ReCAPTCHA** <a href="#pszz9px5eibk" id="pszz9px5eibk"></a>

* 管理コンソールの reCAPTCHA を有効にする設定にツールチップを追加しました ( [reCAPTCHA を有効にするを参照](https://webhelp.optimizely.com/latest/en/b2b-commerce/websiteadmin/securitysettings/recaptcha.htm))
* ユーザーがクラシックでメールを生成するよう要求したときに、ログイン時に reCAPTCHA を要求する機能を追加しました。

#### **パフォーマンスの改善** <a href="#tyjcwt" id="tyjcwt"></a>

* 検索インデックス再構築のパフォーマンスを向上させるために、CustomerProduct テーブルに非一意のインデックスを追加しました。
* カテゴリ-製品のインポートのパフォーマンスが向上
* Classic の GetContentItem フィールドのパフォーマンスが向上
* インデックス構築の速度とパフォーマンスを向上させるために、検索再構築バージョン 2 プロセスを追加しました。 Optimizely は顧客にバージョン 2 へのアップグレードを推奨しています。 ただし、一部のカスタマイズでは、適切な機能を確保するために追加の作業が必要になる場合があります。 お客様はパートナーにアップグレード可能性を確認する必要があります。 デフォルト検索へのリセットの新しいデフォルトはバージョン 2 になりますが、顧客もバージョン 2 をオプトインする必要があります。 バージョン 2 オプションは ISC\_Implementer ロールでのみ使用できることに注意してください。
* データ エクスポートのパフォーマンスを向上させるために、OData エクスポート プロセスのレコード制限を削除しました ([管理 API アーキテクチャを参照](https://world.optimizely.com/documentation/developer-guides/b2b-commerce/api/admin-api-architecture/))
* カテゴリーAPIのパフォーマンスの向上
* Classic でアイテム数が多いカートのカートページのパフォーマンスが向上しました
* 検索インデックスの構築に使用されるクエリのパフォーマンスが向上しました
* サイトのパフォーマンスを向上させるために、SQL で製品モデル番号をインデックスするスクリプトを作成しました。
* 個々のSQL呼び出しを減らすことでバリアントのパフォーマンスが向上しました
* 検索クエリの高速化
* パフォーマンスを向上させるためにトップセラープールのメカニズムをリファクタリングしました
* パフォーマンス向上のためにインデックスを追加または変更するコードを追加しました
* 画像やその他の製品データのエクスポートのパフォーマンスが向上
* カテゴリの変更と部分インデックスへの影響の処理方法を改善しました
* 起動パフォーマンスを向上させるためにアップデートを行いました

#### **管理コンソール** <a href="#id-3dy6vkm" id="id-3dy6vkm"></a>

* 管理コンソールのアイコンを更新しました
* Google APIキーサイト設定を強化
* 管理コンソールの設定セクションと対応するオプションを翻訳する機能を追加しました
* コンテナ化されたサイトのログ記録プロセスを変更し、ログ記録が Elasticsearch ログを通過するようにしました ( [「アプリケーション ログの確認」を参照](https://webhelp.optimizely.com/latest/en/b2b-commerce/websiteadmin/maintenance/reviewapplicationlogs.htm))
* デバッグログから ERP コネクタの認証資格情報を削除しました
* 構成された製品に対して 0 ドルの価格設定を有効にする設定を管理コンソールに追加しました ([価格設定の操作を参照](https://webhelp.optimizely.com/latest/en/b2b-commerce/products/pricing/workwithpricing.htm))
* 製品の価格データが無効である場合にカートに追加された製品に関する構成可能なサイト メッセージを追加しました ([価格設定の操作を参照](https://webhelp.optimizely.com/latest/en/b2b-commerce/products/pricing/workwithpricing.htm))
* サイトと言語に基づいて異なる画像を表示する機能が追加されました。 [「言語に基づいて翻訳された画像を表示する」を](https://webhelp.episerver.com/latest/EN/b2b-commerce/marketing/multilanguageandtranslations/displaytranslatedimages.htm)参照してください。
* ISC\_Implementer ユーザー向けにマスター編集モードで Web サイトを作成する機能を削除しました
* 管理コンソールに複数のメールドメインをサポートする設定を追加しました。これにより、グローバルデフォルトとウェブサイト固有のメールドメインホストがサポートされます。
* 管理コンソールのデバッグメニューのキャッシュクリアオプションを使用してメモリキャッシュをクリアする機能を追加しました（[デバッグツールを参照](https://webhelp.optimizely.com/latest/en/b2b-commerce/websiteadmin/environmentmgt/debugtools.htm)）。
* 管理コンソールに「更新された丸めロジックを使用する」設定を追加しました
* 重要なエントリが誤って削除されないように、Web サイトのテーブルの周りにガードレールを追加しました。
* 管理コンソールとSpire CMSのスタイルをOptimizelyのブランドに合わせて更新しました。
* 注文承認テーブルに並べ替え可能なテーブルパターンを実装しました
* 管理コンソールの既存の「キャッシュをクリア」機能に静的 http クライアント プロバイダーをクリアするメカニズムを作成しました。
* タイムアウト設定のツールチップテキストを更新して、20 分を超えるものは PCI コンプライアンス ルールの「違反」となるようにします。
* ISC\_System ロールを持つユーザー向けに、Kubernetes 環境でウェブサイト名を変更する機能を追加しました。
* 製品のインポート中に、短い説明フィールドの HTML エンティティをデコードする手順を追加しました (「[製品の作成」](https://webhelp.optimizely.com/latest/en/b2b-commerce/products/content/createproduct.htm)および「[インポート テンプレートを使用した製品のインポート」を参照](https://webhelp.optimizely.com/latest/en/b2b-commerce/products/content/importprodsimporttemplate.htm))
* リアルタイム価格設定呼び出しのタイムアウトに達したときにトリガーされるデバッグ メッセージを追加しました
* 管理コンソールにCMSタイプ設定を追加し、サイトにClassicまたはSpireがあるかどうかを選択できるようになりました。
* カートの在庫を表示およびリアルタイム在庫バッチサイズ設定を追加し、カートから在庫を呼び出すかどうか、およびリアルタイム呼び出しで送信されたアイテムのページングを制御するようになりました。
* Budget\_CreateBudgetForLevel サイト メッセージを「予算が構成されていません」に更新しました。 続行するには予算を設定してください。
* \`replace("{0}")\` プロセスを自動的に処理するように翻訳を更新しました
* 管理コンソールを更新し、画像のアップロード中もアクティブなままになり、15 分後にタイムアウトしないようにしました。
* データベースからログを削除するための集中ログソリューションを実装しました
  * 管理コンソールの集中ログから統合ジョブログを表示する機能を追加しました
  * 管理コンソールの外部ログリソースからアプリケーションログを直接表示する機能を追加しました（利用可能な場合）
  * Elmah ログを外部ログに送信する機能を追加しました
  * 統合ジョブのログを外部ログに送信する機能を追加しました
  * 管理コンソールにデータベースからログを表示する設定を追加し、ログの場所（表示用）を表示できるようにしましたが、appsettingがファイル内に見つかった場合は設定が読み取り専用になります。
* 出荷確認メールテンプレート内で ErpOrderNumber を許可する機能を追加しました
* 表示可能だが購入不可の製品をマークする方法として、製品制限タブに「表示のみ」製品オプションを追加しました。
* キャッシュに何かが欠けている場合に辞書を再読み込みしないように翻訳処理を修正しました
* HTTPS経由でサイトにアクセスした場合に安全なCookieを作成するオプションを追加しました
* 検索URLを翻訳するための製品検索パス設定とオプションを翻訳辞書に追加しました
* Document.Name フィールドを 255 文字に拡張しました
* 多数の製品のパフォーマンスを向上させ、エラーや障害を排除するためにエクスポート機能を更新しました。
* 個々の製品の倉庫レベルに「在庫あり」フラグを追加しました
* リアルタイム通話で送信されるアイテムのページングを制御するためのリアルタイム価格設定バッチサイズ設定を追加しました。

#### **店頭** <a href="#id-1t3h5sf" id="id-1t3h5sf"></a>

* 顧客が注文を保存して再度アクセスしたときにすべての製品が制限されるというエラーメッセージが改善されました
* 注文履歴ページの並べ替えを変更し、注文を日付と注文番号の降順で返すようにしました。 [注文と請求書の履歴を](https://webhelp.episerver.com/latest/en/b2b-commerce/orders/ordermgt/orderinvoicehistory.htm)参照してください。
* 請求書履歴ページの並べ替えを変更し、請求書を日付と請求書番号の降順で返すようにしました。 [注文と請求書の履歴を](https://webhelp.episerver.com/latest/en/b2b-commerce/orders/ordermgt/orderinvoicehistory.htm)参照してください。
* 「カートからすべてのアイテムを削除」の動作を変更し、CustomerOrder オブジェクトを削除するのではなく、各カート行を削除するようにしました。
* RMAページにRMA製品リストボタンを追加しました
* 注文詳細ページにRMAオプションを追加しました
* フィルタリングを更新し、非表示の子製品を持つ属性フィルタがオプションとして表示されないようにしました。
* 保存した注文をカートに追加するためのアラートを作成し、現在のカートに追加するか、保存した注文に合わせて配送先を変更するかを尋ねます。
* ストアフロントで寸法/測定値をフィルタリングおよび分析する機能を追加しました
* パスワードを忘れた場合に情報を漏らさないように設定
* Classic および Spire で翻訳されたカタログ/製品/ブランド ページの URL を開くとサイトの言語が変更される方法を改善しました。
* 管理コンソールのリスト機能にリストのインポート テンプレートを追加しました (「[複数の顧客とリストを共有する」を参照](https://webhelp.optimizely.com/latest/en/b2b-commerce/orders/listmgt/sharelistsmultiplecustomers.htm))
* プロモーションを更新し、カテゴリに適用されたときに子バリエーションを自動的に含めるようにしました。
* ストアフロントの空白ラベルの代わりに名前を表示するようにファセットの表示を変更しました
* リストでのリアルタイム価格設定エクスペリエンスの向上
* Paymetric のストアフロントに保存されたクレジットカードを使用する機能を追加しました

**シングルサインオン**

* SSOリダイレクトURLを常にHTTPSに変更しました
* OpenId Connect を SSO プロバイダーとして使用する機能を有効にする設定を追加しました ( [OpenId Connect SSO の設定を参照](https://world.optimizely.com/documentation/developer-guides/b2b-commerce/single-sign-on-sso/set-up-openid-connect-sso/))
* Windows SSO 用の新しい管理コンソール設定を追加しました: 「ストアフロント キャプション」、「ストアフロント アプリケーション ID URI」、「管理コンソール キャプション」、および「管理コンソール アプリケーション ID URI」 ( [Microsoft Azure SSO の設定を参照](https://world.optimizely.com/documentation/developer-guides/b2b-commerce/single-sign-on-sso/set-up-microsoft-azure-sso/))
* ユーザーが OpenId Connect SSO を使用してサインインするときにロール要求マッピングを尊重する機能を追加しました ( [OpenId Connect SSO の設定を参照](https://world.optimizely.com/documentation/developer-guides/b2b-commerce/single-sign-on-sso/set-up-openid-connect-sso/))
* 管理コンソールで SSO から自動作成されたユーザーに ISC\_User ロールを自動的に追加しないようにするシステム設定を追加しました。
* Azure ADB2CでOpenId Connectを使用する機能を追加しました

#### **クラシックCMS** <a href="#id-4d34og8" id="id-4d34og8"></a>

* Classic で複数のロケール用に構成されたサイトのサイトマップに hreflang フラグを追加しました ([多言語と翻訳の概要を参照](https://webhelp.optimizely.com/latest/en/b2b-commerce/marketing/multilanguageandtranslations/overviewmultilanguagetranslations.htm))
* FlexSlider.js をオープンソースのカルーセルである Embla.js に置き換えました (呼び出しは以前と同じですが、自動再生はオプションとして利用できません)
* CKFinder を改良し、ネイティブ S3 アクセスを使用して 1 つのディレクトリに多数のファイルをロードする際のパフォーマンスを向上しました。
* レスポンシブおよびディストリビューションシステムテーマのストアフロントヘッダーにアカウントを切り替える機能を追加しました
* 将来の CMS バージョンでも Cookie が正しく機能するように Chrome と Chromedriver を更新しました。
* CKFinderを最新バージョンに更新しました
* ClassicでマイリストをCSVファイルにエクスポートする機能を追加しました
* Classic で相対パスを使用して内部 URL リダイレクトを処理する方法を更新しました
* クラシック CMS のギアアイコンの下に、CMS シェルで検索するための検索データモードを有効にするオプションを追加しました。
* CkFinder (メディアライブラリ) に検索ボタンを追加し、結果をフィルタリングしやすくしました。また、フォルダを制限して、一度に最大 1000 個のファイルをフォルダに表示できるようになりました。
* Classic のホームページに固有の言語固有の URL を作成しました

#### **統合** <a href="#id-2s8eyo1" id="id-2s8eyo1"></a>

* **決済ゲートウェイ**
  * Stripe 決済ゲートウェイ設定をウェブサイト固有にしました ( [Stripe のコネクタを参照](https://webhelp.optimizely.com/latest/en/b2b-commerce/connectorsandintegrations/paymentgateways/connectorsforstripe.htm))
  * Stripe 支払いゲートウェイを更新し、トランザクション リクエスト中にライブ シークレット キーとテスト シークレット キーをパラメータとして送信できるようにしました。
  * Payeezy 決済ゲートウェイを更新し、承認および販売 (00 および 01) トランザクションでレベル 2 / レベル 3 情報を送信するようにしました ( [Payeezy のコネクタを参照](https://webhelp.optimizely.com/latest/en/b2b-commerce/connectorsandintegrations/paymentgateways/connectorsforpayeezy.htm))
  * Payeezy の SOAP と REST API の指定を可能にするために支払いサービスを更新しました
  * Payeezy決済ゲートウェイを更新し、郵便番号を6文字ではなく7文字に切り捨てるようにしました。
  * Payeezy SOAP API の Level2.Tax1Amount の一部として Level2/Level3 の税金を追加しました
  * VantivExpress決済ゲートウェイのウェブサイト固有の設定を維持する機能を追加しました
  * VantivExpress の AccountNumber にプレフィックスを追加する機能が追加されました (VantivExpress のコネクタを参照)
  * VantivExpressの呼び出しパラメータとして支払いゲートウェイ設定を指定する機能を追加しました
  * Orbital 決済ゲートウェイに Payment Gateway Vault 機能を追加しました ( [Orbital のコネクタを参照](https://webhelp.optimizely.com/latest/en/b2b-commerce/connectorsandintegrations/paymentgateways/connectorsfororbital.htm))
  * クラウド決済ゲートウェイとして PayTrace を追加しました (詳細については[PayTrace のコネクタを参照してください)](https://webhelp.optimizely.com/latest/en/b2b-commerce/connectorsandintegrations/paymentgateways/connectorsforpaytrace.htm)
  * Evo 支払いゲートウェイの統合を追加しました。 [Evo のコネクタを](https://webhelp.episerver.com/latest/en/b2b-commerce/connectorsandintegrations/paymentgateways/connectorsforevo.htm)参照してください。
  * CenPOS 決済ゲートウェイを更新し、法人カードの成功コードを受け入れるようにしました。
  * CenPOS の呼び出しパラメータとして支払いゲートウェイの Merchant ID を指定する機能を追加しました
  * 管理コンソールに Bambora 支払いゲートウェイ (支払い処理のみ) のコネクタを追加しました
  * Bambora 支払いゲートウェイ コネクタに支払いプロファイルを追加しました。 [Bambora のコネクタを](https://webhelp.episerver.com/latest/en/b2b-commerce/connectorsandintegrations/paymentgateways/connectorsforbambora.htm)参照してください。
  * IE の問題を回避するために Paymetric Iframe からマスク番号フラグを削除しました
  * ISC\_Implementer ロールに表示するために Paymetric iframe 設定を更新しました
  * 設定を通じて異なる支払いゲートウェイ iframe (Paymetric) をレンダリングする機能を追加しました
  * Paymetric 有効期限を MM/YY で送信する切り替えを追加しました
  * 必要に応じて資格情報を挿入するための複数の Paymetric Merchant ID の処理を​​更新しました。
  * Authorize.Net 支払いゲートウェイを更新し、トランザクション リクエスト中に Merchant ID とトランザクション キーをパラメータとして送信できるようにしました (カスタム コードでの設定の上書きを参照)
  * Authorize.Net の保存された支払いプロファイルのメール アドレスと顧客番号を連結する設定を追加しました
  * Authorize.Net クレジットカード ロジックの更新にクライアント IP と成功応答コードの新しい設定を追加しました
  * 決済ゲートウェイコネクタとしてElavonを実装
  * Moneris 決済ゲートウェイを更新し、ストア ID と API トークンをパラメータとして送信し、MerchantId をオーバーライドできるようにしました。
  * 新しい支払いゲートウェイとしてEbizChargeを追加しました
  * 新しい支払いゲートウェイ コネクタ オプションとして APS Payments を追加しました (APS Payments のコネクタを参照)
  * APS Paymentsへのトークン送信ワークフローを更新しました
  * Adyen決済ゲートウェイを追加しました
* **ERP**
  * SX.e v11 からの ARCustomerMnt 呼び出しを更新し、顧客番号の cErrorMessage フィールドと returnData フィールドの両方を参照するようにしました。
  * SX.e価格計算機の単価丸めオプションを更新しました
  * Acumatica 注文送信統合ジョブに注文レベルのメモを追加しました
  * Acumatica SalesOrder モデルの MarkForPO フィールドを null に設定する機能を追加しました
  * 注文送信時に Acumatica コネクタに拡張価格を入力する機能を追加しました。
  * Acumatica 注文送信ジョブに ShipVia マッピングを追加しました
  * Acumatica コネクタからコミッション可能フラグを False に設定する機能を削除しました
  * Acumatica SalesOrderSubmit ジョブにハードコードされた値を持つ Overshipment/Undershipment フィールドを追加しました
  * CSDコネクタの足場を作成しました
  * 管理コンソールに CloudSuite Distribution (CSD) コネクタ設定を追加しました
  * CSDのリアルタイム通話を追加
  * CloudSuite 更新プロセッサにシステム リストのサポートを追加しました
  * CSD統合のエラーに関するメッセージを追加しました
  * P21リアルタイム価格設定を更新し、APIからの不正な応答を処理するようにしました。以前は、1つのアイテムが失敗するとPLP上のすべてが失敗していました。
  * ApiClientCredentialsEndpoint 経由で P21 コネクタにリアルタイム API 接続を追加しました
  * P21コネクタのデフォルトジョブを更新しました
  * IFS CloudのERPコネクタを開発
  * IFS Aurena の在庫を更新し、AvailableQty を追加しました
  * IFS Aurena の在庫ロジックを更新し、空のオブジェクトを結果なしではなく 0 として扱うようにしました。
  * 税金/注文送信呼び出しの出荷先である請求書の FACTS コネクタに新しいロジックを追加しました。
  * FACTS 統合ジョブを更新し、注文履歴を計算するための Sproc を追加しました
  * FACTS ERP コネクタを有効にして構成するための設定を追加しました (ERP 用コネクタのドキュメントは近日公開予定)
  * FACTS ERPのODBC接続に対応するために統合設定の置換ロジックを変更しました。
  * FACTSコネクタを更新し、数量0を1として扱うようにしました。
  * FACTS コネクタを更新し、価格設定のためにバリアントの親を送信するのをやめ、測定単位とともに子アイテムを送信するようになりました。
  * A+ リアルタイム在庫呼び出しを更新して、顧客番号と出荷先番号を追加し、重複と並べ替えをチェックするようになりました (A+ のコネクタの概要を参照)
* **統合ジョブ**
  * S3-to-S3 プロセッサに .csv ファイルのサポートを追加しました
  * 汎用統合接続タイプとフラットファイルプロセッサ「AmazonS3FlatFile」を追加しました
  * ODataを取得するために特別に設計された新しい統合プロセッサOdata Refreshを作成しました。
  * Insite.WIS.Broker をパブリック サーフェス領域に移動して、IIntegrationProcessor を公開しました。
  * CSDApiRefreshと呼ばれる新しいSX.e/CSD API統合プロセッサを作成しました
  * ファイルアップロードジョブで使用するために、WIS で実行されるジョブに S3 認証情報を送信する S3DirectUploadPreprocessor を作成しました。
  * S3 ファイルプロセッサを更新し、管理 API および S3 プリプロセッサと連携できるようにしました。
  * WISがない場合に統合プロセッサを事前入力する機能を追加しました
  * ODataRefresh統合プロセッサにAPIROPCEndpoint接続タイプとサポートを追加しました
  * OData リフレッシュ プロセッサからの JSON オブジェクトのシリアル化を変更しました
  * GetIntegrationJob プロセス中に例外を処理するための SQL 呼び出しを更新しました
  * 統合ジョブを既存のレコードのみに制限する機能を追加しました
  * 統合ジョブの所要時間（経過時間）の表示がより読みやすくなりました
  * ジョブが繰り返しとして設定されている場合、追加の回復力を実装しました。これにより、繰り返しとしてマークされ、開始日と終了日が範囲内にある場合は常に再スケジュールされます。
    * 統合プラットフォームに追加の回復力を実装しているため、ジョブが定期的に実行されるように設定されている場合、そのジョブが定期的に実行されるようにマークされていて、開始日と終了日が範囲内にある限り、常に再スケジュールされます。 これは以前からの変更点ですので、定期的なジョブをチェックして、意図しないときに再度開始されないようにしてください。 現在、ジョブを定期的に実行するように設定し、キュー内の次のジョブを削除すると、ジョブは事実上停止しますが、今後はそうではなくなります。\
      さらに、統合サービスがリサイクルされるときにジョブが実行中の場合、通常どおりジョブは失敗しますが、失敗時のアクションが尊重されるようになりました。つまり、リンクされたジョブがある場合はそのジョブが実行され、通知メールが送信される場合はそれも行われます。
* **ADデータフィード**
  * 360度画像ファイルをインポートするためのジョブステップをADデータフィードプロセッサに追加しました
  * ADデータフィードプロセッサに属性/カテゴリ割り当てのジョブステップを追加しました
  * Amazon S3 から URL のリストを消費する AD データ フィードのプロセッサを作成しました。
  * ベースADデータフィードプロセッサとS3-to-S3プロセッサを更新し、アセットディレクトリの上書きを可能にしました。
  * AD データフィードジョブにステップを追加し、個別の製品更新で製品をカテゴリに割り当てることができるようになりました。
  * Enterworks エクスポート ファイルを読み取るために AD データ フィードを更新しました
  * AD データ フィードを更新し、大きい数値や小さい数値が科学的記数法に切り捨てられないようにしました。
  * Enterworks用の新しいADデータフィードプロセッサを追加しました
* **Windows 統合サービス (WIS)**
  * 4.6.0 の WIS インストーラー コードを更新し、X64 および X86 ビルドの製品 ID とアップグレード コードの新しい GUID を追加しました (「 [WIS のインストール」](https://webhelp.optimizely.com/latest/en/b2b-commerce/connectorsandintegrations/wis/installwis.htm)および[「WIS の構成」を参照](https://webhelp.optimizely.com/latest/en/b2b-commerce/connectorsandintegrations/wis/configurewis.htm))。
  * 内部 WIS を更新し、 Extensions.dll ファイルからカスタム統合プロセッサをロードするようにしました。
  * WISインストーラーを修正し、.Net Framework 4.8が必要になりました。
* **DDSフィード**
  * DDS フィード ジョブを作成するために、管理コンソールに DDS フィード統合を有効にする設定を追加しました ( [Distributor Data Solutions (DDS) データ フィードのコネクタを参照](https://webhelp.optimizely.com/latest/en/b2b-commerce/connectorsandintegrations/dataenrichment/connectorsforddsdatafeed.htm))

#### **API/ハンドラー/パイプライン** <a href="#id-17dp8vu" id="id-17dp8vu"></a>

* Settings および Spire PageByUrl API を変更して、XML ではなく JSON 形式を返すようにしました。
* 製品 API v2 の詳細については、[製品 API v2 のアップグレードに関する考慮事項をお読みください。](https://world.optimizely.com/documentation/developer-guides/b2b-commerce/api/upgrade-considerations-for-product-api-v2/)
* カテゴリ API を更新し、返されるカテゴリが startCategoryId カテゴリから始まるように、includeStartCategory という新しいパラメータを追加しました。
* S3 に「修正された」ファイル名を送信するための管理 API を作成しました
* セキュリティ上の懸念に対処するため、admin/switchcms エンドポイントをより安全にしました。
* CatalogPathBuilder のコードの大部分でプライベート メソッドを再利用するために、Products API v2 に型 (インターフェースではなく) を挿入しました。
* CallOnError および CallOnSuccess ハンドラー名を ExecuteOnErrorCallback および ExecuteOnSuccessCallback に更新しました。
* v1 Product API でリアルタイム価格設定のための価格による並べ替えを実装しました
* 監査プロセスのラベル フィールドに基づいてグループ化された属性をサポートするように API を更新しました。

#### **テクノロジーとその他の変化** <a href="#id-3rdcrjn" id="id-3rdcrjn"></a>

* **フロントエンドの Angular 1.7 へのアップグレード**- 参照テーマと管理コンソールが最新バージョンの Angular.js にアップグレードされました。 これは、そのバージョンが長期サポートされており、侵入スキャンによって発生したいくつかの問題が解消されるためです。 この変更中にサイトを変更したりアップグレードしたりしなくても済むようにブリッジを使用しましたが、すべてのニュアンスをテストすることはできなかったため、サイトを最新バージョンの Angular.js にアップグレードして徹底的にテストするか、少なくともサイトの UI を簡単に確認することをお勧めします。 [この記事では、](https://world.optimizely.com/documentation/developer-guides/b2b-commerce/getting-started-with-epi-b2b-commerce-cloud/angularjs-upgrade-from-1-3-15-to-1-7-9/)アップグレードの手順について説明します。
* **インデックス検索ビルダーのセットアップのパイプライン化**- これは、検索の拡張方法をさらに細かく制御できるようにするために行われました。 [こちらのドキュメントを](https://world.optimizely.com/documentation/developer-guides/b2b-commerce/pipelines/configureindexsettings/)参照してください。
* **Unity コンテナーのアップグレード (拡張機能は許可されなくなりました)** - パッケージのホワイトリストを作成したとき、社内プロジェクトで参照されるすべての Microsoft パッケージを含めましたが、そのリストに Unity が含まれていることに気付きませんでした。 誰かが Unity を直接オーバーライドしようとするとは予想していませんでした。 最近、Unity のバージョンをアップグレードしたところ、 Extensions.dll で古いバージョンを直接参照しているサイトがいくつか見つかりました。 パッケージのホワイトリストから Unity を削除することを無効にしているため、これを参照している場合は削除できなくなります。実際に直接拡張する必要がある状況はまだ見つかっていません。 一般的な使用法と修正方法は次のとおりです。
  * Insite.Common.Dependencies.DependencyLocator の使用箇所を置き換える
  * CommonServiceLocator.Current.GetInstance -> DependencyLocator.Current.GetInstance
  * 標準のforeachを使用する
  * 独自のForEach拡張機能を作成する
  * Microsoft.Practices.Unity DLL からの IServiceLocator
  * Microsoft.Practices.Unity DLL の名前空間 Microsoft.Practices.ObjectBuilder2 からの EnumerableExtensions.ForEach。
* 「X-Content-Type-Options」HTTPヘッダーを追加しました
* Schema.Net NuGet パッケージを標準コードに追加し、ホワイトリストに登録して使用できるようになりました。
* ライセンスファイルと関連画面から一般公衆利用許諾書 (GPL) の参照を削除しました
* Google タグ マネージャーの顧客データ レイヤーを追加し、拡張と標準コードとの統合を可能にしました。
* クラウド顧客がこれらのフォントを使用できるように、.woff2 ファイル拡張子をホワイトリストに追加しました (web.config 内)
* ローカル開発用のRuby依存関係を削除しました
* Dockerビルドを更新してアプリプールのリサイクルを無効にしました
* コンテナ化された環境での新しい SMTP コマース/マルチメールドメイン機能のサポートを追加しました
* Azure の NuGet パッケージを更新しました
* FileProviderFileSystem.cs を更新し、ネットワーク ファイルのサポートを可能にしました。
* 許可された NuGet パッケージに PGP 暗号化と Azure ストレージを追加しました
* Azure ストレージ プロバイダーからコンテナーの CreateIfNotExists の呼び出しを削除しました
* ベースコードの ServicePointManager.SecurityProtocol から SSL3 を削除しました。これは古く、使用すべきではないためです。
* メモリ使用量の管理に役立つ 3 つの Gen2GarbageCollection 関連の設定を appSettings.config に追加しました。
* HttpClient の参照を新しい HttpClientProvider に更新しました
* AntiForgeryTokensの使用を可能にするために、特定のページでキャッシュを無効にするメカニズムを実装しました。
* 不要なオーバーヘッドを排除するために、Product テーブルの SearchLookup の更新を削除しました。
* 追跡と監視の目的で、GeoIP呼び出しの周りにPrometheusを追加しました。
* 廃止された HTTPS モード
* メディアライブラリに保存されているPDFファイルからテキストをプログラムで抽出するユーティリティを作成しました
* 既存のTokenEx設定を廃止し、新しい設定に置き換えました
* ルーティングと初期化コードを更新し、ウェブサイト テーブルに URL を設定するために統合/ID を必要としないようにしました。
* 翻訳 dictionary.txt が生成された後に無視され、ソース管理に保存されないようにするコードを追加しました。
* クラウドのマイクロサイトに使用されていた EnableContentUrlRouteWebsiteCache アプリ設定を削除しました
* 多対多のテーブルを完全なエンティティに変換するためのパターンを作成しました
* 多対多のテーブルを完全なエンティティに変換し、子コレクションを介さずに直接統合できるようにしました。
* アプリケーション ログに ASP ライフサイクル イベントを追加しました
* セキュリティ向上のため、x-powered-by ヘッダーと関連項目を削除しました
* AWS SDKバージョンを2から3に更新しました
* RestrictionGroup の再構築を SQL 一括コピーを使用するように変更しました
* 製品リストページの画像を更新し、小さい製品画像の代わりに中サイズの製品画像を使用するようにしました。
* 数百万件のレコードを処理する場合のパフォーマンスを向上させるために、PriceMatrixフォームにDefaultSortPropertyを追加しました。
* ActualUrl 拡張メソッドで X-Forwarded-Host をサポートするようにコードを更新しました。
* package-lock.json コミットを強制するために、ビルドを npm install ではなく npm ci を使用するように切り替えました。
* .NET SDK に移動された System.Net.Http 参照を無視するように nuget パッケージを更新しました
* メディアライブラリ（CkFinder）をバージョン3.5.1.1にアップグレードしました
