• In #TECTalksIT

    Sitecore v Kontent.ai

    Which way to go?

    When analyzing the right Content Management System (CMS) for a client brief, two industry heavyweights that often enter the conversation are Sitecore and Kontent.ai platforms. The two platforms underpin almost 30,000 websites globally, and both offer the advanced content management systems needed to power the online platforms and marketing initiatives that medium-to-large-sized businesses need.

    There are some key differences – most notably Sitecore as the more traditional, coupled solution versus Kontent.ai, a cloud-based headless CMS started by Kentico – but the similarity in capabilities is such that agencies need to carefully evaluate both the needs of the clients and their end users. They must analyse the benefits and limitations of both, in order to make the best recommendation.

    To help with that evaluation, we spoke to our senior development team to get their take on how the two software platforms compare. We picked their brains, delving into their extensive experience across both platforms from working with the likes of Royal Canin, Safestore and The R&A, looking at a range of criteria. This is what they came up with…

    Functionality

    Functionality is perhaps the biggest point of difference between the two CMS solutions.

    Think of them as two Porsche 911s (other sports cars are available!). Sitecore is the latest model, fully laden with tech and functionality to aid the driver’s experience, but only part of this is focused on making the car go faster. Kontent.ai is the same model of car but stripped of all but the essential functionality – anything that might weigh it down – so it is optimized for the primary purpose of being fast.

    Being coupled to the front end, Sitecore’s CMS solution offers loads of built-in digital marketing and analytics to help the client’s marketing efforts, whereas Kontent.ai is designed to focus on the primary task of providing a platform to create, store and distribute content. It can integrate with other tools to provide the same level of analytics and digital marketing support, but it is worth bearing in mind that the client needs to have these other tools in place – or be willing to invest in them.

    Sitecore provides a whole digital ecosystem, and if this is what a client needs, if it doesn’t have solutions for things like marketing automation and analytics in place, then it can be a perfect solution, but it can also offer more than a client needs. It can be like paying for the whole toolbox when all you need is a screwdriver, so understanding the client’s objectives and resources is a key component in choosing between the two.

    Cost & scalability

    Understandably, with added functionality comes additional cost. It is no secret that Sitecore is a more expensive tool, but for many businesses (almost twice as many globally use Sitecore compared with Kontent.ai), the additional cost is worth it because of what it provides. That said, if the added functionality is not needed by the client, then switching to Kontent.ai can offer real cost savings – something all clients like! We helped The R&A do just this when working on their new website – Sitecore was the incumbent CMS, but they were only using a fraction of the platform’s functionality, so by recommending they switch to the more streamlined option in Kontent.ai we helped them achieve significant cost reductions.

    Another facet of Kontent.ai that led us to recommend it to The R&A for randa.org, and which also helps with cost savings, is their consumption-based payment model, based on the number of calls made rather than a set license fee. The model Kontent.ai offers means that The R&A’s infrastructure fee fluctuates based on traffic, keeping the overall cost down. This model is ideal for elastic scaling where a website encounters significant seasonal variations in traffic levels; in the case of The R&A, randa.org obviously receives huge spikes in visitor numbers around the time of golf tournaments like The AIG Women’s Open and The Open Championship, with traffic tailing off afterwards.

    It is worth noting that the consumption model can work the other way too. Suppose a client expects a steadily growing, high level of traffic. In that case, Sitecore can be a better option, with additional investment over and above the license fee only required if the traffic levels get to a point where the hosting infrastructure needs to be upgraded. 

    Also, if the client plans to roll out different versions of a website – for example, in other languages – then Sitecore can be better suited as they would all be covered by the one license. Kontent.ai does offer a limited number of language offerings out of the box, which does, in fairness, cover the key global languages – but if you are working with a business that is looking to scale up in the Nordics or the Middle East, then with Kontent.ai you would be paying for each additional site.

    Performance

    In terms of speed – like with the Porsche analogy – both are quick, but with its streamlined service offering, our team have found Kontent.ai to be a little quicker. With all the added functionality and its connection to the front end, users will usually tolerate the reduction in speed – which is not significant – that Sitecore provides, but for those who need their Sitecore platform to be that little bit faster, the clever people in our DevOps team have found a way to fine-tune the system and make it turbo-charged!

    Working in conjunction with Akamai as the Content Delivery Network, we were able to achieve increases in performance for TheOpen.com by optimizing content size and format, and the website’s code and architecture, to reduce load times. We also enabled caching for frequently accessed pages to improve response time and increased the size of the Sitecore databases and indexes to improve query performance and reduce the load on the server.

    Customization

    From a developer’s perspective, the user experience with Kontent.ai is much easier because of the freedom and flexibility it offers; being decoupled from the front end, you are not restricted by the technology you can use, meaning you can build in precisely the way you want, using the tools, libraries and frameworks that you want rather than having your toolkit forced upon you.

    The coupled v decoupled aspect also impacts the cost implications of customizing the front end of each solution. With Kontent.ai, if the client wants to change or update their website, then you just need to change the front end, and the CMS stays the same. With Sitecore, however, they would need to change the back end and the content structure as well, which would involve more resources and investment.

    Support & Security

    Both providers offer pretty comprehensive support packages. However, being the more mature of the two, Sitecore has a great depth of community-driven support materials available, which can prove to be very useful, especially when trying to configure its many different out-the-box functionalities.

    It is a similar story in terms of security. Both offer a level of security that is sufficient for most businesses, with Sitecore offering the potential to go that bit further if needed: as in most cases when using Sitecore, you need to manage the hosting infrastructure yourselves, which means you have opportunity to enhance the security levels yourself whereas with Kontent.ai you are reliant on the provider for managing this element.

    To couple or not to couple…

    Many of the differences identified here stem from whether or not the CMS solution should be headless. Interestingly, Sitecore actually tries to position itself as a true headless solution while questioning the benefits of headless solutions in the conventional sense. It has been adapting elements of its offering to bring elements of its service in line with headless solutions like Kontent.ai.

    The rise of headless solutions was built on a combination of improved choice and improved connectivity and is symptomatic of a wider shift in societal behaviour. Where once we had to turn to one of a limited number of providers to cover a multitude of products or services, the growth of online technologies has increased the opportunity for competition, driving down costs.

    For example, let’s think about the travel industry; once upon a time, you had to go to a travel agent to source to book the different elements of your holiday. Whereas now we think nothing of sourcing accommodation, travel and activities from different providers who each offer the service we want, connecting the different elements to deliver the holiday we want for less. So too, with technology. Today we see customers expecting to consume content across a variety of devices and formats, and this has enabled businesses to focus on building tools that serve specific functions really well, knowing that these functions can be connected as needed, through APIs, to provide the service the client wants for less. Sitecore is acknowledging this trend opening its solution to a wider market by splitting some of the elements of its service offering.

    In summary 

    With its coupled solution and array of functionality, Sitecore makes an excellent choice for larger enterprise clients looking to upgrade their digital platforms and the marketing benefits they offer to their businesses.

    With the greater flexibility Kontent.ai offers with development and pricing, by way of being a headless CMS, it can be a better choice for mid-large businesses, particularly if they experience seasonal traffic spikes or have specific tools in their digital ecosystem that cover other essential marketing and analytical tasks.

    Sitecore Kontent.ai
    More mature  Newer to market / less established
    More functionality – including digital marketing & analytical tools  Less functionality – focuses on content management and can easily integrate with third-party marketing and analytical tools
    Provides a whole digital ecosystem  Provides a component of the digital ecosystem
    More expensive  Less expensive, consumption based
    Slightly slower (although TEC can fix that!) Slightly faster
    More complex to customize/integrate with other software  More flexibility/freedom to work with other software
    Great for steady traffic growth  Great for traffic spikes
    In-house infrastructure-managed – giving more control but meaning more resources are needed.  Infrastructure managed by Kentico – less control but fewer resources needed
    Site changes/upgrades need to involve both frontend and backend work  Site changes/upgrades only need frontend work
    Slightly better support and security  Good support and security

    TEC has skilled and experienced engineers who can work with you to supplement your development team, providing essential resources at attractive nearshore rates, whichever CMS you decide is best suited to your client’s needs.

    Whatever your digital challenge, we’d be happy to discuss how we can help.


  • In #TECTalksIT

    Our Kentico Kontent Journey

    Having a customizable site is always a key requirement for our clients. We have always enjoyed working with content management systems. This approach is helping us to create complex and interesting customizable components instead of spending precious development time with small and very frequent content changes.

    Our Kentico Journey - TEC: Digital Agency

    Working with a CMS is highly efficient and easier to maintain for dynamic websites for events and the ever-changing sports industry.

    At the start of every project, we evaluate which CMS is better suited for our clients. For some projects, Sitecore was preferred for complex and interesting features, for others we decided that we should choose Kentico Kontent, a headless CMS perfectly suited for lightweight websites that are mostly based on the React Js code with a small necessity of .Net APIs.              

    We started a series of projects with Kentico Kontent recently. The good collaboration and smooth integration with React JS and .Net resulted in fun and interesting work for our engineering team.

    We created simple clean websites that load fast and have the advantage of customizable content edited in Kentico Kontent. This includes every label, every description text, image, and even the elements that are displayed on each page and the pages themselves.

    This website also takes advantage of custom forms that can be added in a popup or new page with customizable actions on submit and different types of fields.

    Kentico Kontent offered us the opportunity to get certifications and provided detailed and well-written documentation as part of our collaboration. We now have several colleagues certified as Kentico Kontent developers.

    It is a good feeling to find the appropriate technology and CMS that covers the projects you work on and Kentico Kontent for us was a very good choice. Therefore, we continue developing with Kentico Kontent new projects and interesting features for our clients.

    Custom Form in Kentico Kontent with React

    One of our key challenges was to create a customizable form that can be created from Kentico Kontent dynamically and added anywhere in our React Website. We started with a few field types suited for the minimum necessity of the project at the first release and we needed to leave the option to add as many complex and interesting field types, as necessary. We needed this form to be edited, transformed, and do a vast set of submitting actions without having to deploy our code or have advance technical knowledge.

    This is how we decided to model our content:

    How are we going to open a custom form?

    We decided to open the custom form in a popup using a button inserted dynamically on the website.

    The button has a separate content type containing a button Label and the linked item Custom form to open, which is mandatory and must be exactly one item. This is the form we are opening when clicking the button.

    Custom Form Opening

    In React we associated this with a component we have, a button, that is opening the linked Custom form in a modal.

    Modeling the custom form

    The final form should be able to look like this one:


    Title

    Title description

    Section 1 name

    Section 1 Description

    Field 1

    Field validation1

    Field 2

    Field validation 2

    Section 2 name

    Section 2 Description

    Field 3

    Field validation 3

    Submit button


    As you can see the form has multiple sections, with or without title and description, also it has multiple configurable fields dynamically added in sections.

    The custom form is a dynamic component having the following Kentico Kontent setup:

    Custom Form Content-Type:

    Title – required text

    Description – rich-text

    Sections – linked items to Form Section Content-Type with at least one item

    Callback action – linked item to the exactly one Callback Action Content-Type

    Submit button text – text required limited to 100 characters

    Success message – text

    Should send confirmation email – multiple-choice check box with one value stating a Boolean option to send a confirmation email to an email field if it is present in the form

    Email template – text containing the id of the email template for confirmation emails (if necessary)

    Form Section Content-Type

    Title – text

    Description- rich-text

    Style – required used to color the section in different colors

    Form fields – linked items of one or many Field Content Types

    Form fields

    Kentico Kontent allows you to select any from a list of predefined content types and this is how we render different fields that have complex functionality.

    To not repeat a few common settings for each field we use a Content-Type Snippet. This brings together some settings such as Title, Description, and validation expression in regex, the setup being used for all custom fields.

    To submit the form we use Callback actions. This submits the entire validated submission object, containing all fields with their values to a specific API. We gave the option to set up the callback URL from Kentico Kontent. The callback we are using sends an email to a specific address with the form details but you can set up the API to save data or process it however it is needed. Multiple options can be created for different APIs and the content creator can choose the one appropriate.

    This is an overview of how to implement the content modeling for custom forms in Kentico Kontent.

    The solution has a React Js solution linked for processing, interpreting, and designing the custom form feature. Another .Net solution is providing the API for processing the submission data.

    I hope you got inspired by our custom form implementation and if you have any more questions we are happy to respond to them.

    Anca MATEI Software Engineer