Using Magnolia in headless: Incremental migration

Published on June 28, 2017 by Jan Schulte

Magnolia makes headless work for enterprises. It solves the seemingly difficult problems, such as workflows and personalization, and provides a rich and robust feature set. In this blog post, we look at how Magnolia solves issues with legacy back-end systems through incremental migration.

Photo by Scott Webb on Unsplash


Challenge: Committed to an inflexible CMS

Here’s a typical scenario: Let’s say your enterprise has invested heavily in an in-house content management infrastructure. This infrastructure has become inflexible over time and no longer meets your needs.

You struggle with the growing pains of home-grown systems. You need a developer for most changes to content and can’t leave this to content editors. Your system is so slow that it takes over an hour to publish even simple changes. You don’t have all the essential features that modern-day systems offer, such as personalization, content translation and campaign management, workflows, etc.

The situation is painful and you’re losing opportunities, but you just can’t undertake (or risk) a complete migration to a better solution at the present time. Often, this is because you’re tied to some business-critical elements of the system or you simply lack the technical resources to take on a complete migration.


Solution: Incremental migration with Magnolia

Why not use Magnolia to fill the gaps and solve the problems that your current system can’t? Any content system can include pieces of HTML content from other sources.

This means that you can incrementally migrate content from your current system into Magnolia, and then use Magnolia to render chunks of HTML content that can be included by your existing CMS.

This gives you a flexible content management system that provides personalization, workflows, campaign management, etc. without having to fully re-implement your current infrastructure. You also set yourself up for easy migration in the future.


A practical example

Now let’s get down to details. Let’s say you’re using an e-commerce system that included a built-in CMS. Initially, the CMS was quite useful. It got you up to speed quickly and meant that you didn't have to acquire or deploy a separate system. It served your needs initially, and you manage a lot of content with it.

However, now that the site is a success, the built-in CMS is difficult and expensive to manage, and doesn't provide the features needed to run campaigns, create personalized experiences, re-use content, rapidly publish new content, etc. What you want is to be able to create new landing pages quickly, manage fast-changing banners and re-purpose content you already have.


What you can do

  • Create content pipelines in Magnolia that solve the major pain points that you have with your current systems.
  • Build templates (or content apps) in Magnolia that match the structure of content that you need to migrate out of your current system.
  • Copy the content from your current system to Magnolia, either manually or automatically or with some combination of both.
  • Replace the content in your current system with content managed by Magnolia using include mechanisms like jsp or dynamic includes.
  • You can do this incrementally and get instant results.


The benefits

  • You don’t have to do a complete, “do-or-die” migration. The process is low-risk, controlled and incremental.
  • Your editors and shop managers can use a robust and mature enterprise CMS to manage content and campaigns, and can now access features like personalization, translation features, workflows, etc.
  • You can re-use the content in other channels (like mobile apps, kiosks) and publish through matching formats such as JSON or XML.
  • You don't disrupt your existing infrastructure (or business) and you don’t have to re-implement the entire system.
  • This provides an excellent base for future migration of the system. You have an open, modular architecture that allows you to adapt it to meet your current requirements and future demands.



{{item.userId}}   {{item.timestamp | timestampToDate}}

About the author Jan Schulte

Jan Schulte is a Magnolia consultant. He joined Magnolia 2013 after working for various big IT companies as a consultant, software architect and team lead. He is supporting customers in all kind of tasks and projects. Additionally, he is also regularly involved in pitches and is currently driving Magnolia's Internet of Things initiative. He has 8 years of Java, web development and consultancy experience.

See all posts on Jan Schulte