We decided in our current project with DXA 1.7 we’ll need to use RetroFit mode, since we use ‘Content’ for the root node of all our Schemas. When we have a Component Link field to items using different Schemas, we're unable to find out the Schema Name of the item we link to, and also to render them. I understand this is because all of our Schemas use the default 'Content' as the root element name.

If we enable the RetroFit mode then we will define the Schema Namespace (by default something with 'uuid:..' as a class attribute for each model, as described here in the documentation.

Another possible solution could be to change the Root element from 'Content' to something unique, then sync all Components with the Schema change, and then use the native DXA 1.7 model mapping.

Are there other possible solutions?

What would be the disadvantage of using RetroFit mode for now? And, the future?

It's inconvenient to decorate every Model with the unique Schema namespace, but other than that, any other disadvantages?


We have used Retrofit mode for one of our client.I have documented the steps to install/enable the retrofit which you can try this. I personnaly prefer to enable the retrofit mode instead of changing the schema because in that case you have to write a script to sync all the component which is risky and time taken as well.

We have not faced any major issues yet. Only 2 thing you have to take care of -

  1. When you are creating Model you have to be carefull about the prifix.
  2. If you are using Media Manager in the rich text box then you will face some issues to fatch the media item, But here is the workaround for that.

Other than that everything was fine for me. Hope this will help.

Your Answer

