Let me give you a little background about me. I am a Software Developer/Architect that has worked on many different projects for the last 20 years, ranging from java client/server to mobile applications. Over the past 10 years I have stayed working mostly on web driven application. I was first introduced to Sitecore about 9 years ago when the company I was working for was moving all of their web properties from legacy systems to Sitecore. We also had to move over our 4 different e-commerce application onto the Sitecore platform. At that time, Sitecore did not have e-commerce and really the only solution was Active Commerce, but we decided to create our own e-commerce platform. It took us about 10 months with 3+ developers to deliver but we delivered.
Cut to today, I was given the task to create a full Sitecore application with e-commerce in a little over 3 months. Sitecore has change a lot in 10 years and now has some players in the e-commerce game. This client didn’t have deep pockets so we had to look at economical solutions. We started to look at both Active Commerce and uCommerce for the solution of the e-commerce part of the project. Both had their pros and con’s, but we decided to go with uCommerce for Sitecore.
uCommerce is a company based out of Denmark, but open an office in Boston in October of 2015. uCommerce has been around for a while and working with another .NET CMS, Umbraco. For those who don’t know Umbraco is an open source CMS that has a lot of big projects under their belt. I guess a couple years back or sooner, Sitecore reached out and said to uCommerce they would love to see uCommerce work with Sitecore and their commerce connect. So here come uCommerce and we decided to use them for our project.
Below I will review our experience with uCommerce and Sitecore. I will break it down as THE GOOD, THE BAD, AND THE UGLY. I will start with THE UGLY:
One issue that uCommerce has is the same problem that many “live” data solutions have with Sitecore. Because a store and order data is live data, there is a problem of publishing. There are times where maybe you want to put some data in the database and wait to publish it. uCommerce puts that data in their database and the site accesses it. So the idea of save then publish won’t work in many cases. Another issue that I saw time and time again is hard to explain the difference between uCommerce data VS Sitecore data to the customer. Let me give you an example. Let’s say I have an image in the image library that I want to use for a product in uCommerce. That image follows the same save publish as anything else in Sitecore, but product data is in uCommerce. Now uCommerce uses the datasource which makes uCommerce look like any other item in Sitecore, the ugly part is that it makes it harder to explain to client that it is not the same. Another issue we ran into was what I call “ghost issues”. uCommerce is a fairly new product for Sitecore, so there are issues that I would run into that were not consistent. When going live we ran into “orphan” products with variants. That might be a follow up blog post, but it is little things like that we found to be difficult to deal with.
I am writing bad next just because I rather end with the good. Some of the things in this will also be the good, but I will try to explain. uCommerce is not the same pipelines as Sitecore. If you are a Sitecore expert you will have to learn uCommerce because uCommerce doesn’t use Sitecore functionality out of box. The pipeline and events model is close to be the same, but is not the same so there was a little bit of a learning curve. As I said earlier, uCommerce acts like it is Sitecore but it is not so some of the things you learned in Sitecore seem to work with uCommerce only to find out you have to do a little differently. Now the next bad thing might seem like it is a good thing, but is a little bad for us….Updates!!! We started to build and three months later there has be almost 7 different builds. Now in most cases this is ok, but when building a release product, we had to standardize and didn’t have time to keep up to date every 2 weeks or so. Now as we are in production we have to upgrade so much it is going to take us time. Another bad for us, they are in Denmark. I know this is going to change, but if we ran into an issue they were very responsive with their answer, but usually the next day. So during crunch time I would shoot an email around noon or 1pm EST and wouldn’t get answer till next day. That doesn’t sound bad now, but in the moment it was hard LOL.
I know reading till now you would think I hated uCommerce, but that isn’t the fact. I understand what it is like to develop a true e-commerce system from scratch and there is NO WAY we could have done this in the time we got allotted. There are so many things that are great about uCommerce so let’s start. The architecture allows you to virtually overwrite so many things. Now this takes code and knowledge, but you and pretty much change uCommerce and all processes with just a couple of lines of code. For example, my client had a very specific way they wanted to implement shipping costs. I created a new shipping service and they can change it in uCommerce admin all they want. Another great part of going with product like uCommerce is all the things that come with product, like campaigns, coupons, pricing and many many more that you would have to take months to build. Another great thing uCommerce brought to the product was one of the “bad” things…they were there if I ever needed them. I always got a response and if I needed to get them on phone, I could if I gave them a couple of days or so. I have to say price also is a GOOD. Compared to the other options they win in this space.
So much is said about uCommerce, but I guess the question someone would ask me is “would you work with uCommerce again?”. My answer is yes I would actually work with uCommerce again. I would take more time to develop and enhance the product, but given the time and the money, uCommerce was a great base to work on. Just like many projects I have worked on, I would question what “yes it has that out of box” means, or “just a little coding and that will work”. uCommerce gives you a great flexibility to make commerce work the way you want and it works with Sitecore.
BTW – https://www.shopbic.com