Upgrading from SDL DXA 1.7 to 2.0 CTP 2

To explore how easy (or otherwise) moving to the new version of SDL DXA will be once it is production ready, I decided to perform a basic upgrade.

In this post, I’ll take an out of the box SDL DXA 1.7 install and upgrade it to SDL DXA 2.0 CTP 2 (using the model service,) and find out what’s involved. The setup is against SDL Web 8.5 with no additional hotfixes installed.

To perform the upgrade, I’ll be following closely the steps outlined in the documentation and calling out if anything needs a little more explanation.

Here is my starting point; SDL DXA 1.7 running smoothly


Step 1 - Upgrade the CMS

First off, I need to update the items within the Content Manager. This is a pretty simple task, using the provided Powershell script.

Step 2 - Model Service

I’ve decided to make the full transition, to use the Model Service. You can upgrade to SDL DXA 2.0 CTP 2 and remain on the legacy architecture a.k.a. No Model Service but I wanted to try it out.

Two items I noted during the install

  • Don’t forget to update $serverPort in the installService.ps1 script to 8998
  • I also changed the service name, to group it with the other SDL Web Windows services, to: $displayName="SDL Web DXA Model Service"

Step 3 - Web Application

Mostly smooth sailing, with only a few minor things to change when comparing configuration files. As I'm using OOTB SDL DXA, I did not have any custom code or changes I needed to factor in.

In a real scenario, this is the section that will require more careful analysis.

Step 4 - Publishing

If you’re using the Model Service it requires that dynamic components be published as Dynamic Component Presentations. If you forget about this step, you'll be presented with an error similar to:


Looking in the logs, the reason is pretty clear, calling out article components and one of the category keywords as not being published. Note: I had to clear cache (/admin/refresh) after publishing to get things moving again.

Step 5 - Finished Product

I ended up back where I started, with an out of the box SDL DXA website, only this time being SDL DXA 2.0 running against the new Model Service.


Overall, this was a pretty painless exercise. However, of course this is going to depend very much on your implementation specifics, and how much you’ve customized.

I think this proves, that to get an idea of what’s involved in a DXA upgrade is a pretty quick task. A few hours, a a working SDL Web instance, and the documentation, is all you need to kick the tyres of SDL DXA 2.0