Sitecore Technical Debt .

Sitecore OTE

I recently worked on a migration from Sitecore 6.5 to 7.2 for a website built by another agency. Every migration you do is always a bit different and this one proved to be the same. Though this one highlighted for me the importance of good design principles from the get go.

The biggest problem with upgrading from Sitecore 6.5 to 7.0 as every Sitecore professional knows, is the search. If it’s built properly using proper design principles you should be able to pull the old search module out and plugin the new one on top.

For instance our in house one is in a separate project with clearly defined interfaces and objects. We try very hard to make sure our code knows as little as humanly possible about Sitecore search. Because if it’s changed once, it will change again, that and the fact it’s just good practice.

This one was pretty much the exact opposite of that. The search was split across multiple files, meaning you have to go through every file by hand and swap out the old search code with a new centralised search system.

Imagine copper piping running through every wall in your house and asking someone to remove it and install something new. Quite a time consuming and heavy going task, for even the most hardened of developers.

The other issue we encountered was migrating content, Sitecore serialization is quite frankly awesome. We can migrate config and content between instances without any problem at all.

I’ve migrated entire sites content from one version to another without the slightest issues on our own code base.

The problem we encountered was strange, it appears that when migrating content the renderings field responsible for presentation was getting butchered. You could compare the old field and the new field and see they didn’t bare any resemblance. It was also effecting the published flags causing unpublished content to come back online.

That was quite a head scratcher and I imagine most, if not all Sitecore developers reaching for the Sitecore Support portal! As it turned out the cause appears to be the code we inherited, specifically a file overriding the event handling for publishing.

It’s certainly something I will watch out for on future builds we inherit from other agencies.

WeBlog is a Sitecore module for providing a blogging system for Sitecore.

https://github.com/WeTeam/WeBlog

To get it running on 7.2 we had to upgrade it to the latest version. The latest version still contains this bug.

https://github.com/WeTeam/WeBlog/issues/64

special chars in the comment box causes Sitecore to error. You have to restyle any file in Website\layouts\WeBlog that was styled and gets overwritten by the update. You will also encounter this unfixed bug with dashes in paths

https://github.com/WeTeam/WeBlog/issues/52

As well as the weblog.config is customised to change the way items are ordered in the Sitecore tree by date. However, you need to manually combine the old file and the new one as they are slightly different. So overall WeBlog is a Sitecore upgrade nightmare and any website containing it should have several days of upgrade time to cope with the many issues it adds to a build.

I have pulled together the following information about Sitecore versions and their features which you may also fine helpful:

Product

Initial Release Date

Release Highlights

 Sitecore   9

 2017

Enhanced Headless JavaScript improves user experience of websites on mobile devices
Introducing Speak 3 improving the CMS interface and customisability
Introducing dynamic placeholders which allow developers to create modern, dynamic websites
New installation framework which makes setup much easier
Secure by deafult, services are configured using SSL certificates, including IIS, SOLAR and xConnect
Lucene search support removed so SOLAR or Azure search are to be used
Federated authentication
Streamlied migration tools make the transition to Sitecore 9 the easiest yet
Cortex machine learning
Purpose built forms including drag and drop functionality
Improved marketing automation for emails also including drag and drop functionality
xConnect APIs allow XP to integrate with xDB
New Experience Cloud

Sitecore
8.2

 2016

Content Foundation improvements (Dependency Injection, Caching and Performance)
Support for the Publishing Service (installed separately)
Support for Express Migration (installed separately)
Enhanced Experience Editor features
Marketing Funnels
New Experience Analytics reports and charting
Improved Content Testing UI
Enhanced Path Analyzer component
Sitecore Experience Accelerator (installed separately)

Sitecore 8.1

2015

Fully integrated Device Detection features
Fully integrated IP Geolocation features
Enhanced Experience Editor features
New Experience Analytics reports and dimensions
New SPEAK components and improved SPEAK component framework
New Language Fallback features
Marketing Foundation improvements
Improved Content Testing UI
Integrated Campaign Creator
Improved Path Analyser components

Sitecore 8.0

2015

A new cross-platform visual design for the Sitecore client interfaces, applications, and modules
A redesigned Sitecore login screen
A redesigned Launchpad which is now available to all users
New Marketing Foundation features
A new way of centrally managing marketing taxonomies and classifying marketing definitions
A fully integrated Federated Experience Manager (FXM)
List Management as an integrated part of the platform
New SPEAK components within a new SPEAK theme
Enhanced Experience Analytics
Enhanced Experience Profile features
Automatic content testing and optimisation reporting
A new Path Analyser component
Full UTC support across the complete platform
Versioned layouts – a different presentation set on different versions of different languages for the same item

Sitecore 7.5

2014

Introduces the Experience Database (xDB)
Experience Profile (xProfile)
The Sitecore Tag Management client library

Sitecore 7.2

2014

Improvement in publishing, SPEAK, Item Bucket, Sitecore.ContentSearch
DMS Improvements
Support for IE 11, ASP.NET 5.1

Sitecore 7.1

2013

Browser enhancements, IE Compatibility view mode support removed
SPEAK UI, SPEAK Dialogs
Sitecore Item Web API, Supports ASP.NET MVC 4
Rules Engine Improvements

Sitecore 7.0

2013

Data Sources Improvements, Support for running Sitecore on Windows Server 2013 and Windows 8
Buckets
Search screens in the Content Editor, Page Editor and in many dialog boxes
Sitecore.ContentSearch namespace
Content Tagging/ Faceting

Sitecore 6.6

2012

Device Simulator Page Preview service, Native MVC Support
Page Editor Improvements, RTE Upgraded
Sitecore Now using Lucene.NET 2.9.4
Support for SQL Server database mirroring
Improved Executive Insight Dashboard

Sitecore 6.5

2011

Efficient marketing and engagement automation, Measures value and efficiency, Improves real-time personalisation
Provides dashboards and improves report readability
Automatically classifies visit origins
Increases performance and Scalability
Foundation for CEP, Supports DMS == OMS2

Sitecore 6.4

2010

RTE Upgraded, .NET4, ASP.NET MVC Compatible
Clones and Notification Engine
Page Editor and its extensibility improved
Layout deltas
Cross-Browser support

Sitecore 6.3

2010

Supports load-balancing content management
Eliminations the staging module
Improves horizontal scalability
Sitecore Azure

Sitecore 6.2

2009

WebDAV and the File Drop Area field type
Word Document field type
Public and Sitecore Client RSS Feeds

Sitecore 6.1

2009

Added Rules Engine, Fields Editor, Edit Frames
Foundations for OM (DMS)
Rendering parameters templates

Sitecore 6.0

2008

Replaces masters with standard values
Replaces Web Edit with Page Editor
Eliminates the Security, Extranet, Arhieve and Recycle Bin Databases
A Proprietary security implementation is replaced with the ASP.NET membership model
Improvements to the Content Editor

Sitecore 5.0

2007

Added extranet, security, core, archive, recycle bin databases
Workflow
Layout grouped with devices
Sitecore Desktop and Sheet UI Technology
Single API for CM and CD

Whatever your business, be it a regional or global brand, the content you produce plays a vital role in your success. You know that… hence you’re reading this.

A well formulated and executed content strategy not only drives more traffic, at the core, it defines what your business is and helps build a strong connection between you and your audiences.

So let's quickly look at why developing a coherent content strategy is important and how setting clear goals and understanding your audience will elevate your online performance. 

What is a Content Strategy?

It's basic right? Content is at the core of how you define the way your business presents itself and an effective strategy should look to ensure that tone of voice, messaging and the core values are surfaced across all channels, from service or product pages on your website, to blog posts, through social media updates blah blah blah.

But let's keep it simple - your content strategy should be a clear roadmap that connects your marketing activities to your business goals. Align to your customer’s wants and needs and engage them at every interaction point and boom, you're in business. 

Who are my Audience?

You likely start all your projects with this chalked on the wall because your business knows “exactly” who its customers are right? Sounds obvious but we often find its not been done forensically enough (not based on data), is too old (more than 12 months ago - forget it) or its a spin off from some brand work that was legitimately aspirational but doesn’t face the reality of who you your business is actually engaging today.

So start (or circle back) with audience research, building out those personas to understand their ambitions, their lifestyle, their pain points or concerns, and crucially their wants and needs - in your context. 

Do I need to tailor content?

As part of your research find out where your audiences spend their time online and how they interact with content: Some may spend time thoroughly researching a product or service, whereas other audiences may want their content to be quick, snappy or easily digestible in the form of a video, infographic or short blog posts.

 

Ultimately, the key is to produce a strategy that creates the type of content your customers want to see:

  • What are the problems that your product or service will help them solve?

  • Who are they most influenced by?

  • What voices influence their behaviour?

  • What type of content do they consume?

  • Where do they consume content and engage with brands?

Different Content, Different Objectives

 All content is not born equal: When producing your strategy, it is important that the objectives for each individual piece are defined, that these fulfil your marketing objectives and tie to the overarching goals for your business.

There are various content frameworks that exist to aid content development in this way, but one that is popular and effective is Google’s hero, hub and hygiene method: It provides a framework on developing content to achieve different goals and gives guidance on the effort needed to create each type of content.

Hero Content

Hero content is essentially campaign content, it is big splash ideas designed to appeal to a large audience with the aim of telling your brand’s story at scale. 

Ways of measuring hero include the amount of PR mentions or links from authoritative domains plus social interactions and mentions of your brand across all channels. 

Considering the scale of hero campaigns, this content is not regularly produced and is reserved for peak promotional times where it’s important for a business to stand out from their competitors.

Hub Content

Hub content is the stuff that keeps your audience engaged, it expands on the themes of product or service level content, educates users and helps create a connection between themselves and your brand.

Hygiene Content

Hygiene content is the bread and butter of any website, it is the BAU content for products and services, it is SEO focused and targets important keywords at a product, service or guide level.

How do I manage all this?

Content development is only one part of the ongoing work needed when working with an effective content strategy. We call it “feeding the beast” because it really is the fuel in your brand vehicle and once you start you really can’t stop (if it’s delivering results) but that’s where performance measurement comes in.

Your greatest gift in managing the outputs from your hero/hub/hygiene style efforts is to understand If your content is working. To truly deliver results your business must first understand the objectives and goals of each piece of content to effectively measure its success. That as a guiding light from day 1 will let you slow down, speed up, stop or start new content briefs and projects.

Remember - content strategies are not set in stone. They are living breathing things and should adapt and pivot as insights become available and your brand naturally evolves.

If ever you want to chat content and explore new initiatives we’re always here to help.

want to speak to one of our experts?

 
Richard Brisley
Richard Brisley
Tech Lead
Richard is the longest standing member of the Sagittarius team, he works tirelessly to support the development and side-facing team with problem solving and pitches alike. His skills as a .NET programmer and database administrator have been paramount to the success of Sagittarius and our continued success. 

In 2016 and again in 2019 Richard was recognise in the BIMA 100 awards for his outstanding work in Tech, his passion for digital and his contribution to the industry. 

Richard Brisley

Richard Brisley

01 Jul 2015 - 7 minute read
share this

stay in the know, stay ahead.

Get the latest from the agency, including news, events and expert content.
explore services in the article
find out what we can do for you
read some of our case studies