A critical vulnerability was discovered in React Server Components (Next.js). Our systems remain protected but we advise to update packages to newest version. Learn More

Son Do
Jan 6, 2017
  2279
(0 votes)

Introducing SerializableCart mode

Since 10.2.0, Episerver Commerce introduced big changes that support cart features: SerializableCart.

Why?

In Commerce 9, we improved catalog performance -- about 10 times faster as I remember :).
The purpose of SerializableCart is also performance improvement. SerializableCart mode is ready for bigger sites with more concurrent customers.

How?

To improve performance, SerializableCart mode stores all cart data in one place with data was serialized as json. All order information (addresses, lineitems, and so forth) is converted to a json string when saving and then deserialized when loading. It reduces a lot of time.

In theory, SerializableCart loads 2 times faster and saves 14 times faster than the legacy cart. An impressive number, isn't it? :)

Using SerializableCart

  1. Enable SerializableCart mode.
  2. Convert IShippingGateway to IShippingPlugin using abstraction classes. 
  3. Convert IPaymentGateway to IPaymentPlugin using abstraction classes. (Refer to post to figure out how to migrate)
  4. Navigate to CMS/Admin. In Scheduled Jobs, run Legacy cart migration for migrating legacy Cart to SerializableCart.
  5. Finally, process the new cart mode like my previous post.

Note that this SerializableCart feature is in beta and does not support creating carts in Commerce Manager. But all purchase order operations in Commerce Manager still work.
The latest Quicksilver on Github is using SerializableCart mode.

The final version will be released soon, in some next release :)

We hope that this change helps you!

/Son Do

Jan 06, 2017

Comments

Please login to comment.
Latest blogs
A day in the life of an Optimizely OMVP: Learning Optimizely Just Got Easier: Introducing the Optimizely Learning Centre

On the back of my last post about the Opti Graph Learning Centre, I am now happy to announce a revamped interactive learning platform that makes...

Graham Carr | Jan 31, 2026

Scheduled job for deleting content types and all related content

In my previous blog post which was about getting an overview of your sites content https://world.optimizely.com/blogs/Per-Nergard/Dates/2026/1/sche...

Per Nergård (MVP) | Jan 30, 2026

Working With Applications in Optimizely CMS 13

💡 Note:  The following content has been written based on Optimizely CMS 13 Preview 2 and may not accurately reflect the final release version. As...

Mark Stott | Jan 30, 2026

Experimentation at Speed Using Optimizely Opal and Web Experimentation

If you are working in experimentation, you will know that speed matters. The quicker you can go from idea to implementation, the faster you can...

Minesh Shah (Netcel) | Jan 30, 2026