DXA 2.0 and DD4T

For the past year, the DD4T community has worked with SDL to merge our own DD4T framework with SDL’s Digital Experience Accelerator (DXA). Our idea from the start has been to create a system that combines the flexibility of DD4T with the ease of use of DXA. With the introduction of DXA 2.0, SDL has made an important step towards achieving this goal.

But how does this affect organizations who are currently running web sites based on DD4T?

What’s new in DXA 2?

It is not our role to explain the details of this new DXA version, but we would like to point out one major change: the introduction of the model service. This is a true REST service - light-weight and with an easy to understand URL structure – which returns pages and component presentations in a new, lean JSON-based data format. One great feature of the model service is that it can resolve component links into URLs – which is one of the reasons why it’s so fast!

More to come: DXA Core

Much as we like this new DXA release, which is so much cleaner, faster and more versatile than previous versions, the journey isn’t over yet. DXA 2.0 is still a black box – it is essentially a web application that allows customization through a system of modules. Whereas DD4T is a framework – a toolkit that customers use to build their own web applications, and which is fully customizable.

DXA is a web application,  while DD4T is a framework.

DXA is a web application, while DD4T is a framework.

The end goal is to have a system that is both a framework, and a ready-to-roll application in one. This will be achieved later, probably in DXA 2.1, and it will look something like this:

Soon DXA will be both an application and a framework!

Soon DXA will be both an application and a framework!

Backwards compatibility

To provide a smooth upgrade path from DD4T to DXA 2, SDL put a lot of effort into making DXA 2 backwards compatible on the data level. This means two things:

  • a DXA 2 application can consume DD4T data
  • a DD4T application can consume DXA 2 data, IF it uses the model service
On the level of code, DXA 2 is not yet backwards compatible with DD4T. If you have extended or otherwise customized many DD4T classes, such as controllers, factories, resolvers or cache agents, we advise you to wait for a future release of DXA which will support most of this.

DXA 2 is only compatible with JSON data published by DD4T 2.0 or higher. Older versions of DD4T were using an XML-based data format, which is not supported by DXA 2.

What can you do with it now?

With the advent of DXA 2, DD4T users have a number of options:

  • They can keep their DD4T application but start using the model service – and gain important performance benefits
  • They can rebuild their application on DXA, without having to republish
  • They can do nothing and everything will stay as it is
For most organizations, rebuilding the application will be too big of an effort. But switching to the model service is easy, as you can read in this blog. We would recommend everybody to consider this possibility.

Maintenance mode

With the introduction of DXA 2.0, DD4T will go into maintenance mode. From now on, we will work with SDL to bring DD4T functionality into DXA. We cannot shoot at a moving target, so we're stabilizing the DD4T codebase as of today.

We will still do our best to fix bugs and solve problems, but we won't be adding new features.