In creating Contensis R8, we have had the chance to take something that we all know is brilliant and make it even better. It’s been an opportunity to take our exciting new brand and apply it through the whole Contensis user interface. It has also been an opportunity to go back on a journey of discovery within Contensis.
Redesigned user interface
With several people working on the CMS over a long period of time, inconsistencies are inevitable. It’s been a great opportunity to get back to basics and look at every single screen. And I mean every single screen! As a user of Contensis you would never imagine that there are so many, but when we started to break it down we found there are over 300 individual screens in the CMS.
We’ve taken each one of those and we’ve looked at it individually. We’ve made slight tweaks; maybe tweaks that you wouldn’t even notice as a user. But that small difference brings perfection.
People commented that the UI didn’t need to be redesigned. But some of those same people have seen R8 and said, “I can’t believe how dated R7.2 looks now. This is amazing. It looks incredible.”
As soon as you open R8, you can see how we have used the screen space more efficiently. For example, in 7.2, the six ports on the dashboard don’t fill the screen. In R8, we record your screen’s height, the height of a row, and work out how many rows to display. As you’re working through Contensis you’ll see that items will increase in size to fill the screen, rather than wasting space.
A smarter editor
Our editor has a completely new foundation, which is TinyMCE. If you’re using a WYSIWYG editor on the internet, it’s likely to be TinyMCE. Their core is great – it actually understands HTML5 elements and HTML. It has a brain under the surface, which we’ve been able to leverage. We’ve been able to take that and add the elements that you’re familiar with like our ‘Hyperlink Editor’, ‘Image Library’, and ‘Placeholders’.
We’ve also implemented ‘Atomic Selection’. Even if you haven’t heard the terminology before, you’ll be familiar with the concept. When you click on an image, it visibly alters so you feel like you can resize or interact with it. It may not sound exciting, but it’s about usability, and this feature really makes the editor feel solid. We have gone that extra mile with R8 to make sure that it feels right across all browsers.
Intelligent HTML5 support
Another major change in R8 is support for HTML5, which wasn’t viable using the old editor. Using TinyMCE opened up that possibility. We then made our own controls respond to the doctype. Now you can go into the CMS, select HTML5 for a project, and as a result have certain parts of the editor adapt accordingly.
Another really useful thing we’ve introduced with the Editor is a different type of placeholder.
We now have an inline placeholder in addition to the standard placeholder. This allows you to insert placeholders inside HTML elements such as headings and paragraphs while retaining the integrity of your HTML. So for example, if you use an inline placeholder inside a P tag and then press Enter, you’ll get a break tag instead of a new paragraph, ensuring you create valid HTML.
While it would interest template developers, users of Contensis will just go: “I don’t care,” but that’s exactly the point of it. They shouldn’t care. They won’t see it and they won’t know the difference, it will just work better.
You might ask, “Well, what’s going to happen to my existing content in 7.2?” This brings me to my next point: the rewrite of the parser.
The parser is the brain of Contensis. The parser is what takes your content and then enables us to publish in different formats to different channels. We have rewritten it from the ground up because we’ve got big ideas for it, now and in the future. There is a lot we want to achieve and we need a solid foundation to support these plans.
Obviously, that’s a big challenge – taking something that’s already in a particular state in 7.2, then completely changing it to a different format. We had to go to the drawing board and figure out how we could achieve this. We couldn’t expect users to upgrade and then wait whilst all their content got reworked into a new format. That was not a realistic proposition. We strive to make Contensis easier to update. That is one of our core drivers. When we make improvements, we always ask “Is this going to be easy for a user to update and upgrade?”
We’ve introduced a feature called the R8 Preparation Service. The Preparation Service sits in R7.2 and actively converts your content. When you upgrade, it is just a matter of switching over to use the new content and deleting the old data that was there. We worked hard on testing this, writing a web compare tool and running over 250,000 pages through it.
The Social Media Module previously supported just Twitter. It’s a great feature as it allows organisations to govern what is being tweeted, but it was missing an element. That element was Facebook. In R8, we have extended the Social Media Module to support Facebook integration.
We’ve taken the most popular types of posts within Facebook, ‘Status Updates’, ‘Links’, ‘Photos’, ‘Videos’ and ‘Events’, and surfaced those in Contensis. Now, when you’re creating a social media post through our module, you can choose whether you want to send it to Twitter and/or Facebook.
In the future, we’re going to be looking at extending it to include even more social media channels.
Quality assurance and testing has been a big part of the process. As far as testing goes with R8, I think it’s fair to say that R8 is the most tested version of Contensis ever released.
We’ve had several people testing all of the screens in all the major browsers, finding any inconsistencies in styling and ensuring we have that consistency.
We’ve carried out over 20,000 manual tests and re-parsed over 250,000 pages of content. This is excluding all of our automated testing.
In addition to testing we have also refined our review process internally to improve code quality and knowledge sharing within the teams.
The future of Contensis
The way in which we were storing content in previous versions just didn’t give us the flexibility to interrogate that data to make the best use of it. By rewriting the parser, we’ve been able to change the way we store the data. This is all a drive towards the future – how we’ll see this interaction with our front-end API and how you’ll be able to interact with the content through Razor.
We also want to introduce the idea of packages. These packages would essentially be snippets of code which can be used to create modules or structured content. Being able to package up, import, and export these snippets will mean they can be shared and reused. This paves the way for what we see eventually becoming a marketplace where our users can share these packages. That’s what we really want to encourage here – the sharing of bespoke developments, even down to the smaller items such as new themes and JQuery plugins.
When Contensis was born it was difficult to envisage where it would be in 10 years’ time and what we would want to do with it in the future. Now we’re routinely dealing with sites that have got 100,000 pages or more.