A Drupal guy in a Sitecore planet

Human heart

Human Made

Even though our history has been with Open Source CMSs (mainly Drupal & Wordpress), recently we have expanded our knowledge to Sitecore as well.

The difference between Drupal and Sitecore is big. They have a different approach, market & technology underneath. But in terms of solution, they are both within the same capability range. In my opinion Sitecore is a bit more of a turnkey solution, and Drupal goes for the DIY approach. Both have their own strengths and weaknesses, and I was surprised to see how mature Sitecore is. But that's easily explained, they both have 20+ years in the market.

In this article I will cover Sitecore's two offerings (cloud & platform), and share some of the details behind each of them.

Sitecore Cloud

Sitecore Cloud or SaaS DXP is their new cloud service which can be used 100% online. It takes the proven features of Sitecore XM and repackages them to be easier to use while it frees you from running your site.

As with all cloud service options you will lose some level of control, but you are also spared from a lot of hassle. Backups, upgrades, scaling, dealing with module upgrades, and more becomes something for Sitecore to worry about. This will let your team focus on using & styling it, plus it will reduce your training requirements. Which in most cases is an excellent deal and helps you focus on your business instead of technology.

Another big change is the move to a headless architecture. You can use Sitecore Next.js integration library to build your site, this framework has become popular and keeps being adopted more and more. Your team is likely to welcome working with Next.js, but your data will be still safely kept within Sitecore. This means you'll have less exposure to proprietary technology and be able to use popular frontend frameworks and approaches. And it uses a completely new visual authoring paradigm called Sitecore Pages, this allows users to manage sites in a more visual way.

It is interesting to see the way their cloud solutions are offered, instead of dealing with each extension modules you have 3 clouds:

  • Content Cloud: Classic one, you edit your content, publish it. What you would expect from any mature CMS.
  • Commerce Cloud: The ability to run your ecommerce integrated with your CMS.
  • Engagement Cloud: Everything you'll need to drive & manage your marketing campaigns.

In my opinion this new option makes Sitecore much simpler to adopt and helps turning it into a true turnkey solution. Plus with the new Jamstack/Decouple architectures becoming more popular for web design, this version lets you keep the best of both worlds.

Sitecore Platform

Sitecore Platform (or XP) is their original hosted offering. You license the software from them, and run the site on your own servers. This is much more involved, but depending on the size/needs of your organization you might need/prefer to use this option.

Architecture

As I mentioned Sitecore has 20+ years of development, and is currently on its 7th major version. It runs on .NET, and the core has been rewritten from scratch to take advantage of the improvements made in ASP.NET 4.5. It was built with the MVC model in mind, and there are lots of functionality that can be added by modules. Plus if you need to do something custom, it contains 1300 classes and 5000 methods that you can use to extend it.

The system includes a robust desktop interface governed by a customizable role-based system. This desktop closely resembles the appearance and functionality of a Windows desktop, providing a user-friendly experience for those who are new to Sitecore.

Technology

The CMS itself is built out of three databases (DBs), the desktop admin UI and the web application to run your site. The DBs which the system uses are:

  • Core database: Stores membership management information, handles system settings and holds the entire configuration for all applications in the CMS.
  • Master database: This holds all your content in an editing stage. All versions, previews, translations... Everything related to your publishing workflow lives here.
  • Web database: It only stores the latest live version of each part of the site. This is used to run the live site and is the only DB you'll need on the production environment.

Sitecore content is organized in item folders which give the site a hierarchical organization. It has the main categories of content, media & layout & templates. Everything existing in the content tree is regarded as an item, making it accessible for querying through the API. This is true for pages, images, PDFs, and so on. Sitecore API is powerful, gives flexibility, you can use standard .NET web forms, XSLT or MVC.

One place that shows the tight integration between Sitecore XP and .NET framework is the layout folder. In it you'll find ASPX "layouts" for the web application. Layouts are combined with multiple sublayouts to build pages.

This means Sitecore is highly customizable and extendable, allowing almost any aspect of it to be overridden or extended. As Sitecore employs dependency injection underneath, you can substitute any of the default Sitecore classes with your own. This allows you to extend or even entirely redefine the functionality of the default features.

Extensions

  • Personalization: Allows you to customize content based on explicit and implicit visitor's information.
  • Experience Profile: This module lets you monitor the behavior of contacts that have interacted with your website.
  • Experience Database: Collect and leverage customer data to drive personalized engagement. Using xConnect you can grab data from anywhere and store it in a single place.
  • Search: Even though it has an internal search, custom out-of-the-box option is no longer recommended and it is common to see the use of SOLR instead (as it happens with Drupal).
  • Commerce: This is an external solution that you can integrate, it doesn't come out-of-the-box.
  • Email Experience Manager: Another extra module which you can choose to add and integrate email marketing, newsletters, subscriptions, etc...

Conclusions

I hope this article helps you to understand the difference in offerings and focus of each Sitecore solution. The choice is either to focus on market technologies and use Sitecore as a storing solution (Next.js + Sitecore Cloud) or to go down the rabbit's hole and get deep into their technology.

As you can see here, they have very comprehensive solutions and they try to cover as many of your needs as possible. They do that on both services, the difference is where you apply your flexibility.

Would love to hear your comments or reach out if you have any questions.