Moving from EPiServer CMS to EPiServer Commerce as a Developer
Introduction
EPiServer CMS has been around since 2001 and now powers 30 000+ web sites worldwide with a development community of 25 000+ developers. EPiServer Commerce was launched in 2010 and has far fewer installations and experienced developers, but that is changing rapidly! Chances are that you are an experienced EPiServer CMS developer looking to build your skills on EPiServer Commerce or are starting on your first EPiServer Commerce project.
EPiServer CMS + EPiServer Commerce == true
First of all you are not going to swap out one product for the other. In an EPiServer ecommerce project you are going to use both products together (and they are both built to work together). So the good news is that you can leverage all your existing EPiServer CMS knowledge in this new project.
EPiServer Commerce vs the Competition
Make no mistake: EPiServer Commerce is a state-of-the-art enterprise ecommerce product both technically and functionality wise, but what sets it apart from the competition is that it has a state-of-the-art CMS working along side it. The lack of good CMS capabilities are the achilles heal of the other ecommerce vendors.
"Being able to blend inspirational content with a online store into a seamless experience is at the heart of a modern, successful ecommerce site."
Ecommerce is not just a website with a buy button
The bad news is that ecommerce is a whole business domain in of itself, in addition to the customer specific business domain for your new project. Luckily once you master this new ecommerce business domain you can (mostly) reuse it for your next ecommerce project.
Ecommerce specific domain questions you need to tackle:
-
Do you have multiple warehouses? How do you decide which one to ship from?
-
Backordering: What happens if you don’t have the item in stock after all?
-
Chargebacks and fraud.
-
Multiple markets, languages, currencies and taxes
-
B2B: Customer specific prices/discounts
-
How do you handle returns?
-
In store pickup? In store returns?
Integrations galore
In a standard CMS website project you might have none to a few integrations as part of your project, but in an ecommerce project you will have at least have four (product import, shipping, warehouse and payment). Most importantly most of your content will come from a integrations namely product data!
Common ecommerce integration points
-
Product import from ERP system to get product data
-
Shipping calculation integration(s) to calculate shipping
-
Logistics integration(s) to book shipping of one or more packages
-
Warehouse integrations to find out what you have in stock and to send in orders when the customer has purchased the items
-
Payment provider integration(s) to get paid
-
ERP integration for sending out invoices (B2B)
-
CRM og membership system to get customer data, do personalization and applicable discounts if any
EPiServer Commerce
There is no secret that developing with EPiServer Commerce is not as streamlined as developing with EPiServer CMS. But to be fair it has improved a lot since the first release and it is getting better for every (biweekly) release.
One big thing to note is that currently there isn’t an official EPiServer Commerce demo site that you can install and run like we have with the EPiServer CMS Alloy demo. This however might change in the near future.
Things to note when developing with EPiServer Commerce for the first time:
-
The solution runs as two IIS website: one for the customer facing site and CMS edit/admin, and one for the Commerce Manager.
- The Commerce Manager has a different user access list than the CMS edit/admin and Commerce Catalog.
-
Things are more flexible, but therefor also less out of the box. Expect to develop more functionality yourself compared to CMS
More complexity: products as content
When developing a website with CMS you only have to think of page templates and block templates and how they go together, with Commerce you need to handle more complexity in your “content” e.g. products. The first step is to discover what “groups” or “types” of products you have. Then for each group/type you need to figure out what “variations” they have.
Example 1: You have a site selling books. For a single book title e.g. “The Lean Startup” you might have several types: hardback, paperback and ebook. Each type has it’s own SKU (Stock Keeping Unit, a unique identifier for the product), price, quantity in stock, shipping weight/price, and delivery method (physical/digital).
Example 2: You have a site selling clothes. For a single item e.g. a pair of Levis jeans you might have several types: waist size (28-38 inches), inseam size (28-38 inches) and color (blue, black, stonewash). That means that you don’t have a single SKU, but rather a matrix of all the options (a cube in this instance), each with it’s own SKU, stock quantity, price etc.
Example 3: You might have a site that sells both books and clothes so you need to handle both product types in the same basket and through check out/delivery.
Quality of product information
In an ecommerce site you might import tens or even hundreds of thousands of products, and chances are that they don't all have great product pictures and quality descriptions. How do you handle it? Do you design the product page with less information (which might hurt conversion rates) or do you somehow try to improve the product information coming in?
Final words
Building a cutting edge ecommerce site is a challenging, but highly rewarding project both from a developer and a business/customer perspective. Who knows: you might be building the next Amazon! I wish you the best of luck in your new ecommerce project using EPiServer Commerce, and make sure to share your experiences on EPiServer World.