DXA 2.0 planning

Following my latest update on the DD4T and DXA merge and the DXA 2.0 architecture announcement, lets continue looking at the planning we have in mind. With the hard decisions around how to do the merge made, we started collecting the best of both worlds late December 2016 and the designs of the DXA 2.0 architecture was born. Since this endeavor has the risk of becoming a never ending project, I decided it makes sense to timebox it. Following the original DXA thoughts we will release early and release often, so we keep the community involved and informed. 

This means had two Community Technology Preview releases planned, followed by a GA release. In 2018 we would like to release a follow up in the form of a DXA 2.x version to be compatible with SDL Web 9 / Tridion 2018 (when that is released). During 2017 we will also compose a DXA 1.8 release, containing an update for SDL Knowledge Center/Live Content, since this release comes with interesting API changes in the SDL Web CIS.

The picture below shows the rough planning we have for 2017:

As shown, around the beginning of Q2 2017, we were planning to release the first DXA 2.0 Community Technology Preview (I originally wanted to call it an Alpha release, but it became way more than that, and stable software too). The idea behind this release was that we showcase the architecture changes, so that everybody can experience it from first hand and deliver direct feedback on it. Read all about it in the release announcement

Next we have released the second DXA 2.0 Community Technology Preview in the beginning of Q3 2017. This brings some more functionality and we hope you try it out and deliver us feedback. More details can be found in the release announcement.

The CTP releases are something you can install yourself, but don't expect that you can migrate your current DXA implementation to it. Support around the breaking changes will be picked up in later sprints.

If all continues to go as planned, around the beginning of Q4 2017, we will release DXA 2.0. This release should come with all scripts and documentation around migration and upgrade from DXA 1.x or DD4T 2.x. To get this release right, we will require all of you to deliver feedback on the CTP releases. We will also need to look into how the community can interact and work more closely together with us on this release. 

New architecture

The new architecture we demonstrated in the CTP releases consists mostly of the new DXA Model Service. More detail of this new architecture you can find in in the DXA 2.0 architecture blog post.

The original idea was to move the semantic mapping over from the web application to the Model Service, but we have shifted our focus towards backwards compatibility and decided to keep the Model Service for now as a Content Service. This is also to prevent the DXA Model Service to become competition of the currently being designed Public Content API. It does however mean that we won't have a good showcase of support for Client Side JavaScript Frameworks yet when we release DXA 2.0. We will leave this on the roadmap for a future release.

Backwards compatibility

To allow for easy migration and easy adoption of DXA 2.0, we have planned some backwards compatibility support. First of all we want data compatibility with DD4T (and thus DXA 1.x, since that is using the DD4T data model). As many customers have big implementations with lots of published data in the DD4T 2 JSON format. The purpose of data compatibility is to enable them to upgrade to DXA 2.0 without having to republish.

The next thing to cover is code compatibility. In general, the approach is to include a separate DD4T-facade in DXA 2.0 which covers as much as possible of the current DD4T API. Every function that can be supported will be supported, but some will be marked as obsolete to steer the customers in the direction of DXA 2.0. Support for DD4T 1 is not considered. Classes or methods that were marked as obsolete with the introduction of DD4T 2 will be removed in the merge.

Finally we will implement Template compatibility, so that classes based on the DD4T 2 base templates will continue to work.

Some more information around this topic can be found on the confluence pages donated by Trivident as used by the DD4T and DXA merge steering group.

Vision

Now the the contents of the DXA 2.0 release are basically planned, it is time to look further forward. My biggest wish is to drive the community to be able to pick up tasks and indicate they are working on it by having a public backlog tool. We will need help in achieving this goal.

Another thing to consider around our testing and release procedures, is to migrate the public build servers of DD4T. Again also a topic where we can use some help, specifically since DXA does not just builds a web application, but also contains an SDL Web 8.5 CM setup that exports Content Porter packages. Biggest challenge to move this outside of the SDL office will be the license requirements.

As mentioned we are planning a DXA 1.8 release which is all round Unified Delivery support (making SDL Web Content Delivery ready for SDL Knowledge Center). This eventually will allow for content mashups between Web, and Doc center content. Content mashups will not be easily possible in the DXA 1.8 release, so we have placed them on the DXA 2.x roadmap.

If you have any more interesting topics which you think should be on the DXA roadmap, please feel free to contact me directly so we can discuss.