Sitecore is quite a hot topic in our company. We have a lot of impressive initiatives going on: platform education programs, and optimization of project implementation approaches, formalization of development best practices, various accelerators from project starter kits to integrate external systems covering different aspects of digital marketing and commerce, just investigation of new technologies and their potential applications to Sitecore. Being an R&D solution architect in Digital Engagement practice, I’m fortunate to be in the middle of those activities.
One of my projects now is an exploration of Sitecore Commerce and StoreFront as its reference implementation. About a year ago I’ve touched it a bit during hybris integration POC, unfortunately, at that time it didn’t go any further than that. So now it’s time to get back to the Sitecore Commerce Connect module.
To make this exploration more interesting we also decided to add to the mix Sitecore Habitat and apply principles and techniques that it defines and promotes to a simple commerce implementation.
Project Goals and Objectives
As you might guess, the main goal here is to touch their internals of both Sitecore StoreFront and Habitat, try to marry them together, and learn things. This project is expected to have some side effects as well like
- this article and several more;
- a new team that could get to know each other, sharpen their Sitecore skills, and be prepared for new exciting projects.
What is it not?
In this project, we are not trying to create an architecture blueprint for all further Sitecore implementations. This is an education for us and hopefully for you as well.
We are not trying to prove or refute whether Sitecore Habitat principles, applied practices, and tools are viable for all Sitecore projects. I don’t think that it makes sense to argue with principles like SOLID, DRY or GOF patterns at this point as they are used in tons of project by now. While a selection of tools very often depends on budgets, company heritage, and other religious views.
What we are going to use in this project
- Sitecore version 8.1 (latest update available at the moment of post creation)
- Commerce Connect module - which is a “glue” between Sitecore WCM and commerce systems that might be integrated with it.
- Sitecore Commerce Server 11.3 & Sitecore Commerce 8.1 powered by Commerce Server - while both Commerce Server and Microsoft Dynamix connectors are available, the first version would be a bit simpler in setup (in case of Dynamics you would still need Commerce server to power Merchandising Manager)
- Sitecore Reference Storefront (source code) - this is a working application integrated with OOTB Sitecore Commerce installation.
- Sitecore Habitat - sample project available, provides base features of the site and reference implementation of architectural principles and best practices actively supported by Sitecore and community.
- Latest Visual Studio 2015 with TDS+ ReSharper - while new and fancy gulp based build processes are available in new VS and Habitat supports it. I love all of those products and I do not believe that C# developer might trade VS for a text editor being of sound mind and body.
Outcome: what and when
The most valuable outcome of this project for the community would be an open-sourced code shared on GitHub that everyone would be able to try. We are planning to publish it a few weeks before Symposium so that we would be able to discuss it online and in-person there.
In next post, I’m planning to cover the architecture of both Storefront and Habitat and describe how we decide to map them one to another.
Posts in series
- Inception: Sitecore Storefront to Habitat Migrating
- Mapping Sitecore StoreFront to Habitat
- Sitecore Catalog Feature for Habitat
Follow me on Twitter @true_shoorik. Would be glad to discuss the ideas above in the comments.