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?