We are planning to upgrade to Sdl Sites 9.5 version. As part of the upgrade, we will be updating the DXA version from 1.7 to 2.2. Initially, we will be using existing component and page templates to publish the content and in the future, we will be using regions and removing component templates from pages.

In the current DXA 1.7 version, we made a couple of changes to templates like publishing the binaries to custom location based on Structure group and folder path mappings.

Please explain how publishing will work in sites 9.5 for standalone multimedia components and binaries in the RTF field. Does publishing to Structure group mapping supported as an OOTB feature?

Please help me to download and set up the DXA 2.2 .NET solution along with source code so that I can debug the existing templates.

What are all the changes that need to be done to use the existing component and page templates in sites 9.5?

2 Answers 2


@Rick answered most of your questions, just to add my answers to your other questions.

For set up the DXA 2.2 .NET solution along with source code step by step, I have answered one of the previous questions here it might be helpful.

Answer to your last question,

Upgrade DXA on the Content Manager server to 2.2 and refer to the SDL documentation: Upgrading DXA on the SDL Tridion Sites Content Manager

  1. Open a PowerShell command prompt in Run as Administrator mode

  2. Go to \SDL.DXA.NET.2.2\cms folder and run the cms-import.ps1 with the following command parameters import Framework-only or use a content porter to update the DXA 2.2 TBBs and assemblies (backup the content manager database for rollback purpose)

    .\cms-import.ps1 -importType master-only -masterPublication "100 Master" -cmsUrl "http://cms.dev.com/"

  3. After a successful upgrade, the above script ensures all your DXA publication website Page template and component templates use the Render Page Content => Generate DXA R2 Page Model and Render Component Content => Generate DXA R2 Entity Model TBBs.

  4. Republish the Publish Settings Template Building Block in all your DXA publications eg. \100 Master\Building Blocks\Framework\Developer\Templates

Note: Starting in DXA 2.0, content is published in a JSON format rather than in XML and uses the R2 Data Model, recommended to use R2 Data Model.


Answer to your questions asked in the below comments:

Q: 1) How binaries get published since the output is JSON?

A: I can see it was explained by Rick correctly product point of view it does the same, but In the DXA 2.0+ it's handled differently compare to DXA 1.7 instead of TBBs it's handled as Model Builder Types as parameters to pass the module Bulder Names by comma-separated if more than one builder names, In the Compound Template TBBs. of course you can also do customize this by your own model builder for your needs.

Eg: Render Component Content

<CompoundTemplate xmlns="http://www.tridion.com/ContentManager/5.3/CompoundTemplate">
    <Template xlink:href="tcm:2-86-2048" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:title="Generate DXA R2 Entity Model" />
      <Parameters xmlns="http://www.sdl.com/web/schemas/dynamiccomponent">
        <expandLinkDepth xmlns="http://www.sdl.com/web/schemas/dynamiccomponent">1</expandLinkDepth>

Q: 2) Is there any TBB available for publishing the binaries which are part of the component, RTF, and published as an individual?

A: You can refer to this DefaultModelBuilder.cs class for BuildBinaryContentData

Q: 3) As I mentioned earlier, we are planning to re-use the existing CTs and PTs. Are there any other changes required?

A: As I mentioned in my answer already you might need to update your Page and Component Templates TBBs to use DXA 2.2 Generate DXA R2 Page and Entity Model as I mentioned in my answer step 3.

I hope it helps.

  • Thanks for sharing the above information. But still few of my question are not answered. 1) How binaries get published since the output is JSON ? 2) Is there any TBB available for publishing the binaries which are part of the component, RTF and published as individual? 3) As I mentioned earlier, we are planing to re-use the existing CTs and PTs. Is there any other changes required? Nov 26, 2020 at 5:28
  • Updated my answer
    – Velmurugan
    Nov 26, 2020 at 11:04

Publishing binaries to a Structure Group rather than the standard Multimedia location is supported in Tridion Sites since ages, but not in DXA (OOTB). Unfortunately, that is still the case for DXA 2.2.

Upgrading to DXA 2.2 can be done according to the documentation: https://docs.sdl.com/784837/756547/sdl-digital-experience-accelerator-2-2/upgrading-------------dxa-for-tridion-sites

You can get the CM sources from GitHub: https://github.com/sdl/dxa-content-management

The README.md has instructions for how to build the TBBs from sources, so you can apply the customizations you need.

Please note that DXA 2.0+ by default uses significantly different TBBs than DXA 1.x, meaning that you can’t easily apply the same customizations you did for DXA 1.7.

If needed, you can configure it to still use the DD4T-based TBBs, though.

  • Thanks Rick. Is there any document available to configure to use DD4T templates? Nov 26, 2020 at 6:17
  • The cms-ikport.ps1 script has a modelMapping parameter which can be used to configure Legacy vs R2 Data Model Support. See docs.sdl.com/784837/701396/… Nov 26, 2020 at 18:28
  • thanks for your help Dec 1, 2020 at 10:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.