On 22nd February 2018 I tuned in to Sitecore’s first ever Virtual Developer Day. In-between the various Q&A sessions and periods of hold music from Mozart were a collection of very informative presentations from prominent members of the Sitecore community. Rather than simply repost the content they covered, I thought it would be interesting to look at what the future may hold based on the talks I watched.
The Sitecore infrastructure topology will become increasingly complex
Here at Redweb we have already started upgrading some websites to Sitecore version 9, and although it mostly looks the same to the content editor, the changes under the surface are quite expansive. This increasingly complicated architecture resulted in Sitecore creating an entire framework to install the Experience Platform. This is what Thomas Eldblom outlined in his talk about SIF (Sitecore Installation Framework).
He explained why it isn’t as simple to install Sitecore now as it was in the good old days. What could be achieved in the past with a simple zip file, a step by step exe file, or the gloriously simple SIM tool now requires the developer to configure powershell scripts.
The reason that this is required is because Sitecore is transitioning to a microservice architecture. The main benefit of separating services, for example the publishing service, is that it allows them to be scaled independently based on the client’s needs. Unfortunately, this decoupling of components results in a more complex installation process, hence the need for SIF. More and more of Sitecore will be refactored into microservices resulting in a more nuanced topology where SIF will become more and more important.
The number of projects in a solution will become vast
Helix, the Sitecore best practice approach to solution architecture, is becoming mainstream and one of the most noticeable changes from the traditional model is the sheer number of projects included in a Visual Studio solution. The approach has had some pushback from the community because of this, but in his presentation Richard Hauer reasoned that there should actually be more separation!
Helix relies on strict adherence to a few principles – mainly regarding the dependency of some components on other components. As well as the standard foundation/feature project and test project Richard adds an ‘abstractions’ project; this new project contains only interfaces and model classes, not any concrete implementations. The extra condition he adds on top of the standard Helix rules is that projects can only reference the abstraction assemblies. If this convention is broken it is easy to find, and a potential coupling issue could be resolved.
I think this is a nice idea, and if it gets traction then the number of projects will get even larger. Richard said that one of his solutions has over 200 projects! This could make Visual Studio sluggish, but luckily Visual Studio 2017 has performance improvements for large solutions.
We’ll stop building the same things over and over
Now that Sitecore finally has a best practice for creating websites, prebuilt components are starting to appear. Sitecore themselves are creating these, and although Habitat is only meant as a guide, SxA (Sitecore Experience Accelerator) is designed as a basis for real websites. SxA contains a lot of common content components and is designed to speed up the time to market for a Sitecore site.
Rob Earlam talked about how SxA has been extended to provide similar benefits for Sitecore Commerce. SxA Storefront for Commerce 9 provides over 40 components out-of-the-box and it is very easy to create a B2C website in a short amount of time. Basing a commerce site on this allows more time and budget to be spent on the interesting things that differentiate your site from the competition.
Sitecore will begin to consume more data from outside the website
Although Pete Navarra spoke mainly about the new forms designer in Sitecore (which does look nicer) the thing that caught my attention was his observation that xConnect opens the door for reporting data from anywhere.
xConnect is a service layer that connects Sitecore to xDB. In the past Sitecore connected directly to the MongoDB store. Now that xConnect is a separate entity it is easier to connect to it from different systems. Later in the day Robert van den Boorn covered xConnect in depth and showed how deeply it could be integrated into a company’s system. As well as business process possibilities this could allow for some very interesting IoT (Internet of Things) implementations in the future.
Sitecore will continue to expand into omnichannel delivery
The Sitecore Experience Platform is a powerful tool for making decisions based on editor inputted content and the user data captured in xDb. In a light-hearted demonstration Rob Habraken created a robot that told an appropriate joke to a person based on their perceived gender. The gender was worked out using cameras and Microsoft’s Cognitive APIs.
The main decision engine was all in Sitecore though and is theoretically quite simple. A simple Sitecore site was created, and in this site jokes were entered as content items. In a page layout personalisation rules were set up to select different jokes based on different profiles.
This rather silly example brilliantly shows how powerful Sitecore can be; just imagine storing your content in Sitecore and accessing personalised data via the website, an app, or even Google Home or Amazon Echo. With an intelligent centralised content store at your disposal, the world is your oyster.
Every year Sitecore is becoming more and more advanced and has turned from a simple CMS into a powerful product that can be used to drive a lot of the customer interaction for a business. Over the coming years a company that buys into the Sitecore vision could find that they provide a fantastic user experience, targeting the customer with appropriate content not just on websites but on a variety of devices.
Developers will find that the code they are writing is more organised, and can hopefully be used in multiple places. This reusability from project to project (SxA & Helix) or from device to device (JSS) will be vital in providing a cost-effective way to target a large variety of different information outlets.
Sitecore isn’t just a product for making websites anymore, Sitecore is a product that allows you to pool all your knowledge about your customers, analyse it, and speak to them in ways that suit them best. If you would like to learn more about how we can help you use Sitecore to its full potential get in touch: firstname.lastname@example.org.