Guide - 7.6 API Changes

Table of Contents

 

Product Version

7.6

Product To Version

7.6
Status

final

1 Changes

DescriptionAPI changesHow to migrate

Possibility to set fixed price when adding product to basket

Price parameter can be set, if a fixed price for this product should be used instead of the regular price lookup

  • BasketBO.addProduct(...) has new parameter price
    public <T extends Object> AddToBasketResult addProduct(ProductBO product, Quantity quantity, Map<String, T> parameters, Integer mergeGroup, Boolean forceSeparateLineItem, Money price);
  • AddToBasketParameters has 2 new functions: setFixedSingleBasePrice(Money) and getFixedSingleBasePrice()
  • BasketProductLineItemBO has new function: isSingleBasePriceFixed();
  1. If no fixed prices are used, add null to call of addProduct, otherwise add the price.
  2. Implement methods if own implementation of those interfaces exist.
Some classes were moved to a different cartridge. Therefore some dependencies might need to be changed.
  • com.intershop.component.calculation.capi.orderprocess.* was moved from bc_calculation to bc_pricing
  • com.intershop.component.calculation.capi.spreadsheet.* was moved from bc_calculation to bc_spreadsheet
  1. Depending on what classes are used, add appropriate dependency.
New Payment API
  • The Payment API got a complete rework. It can be found in the cartridge api_service. It contains new service interfaces to implement as well as a unified data structure used inside the new API. The old payment API is still available but deprecated.
  • The payment business object API was also reworked and extended.
    • Some classes were moved and the old ones deprecated. In most cases from sld_ch_b2c_base to bc_payment.
    • Methods deprecated for a longer time period were removed.
    • The method structure and naming was unified. Methods which became obsolete were deprecated.
  • Some persistent object interfaces were also changed to make data available in the business object layer:
    • New methods:  
      • com.intershop.beehive.bts.capi.payment.PaymentInstrumentInfo#getPaymentServiceID()
      • com.intershop.beehive.bts.capi.payment.PaymentInstrumentInfo#getServiceConfigurationID()
      • com.intershop.beehive.bts.capi.payment.PaymentCost#getTaxClassID()
  1. Depending on what classes are used, add appropriate dependency.
  2. It is strongly recommended to not start the implementation of a new payment service connector using the deprecated API.
  3. Have a look into the Concept - Payment Framework and Cookbook - Payment (valid to 7.7) for more detailed information about the API and its usage.
p_security/pf_encryption is now a library dependency "encryption"
  • Package definition changed: com.intershop.platform.encryption becomes com.intershop.common.encryption
  1. Replace all references from com.intershop.platform.encryption with com.intershop.common.encryption in customer code.
Adapted storefront CMS rendering API to include new semantic key format

All means provided to render entry level CMS objects (e.g., pages, includes and view contexts) are fitted with a new parameter called ResourceSet. As for best practices, calls to render entry level CMS objects must always denote system managed items to ensure objects are available in all circumstances. A resource set is denoting the cartridge identifier that contains the defining pagelet2 model file.

Two new pipeline nodes have been introduced to render a CMS view context. Please refrain from calling pipeline ViewViewContext in favor of these new pipeline nodes. The pipeline node to render a page has not been changed as this node already used the resource set concept to denote a system-managed page entry point definition.

  1. ISML: Update storefront templates that use the following modules ISContentInclude, ISGetPageletEntryPoint, ISViewContext to include a resource set value. See also Concept - CMS - View Context and Concept - CMS - Content Entry Points.
  2. Pipeline: Use pipeline nodes RenderSystemPage, RenderSystemViewContext, GetPageletEntryPointFromSystemViewContext to render or determine page or include that can be rendered later. Try to avoid old pipline calls to ViewViewContext and ViewPage. See also Concept - CMS - View Context and Concept - CMS - Content Entry Points.

Disclaimer

The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.

Customer Support
Knowledge Base
Product Resources
Support Tickets