Installation and Upgrades
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

4.0 旧バージョンと非互換の変更

このドキュメントでは、Commerce 4.0 で既存の機能、API、またはサードパーティの Liferay Commerce 開発者やユーザーとの契約に影響を及ぼす変更点を時系列で示します。 私たちはこれらの混乱を最小限にするために最善を尽くしていますが、時には避けられないこともあります。

このファイルに記載されている変更の種類の一部を次に示します。

  • 削除または置換される機能

  • APIの非互換性:パブリックJavaまたはJavaScript APIの変更

  • テンプレートで利用可能なコンテキスト変数の変更

  • Liferayテーマおよびポートレットで利用可能なCSSクラスの変更

  • 設定の変更: com.liferay.commerce.*.cfg などの設定ファイルの変更。

  • 実行要件: Java バージョン、JEE バージョン、ブラウザ バージョンなど。

  • 非推奨またはサポート終了:たとえば、次のバージョンで特定の機能またはAPIが停止されると警告している

  • 推奨事項:たとえば、後方互換性のためにLiferay Portalに古いAPIが保持されているにもかかわらず、古いAPIに代わる、新しく導入されたAPIを使用することを推奨している

宛先名の変更

変更点

プレフィックス commerce_com.liferay.commerce.constants.CommerceDestinationNamesで定義された Commerceの宛先に追加されました。

  • liferay/commerce_order_status;

  • liferay/commerce_payment_status;

  • liferay/commerce_order_status;

  • liferay/commerce_payment_status;

  • liferay/commerce_subscription_status

影響を受ける人

これらの宛先を参照または使用するすべてのユーザー。

コードの更新方法

Commerce の宛先への明示的な参照を新しい名前に更新します。

変更が行われた理由

この変更により、Commerce の宛先に Liferayの命名パターンが導入されます。

宛先名の変更

変更点

externalReferenceCodeを参照するメソッドの並べ替え。

更新されたメソッドを持つクラス:

  • com.liferay.commerce.inventory.service.CommerceInventoryWarehouseLocalService

  • com.liferay.commerce.inventory.service.CommerceInventoryWarehouseService

  • com.liferay.commerce.price.list.service.CommercePriceEntryLocalService

  • com.liferay.commerce.price.list.service.CommercePriceEntryService

  • com.liferay.commerce.price.list.service.CommercePriceListLocalService

  • com.liferay.commerce.price.list.service.CommercePriceListService

  • com.liferay.commerce.price.list.service.CommerceTierPriceEntryLocalService

  • com.liferay.commerce.price.list.service.CommerceTierPriceEntryService

  • com.liferay.commerce.pricing.service.CommercePriceModifierLocalService

  • com.liferay.commerce.pricing.service.CommercePriceModifierService

  • com.liferay.commerce.pricing.service.CommercePricingClassLocalService

  • com.liferay.commerce.pricing.service.CommercePricingClassService

  • com.liferay.commerce.product.service.CommerceCatalogLocalService

  • com.liferay.commerce.product.service.CommerceCatalogService

  • com.liferay.commerce.product.service.CommerceChannelLocalService

  • com.liferay.commerce.product.service.CommerceChannelService

  • com.liferay.commerce.product.service.CPAttachmentFileEntryLocalService

  • com.liferay.commerce.product.service.CPAttachmentFileEntryService

  • com.liferay.commerce.product.service.CPDefinitionLocalService

  • com.liferay.commerce.product.service.CPDefinitionService

  • com.liferay.commerce.product.service.CPInstanceLocalService

  • com.liferay.commerce.product.service.CPInstanceService

  • com.liferay.commerce.product.service.CPOptionLocalService

  • com.liferay.commerce.product.service.CPOptionService

  • com.liferay.commerce.product.service.CPOptionValueLocalService

  • com.liferay.commerce.product.service.CPOptionValueService

  • com.liferay.commerce.product.service.CProductLocalService

  • com.liferay.commerce.product.service.CProductService

  • com.liferay.commerce.service.CommerceAddressLocalService

  • com.liferay.commerce.service.CommerceAddressService

  • com.liferay.commerce.service.CommerceOrderItemLocalService

  • com.liferay.commerce.service.CommerceOrderItemService

  • com.liferay.commerce.service.CommerceOrderLocalService

  • com.liferay.commerce.service.CommerceOrderNoteLocalService

  • com.liferay.commerce.service.CommerceOrderNoteService

  • com.liferay.commerce.service.CommerceOrderService

影響を受ける人

これらのクラスのメソッドを参照または使用するすべてのユーザー。

コードの更新方法

新しい対応するメソッドを使用するようにメソッドを更新します。

変更が行われた理由

この変更は、Liferay ソースのフォーマットに従うために導入されました。

MiniCart コンポーネントの拡張性

変更点

  • MiniCart タグと FE React コンポーネントは、コンポーネント ビューとラベルの部分的および全体的な置き換えをサポートするように拡張され、標準のタグ属性または JS 実装の直接インポートによって一部の機能を構成できるようになりました。

    • 公開された MiniCartTag 属性が変更されました。

    • commerce-frontend-js モジュールが適切なインターフェースで公開され、そのコンテンツ (特に、 MiniCart 統合に必要な MiniCartContext ) への制御されたアクセスと公開が可能になりました。

    • MiniCart コンポーネントの使いやすさと拡張性については、 こちらで説明されています。

影響を受ける人

古い MiniCartTagに依存または拡張している開発者。

変更が行われた理由

コンポーネントの拡張性をサポートするために Liferay DXP 標準に準拠しています。

CommerceCountry と CommerceRegion が削除されました

  • 日付: 2021年3月2日

  • JIRA チケット: LPS-125991

変更点

  • CommerceCountry テーブルと CommerceRegion テーブルがデータベースから削除されました。

  • CommerceCountryCommerceRegion のサービスおよび永続クラスは削除されました。

  • com.liferay.commerce.model.CommerceCountrycom.liferay.commerce.model.CommerceRegion への参照は、 com.liferay.portal.kernel.model.Countrycom.liferay.portal.kernel.model.Regionに置き換えられました。

  • CommerceCountryCommerceRegion を参照する外部キーの名前が、それぞれ commerceCountryIdcommerceRegionId から countryIdregionId に変更されました。 更新された列を持つテーブルは

    • CommerceAddress

    • CommerceAddressRestriction

    • CommerceShippingFixedOptionRel

    • CommerceTaxFixedRateAddressRel

    • com.liferay.commerce.country.CommerceCountryManager は、Commerce固有の国を取得するために追加されます。 利用可能な方法は次のとおりです:

    • getBillingCountries

    • getBillingCountriesByChannelId

    • getShippingCountries

    • getShippingCountriesByChannelId

    • getWarehouseCountries

影響を受ける人

これらのモデルやサービスを参照または使用するすべての人。

コードの更新方法

CommerceCountry および/または CommerceRegion への明示的な参照を、対応する新しいモデルとサービスに更新します。

変更が行われた理由

この変更により、Liferay Portal 内の重複したモデルとサービスが削除されます。

ミニ比較ウィジェット + ミニ比較コンポーネント

変更点

  • MiniCompare FE 実装を JSP/バニラ JavaScript から React に移行します ( commerce-frontend-js内)。 これは commerce-product-content-web内の同じ JSP ソースから直接ロードされます。

  • CP 定義 IDは、セッションを使用する代わりに、Cookie に保存され、最終的には Cookie から読み取られるようになりました。

  • CompareCheckboxTag をリファクタリングして、JSP 経由でレンダリングするようにしました。 次に、JSP は CompareCheckbox React コンポーネントをレンダリングします。

    • 非推奨の および 削除 commerce-frontend-taglib モジュール内の CompareCheckbox の古い Soy/MetalJS 実装。

影響を受ける人

MiniCompare コンポーネント/ウィジェットの古い実装に依存または拡張している開発者。

変更が行われた理由

  • Soy/MetalJSの廃止により

  • Liferay DXP と連携して、Commerce で Liferay Classic テーマをサポートし、将来の DXP WEM 統合への道を開きます。

-# アカウントセレクターの改良

変更点

  • AccountSelectorTag をリファクタリングして、JSP 経由でレンダリングし、 IncludeTagから拡張しました。 JSP は、Soy/MetalJS から移行された AccountSelector React コンポーネントをハイドレートしてレンダリングします。

  • ランタイム ライフサイクル中に Commerce Headless API を介して通信されたアカウント/注文の変更について他のコンポーネントに通知するために、イベント名を変更しました。

影響を受ける人

古い Soy/MetalJS コンポーネントを関連タグを使用して依存または拡張する開発者。

変更が行われた理由

  • Soy/MetalJSの廃止により

  • Liferay DXP と連携して、Commerce で Liferay Classic テーマをサポートし、将来の DXP WEM 統合への道を開きます。

ストアフロントにおける商品カードと商品レンダリング戦略

変更点

  • 製品カード コンポーネントが JSP テンプレートに移植され、製品情報が表示されるようになりました。 これは、 CPContentListRendererCPContentListEntryRendererを介してハイドレートおよびレンダリングされます。

    • 製品パブリッシャー、検索結果、比較ウィジェットでは、これらのレンダリング戦略が使用されるようになりました。

    • Commerce Theme Minium Site Initializer は、これらのレンダリング戦略を使用するように構成されました。

    • 実装は現在、 commerce-product-content-web モジュール内に存在し、 CPContentRenderer オーバーライド、JSP オーバーライド、または Liferay Dynamic Include を通じて拡張可能です。

    • 非推奨 および 削除 commerce-frontend-taglib モジュール内の商品カードの古い Soy/MetalJS 実装は 非推奨 となり 削除されました。

    • commerce-theme-minium-impl モジュール内の古い Minium 固有の CPContentRenderer非推奨 となり、 削除されました。

  • AddToCartTag を JSP 経由でレンダリングするようにリファクタリングし、 IncludeTagから拡張するようになりました。 JSP は次に、 AddToCart React コンポーネント ( QuantitySelector React コンポーネントを含む) をレンダリングします。

    • 非推奨の および 削除 commerce-frontend-taglib モジュール内の AddToCartButton の古い Soy/MetalJS 実装。

    • 非推奨の および 削除 commerce-frontend-taglib モジュール内の QuantitySelector の古い Soy/MetalJS 実装。

    • 非推奨の および 削除された 古い QuantitySelectorTag commerce-frontend-taglib モジュール。

  • PriceTag は、JSP 経由でレンダリングするようにリファクタリングされ、 IncludeTagから拡張されるようになりました。 JSP は、正しく構造化されたテンプレート (SEO 目的) をレンダリングし、最終的に Price React コンポーネント (ユーザー ページ ランディング用) をレンダリングします。

    • 非推奨の および 削除 commerce-frontend-taglib モジュールの Price の古い Soy/MetalJS 実装。

影響を受ける人

以下を依存または拡張する開発者:

  • commerce-theme-minium-implの Minium 固有の CP コンテンツ レンダラー

  • Soy/MetalJS AddToCartTagAddToCartButton*

  • Soy/MetalJS QuantitySelectorTagQuantitySelector*

  • Soy/MetalJS の PriceTagPrice*です。

変更が行われた理由

  • Soy/MetalJSの廃止により

  • Liferay DXP と連携して、Commerce で Liferay Classic テーマをサポートし、将来の DXP WEM 統合への道を開きます。

*ServiceImpl クラスで AddOrUpdate と Upsert を使用するためにメソッド名を標準化する

変更点

Commerce *ServiceImpl クラス内の upsert* という名前のすべてのメソッドの名前が addOrUpdate*に変更されました。

影響を受ける人

いずれかの *ServiceImpl upsert* メソッドを使用している開発者は、対応するメソッド addOrUpdate*を使用する必要があります。

変更が行われた理由

この変更により、上記のメソッドに Liferayのソースフォーマットが導入されます。

BOM 機能は、図によるショップ機能に置き換えられました

変更点

Shop by Diagram は BOM 機能に代わるものです。 これは、エントリ フォルダーと BOM エントリが存在せず、ダイアグラムと呼ばれる新しい製品タイプが存在することを意味します。

影響を受ける人

店舗用にダイアグラムを作成しなければならない商品スペシャリストはダイアグラム商品タイプで商品を作成する必要はありません。

変更が行われた理由

この変更により、BOM の問題が修正され、スペアパーツの使用ケースがより適切に満たされます。

アカウントウィジェットを削除して、Liferay Commerceのモジュールではなくなるようにします。

  • 日付: 2021 年 11 月 21 日

  • JIRA チケット: COMMERCE-7288

変更点

アカウント ウィジェットはコマース アカウント ウィジェットに代わるものです。 既存の実行中のシステム上のすべてのインスタンスが更新されました。

影響を受ける人

  • コマース アカウント ウィジェットをカスタマイズした開発者や、サイト初期化機能で使用した開発者。

  • 別のウィジェットを使用してアカウントを管理するエンドユーザー (アカウント マネージャー)。

変更が行われた理由

この変更は、Commerce Account から Account への移行に準拠するために必要でした。

CommerceOrderLocalServiceImpl のリファクタリング

変更点

  • updateCommerceOrder メソッドのインスタンスは 4 つではなく 3 つだけになりました。

  • updateCustomFields メソッドを削除しました。

  • updateOrderStatus メソッドを削除しました。

  • updateTransactionId メソッドを削除しました。

  • updateUser メソッドを削除しました。

影響を受ける人

コード内でこれらのメソッドのいずれかを呼び出している開発者。

コードの更新方法

  • 残りの 3 つの updateCommerceOrder メソッドを直接の代替として使用します。

  • カスタムフィールドを更新するには、commerceOrder.setExpandoBridgeAttributes(ServiceContext serviceContext)expandoBridgeAttributesを設定した後、updateCommerceOrder(CommerceOrder commerceOrder)メソッドを使用します。

  • オーダーステータスを更新するには、commerceOrder.setOrderStatus(int orderStatus)オーダーステータスを設定した後、updateCommerceOrder(CommerceOrder commerceOrder)メソッドを使用します。

  • commerceOrder.setTransactionId(String transactionId)transactionIdを設定した後、updateCommerceOrder(CommerceOrder commerceOrder)メソッドを使用してtransactionIdを更新します。

  • ユーザー情報を更新するには、commerceOrder.setUserId(long userId)およびcommerceOrder.setUserName(String userName)userIdおよびuserNameを設定した後、updateCommerceOrder(CommerceOrder commerceOrder)メソッドを使用します。

変更が行われた理由

この変更は、クラス CommerceOrderLocalServiceImplをクリーンアップするために導入されました。

commerce-service service.xml で CommerceOrder を絞り込む

変更点

  • addCommerceOrder メソッドのパラメータを CommerceOrderLocalServiceCommerceOrderServiceで並べ替えます。

  • addOrUpdateCommerceOrder メソッドのパラメータを CommerceOrderLocalServiceCommerceOrderServiceで並べ替えます。

  • updateCommerceOrder メソッドのパラメータを CommerceOrderLocalService および CommerceOrderService内で並べ替えます。

  • updateCommerceOrderPrices メソッドのパラメータを CommerceOrderLocalService および CommerceOrderServiceで並べ替えます。

影響を受ける人

コード内でこれらのメソッドのいずれかを呼び出している開発者。

コードの更新方法

  • パラメータが新しい addCommerceOrder メソッドと正しく整合していることを確認します。

  • パラメータが新しい addOrUpdateCommerceOrder メソッドと正しく整合していることを確認します。

  • パラメータが新しい updateCommerceOrder メソッドと正しく整合していることを確認します。

  • パラメータが新しい updateCommerceOrderPrices メソッドと正しく整合していることを確認します。

変更が行われた理由

この変更により、 commerce-service service.xml内のエンティティ CommerceOrder がクリーンアップされます。

CPContentHelper と CPContentHelperImpl をリファクタリングする

変更点

  • CPContentHelper.java および CPContentHelperImpl.java内のメソッドのシグネチャの変更:
    • getReplacementCommerceProductFriendlyURL(long cProductId, String cpIntanceUuid, ThemeDisplay themeDisplay) から getReplacementCommerceProductFriendlyURL(CPSku cpSku, ThemeDisplay themeDisplay)
  • CPContentHelper.javaおよびCPContentHelperImpl.javagetCPAttachmentFileEntries()メソッドの名前をgetCPMedias()に変更。

影響を受ける人

これは、コード内でこれらのメソッドを参照または使用するすべての開発者に影響します。

コードの更新方法

上記のメソッドの参照と使用法を新しいものに置き換えます。

変更が行われた理由

メソッドは、読みやすさ、一貫性、保守性を向上させるためにリファクタリングされました。