K Khan
Aug 3, 2017
visibility 2963
star star star star star
(1 votes)

Commerce 11 first look

  • Performance improvements for websites with a large number of promotions/campaigns while loading order totals and redemption numbers.
  • Price caching is not affected anymore by disabling CatalogCache configuration.
  • Simplified price selection if developers want to change the way prices with minimum amounts are returned without implementing the entire IPriceService interface.
  • Better loading of large of promotions/campaigns in the Marketing UI.
  • ProcessPayment Method of IPayment Plug In is returning PaymentProcessingResult with properties IsSuccessful, Message, and RedirectUrl.
  • ApplicationId has not required anymore in API. IApplicationContext will return only properties HasContentModelTypes(Indicates whether the current application has the IContent model types for catalog content available) and DisableVersionSync(Indicates whether the version sync is disabled.)
  • Merchandisers can sort items within a category in Catalog UI.
    Image sort.JPG
    When in Sort Mode,
    -Regular toolbar buttons will be disabled and cut/copy/paste option will disappear.
    -You cannot sort the View products view by column headers.
    -Sorting is for products only
    -Once you enable Sort mode, it remains enabled in other categories until you disable it.
  • As we expect, all these fields are now based on Discounted Price rather Extened Price
    IOrderGroupCalculator.GetSubTotal
    DefaultOrderGroupCalculator.GetSubTotal
    DefaultOrderGroupCalculator.CalculateSubTotal
    IOrderFormCalculator.GetSubTotal
    DefaultOrderFormCalculator.GetSubTotal
    DefaultOrderFormCalculator.CalculateSubTotal
    IShippingCalculator.GetShippingItemsTotal
    DefaultShippingCalculator.GetShippingItemsTotal
    DefaultShippingCalculator.CalculateShippingItemsTotal

Related Topic:

Aug 03, 2017

Comments

K Khan
K Khan Aug 8, 2017 08:55 AM

IPriceOptimizer is a new interface that allows you to control the price optimization, this can be implemented instead of IPriceService.

namespace Mediachase.Commerce.Pricing
{
///


/// Optimizes prices on certain criterias.
///

public interface IPriceOptimizer
{
///
/// Optimizes a collection of prices, remove duplicated and unwanted prices.
///

/// The prices to optimized
/// A list of optimized prices.
IEnumerable OptimizePrices(IEnumerable prices);
}
}

public class HighestPriceOptimizer : IPriceOptimizer
{
public IEnumerable OptimizePrices(IEnumerable prices)
{
return prices.GroupBy(p => new { p.CatalogKey, p.MinQuantity, p.MarketId, p.ValidFrom, p.CustomerPricing, p.UnitPrice.Currency })
.Select(g => g.OrderByDescending(c => c.UnitPrice.Amount).First()).Select(p => new OptimizedPriceValue(p, null));
}
}

Reference: Price optimization

error Please login to comment.
Latest blogs
Composition Over Inheritance: Why Your Content Contract Is Not a Base Class

Inside the structural conformance pattern in SaaS CMS — from server-side inheritance to pipeline governance. A contract in Optimizely SaaS CMS is...

Vipin Banka | Sep 19, 2026

Optimizely Opti ID Integration: Why the API Key Was Missing from the DXP Management Portal

While working on an Optimizely CMS 12 Opti ID integration recently, we ran into an issue that initially appeared to be related to SSO authenticatio...

Madhu | Sep 18, 2026 |

Extending a Contract: What You Can Override

Contracts share fields across content types — but not every field setting can be overridden. Push the same contract onto several components, and CM...

Chirag Khanna | Sep 18, 2026 |

Building a Blazor Server UI Inside the Optimizely CMS 13 Admin Shell

What I learned shipping a Blazor Server UI inside Optimizely CMS 13 — Razor components in a NuGet package, the Blazor hub next to MapContent(),...

Stanisław Szołkowski | Sep 17, 2026 |