A day of Sitecore – with Rocks n’ Stuff
Today the 9th of December I spend the day in Copenhagen attending the sitecore partner seminar as well as a technical deep dive of sitecore’s e-commerce offerings. We just recently became partners, so we were interested in what the roadmap is as well as what the commerce modules offer.
First part – should have worn a tie
The partner seminar started with a “what’s new and cool” segment. As usual these things are targeted towards sales people, so as a developer I thought it was very superficial and all about shiny features and buzzwords to be honest. What I did take away from it was that there is done quite a bit of work on streamlining and performance. To be fair I missed the first part because my train was delayed – big surprise for DSB that it has been snowing apparently.
Online Marketing Suite or OMS is the module everyone likes to talk about at these things, and it will be enhanced with a number of wizards and a dashboard, as well as marketing automation designers written in Silverlight. This seemed very nice, and will help in multichannel orchestration, which is increasingly important these days.
The “Massive” data architecture was the last big thing that was talked about. The idea is that data is moved into Azure data storage where the key-value nature of the database is abstracted away by a LINQ based API that sitecore will provide. This will include the possibility to do transactional publishing and it will be backward compatible, so existing solutions can be moved. A big focus was web 3.0 and the semantic web – basically being able to associate meaning to relationships.
I warned you – it is very superficial and what is really behind these words I can only guess about until I get my hands dirty.
The developer track
After all that namedropping and buzzword juggling I was really looking forward to the developer track, so we could get some substance. It did however start with more slides, covering how the Azure integration is build using an event queue – making it possible for one server to publish and others to listen and pull the same updates.
Now we got around to the good stuff, the opening of Visual Studio is always a good sign 🙂 “Sitecore Rocks” which is a plug-in for Visual Studio 2010, that lets you work with directly with sitecore was demoed pretty extensively, and I must say it looks really nice. As a developer working in sitecore editors/tools can cause some frustration because things naturally aren’t as fast as when you work in Visual Studio. The really good news is that they are really serious about it, and they are even building in features that do not exist in sitecore itself. So quick and easy ways to edit metadata, build templates and do layout assignment was demoed, with the speaker making a point out of getting us to applaud him so they could hear it in the other room at the sales track.
“Sitecore Stuff” which is a library of enhancements that contains a bunch of different reusable things like validation roles and Visual Studio templates also came up and they recommended us as developers to participate in evolving the library.
Lastly they gave a very very quick run-through of the commerce offerings and the Email Campaign Manager. The ECM is the smallest component they have for sitecore, but it looks like it has the basic stuff you need to handle email campaigns so that’s all good.
Technical deep dive of commerce offerings
After a quick bite to eat I went to the sitecore office for the deep dive which was in more intimate surroundings. Now the subject was the commerce offerings which we were about 14 people who was invited to hear about.
The commerce offerings are divided into two products Sitecore Ecommerce Fundamentals Edition (SEFE) and Enterprise Edition (SEEE). Although it might seem it is just a full-blown and a limited edition of the same product it is not at all. SEFE is build for sitecore, where SEEE is a system developed by insite that is plugged into sitecore.
Shortly put the SEEE platform has more features, and also has an API for doing integration to an existing ERP system. SEFE is really for the sitecore user who needs to start with commerce.
I have to be honest and say upfront that I was not impressed by either platform, because it was very apparent from the talk around the table that they are both very hard to extend, and there is close to no documentation on how to get things done. A guy at the table said that his experience was that just pulling a list of products had been a hard task to accomplish. Nobody in my experience uses a commerce platform as is – so extensibility is key in my book.
Both sets of API’s allow you to change components because they are build using Unity and Castle Windsor respectively – with SEEE very oddly being moved to use Unity as well in the future. Using an Inversion of Control Container alone is not really enough when your only help to gain insight is using Reflector, and the API is not exactly selfdocumenting.
A big sticking point is that for SEEE the editor is an Adobe Flex application that you open from within sitecore. So it cannot be extended – period! So the Enterprise predicate does not involve extensibility, but just that you get more features out of the box. Also the design of the application just doesn’t quite feel like it fits – which makes sence, because it wasen’t built for it to start with.
Both platforms give you some basic features you would expect in a commerce product; maintaining product hierarchies, handling shipment, checkout, payment and all that stuff. They are however structured quite differently in the two platforms.
One thing they have in common is that both platforms require your products to be created as items in sitecore, mainly for the purpose of supporting OMS. It was said that you could implement something yourself, but reading the facial expression of the speaker I don’t think it’s really an option in a real project with a budget.
Having all products become items in sitecore comes with its own set of challanges besides just maintenance, since there can be a limited number of products under a given item. So you need some structure that will handle this, which in turn will complicate navigation and gaining an overview of the product hierarchy. This along with product maintenance in a UI that was build for a CMS made me feel that the products have a fairly long way to go.
So all in all it feels to me like it is commerce being forced into sitecore. Personally I am skeptical of using tools for something they were not built to handle. So I would consider a different approach like building something custom and using sitecore for what it is really good at – content management. The selling point is OMS, but I would love it if focus was put on making it easier to integrate with OMS instead of pushing everything into sitecore. At least thats my two cents.
Christian Holm Nielsen