0

I get error when publish Page after adding InheritMetadataPageModelBuilder to Render Page Content (TBB).

<CompoundTemplate xmlns="http://www.tridion.com/ContentManager/5.3/CompoundTemplate">
  <TemplateInvocation>
    <Template xlink:href="tcm:2-51-2048" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:title="Generate DXA R2 Page Model" />
    <TemplateParameters>
      <Parameters xmlns="http://www.sdl.com/web/schemas/dynamicpage">
        <expandLinkDepth xmlns="http://www.sdl.com/web/schemas/dynamicpage">10</expandLinkDepth>
        <modelBuilderTypeNames>DefaultModelBuilder;DefaultPageMetaModelBuilder;EclModelBuilder;ContextExpressionsModelBuilder;InheritMetadataPageModelBuilder</modelBuilderTypeNames>
      </Parameters>
    </TemplateParameters>
  </TemplateInvocation>
</CompoundTemplate>

Could not load type 'Sdl.Web.Tridion.Data.InheritMetadataPageModelBuilder' from assembly 'Sdl.Web.Tridion.Templates.merged, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null'

What can I do?

0

I would suggest that you verify that you are indeed looking at the proper compound template. The InheritMetadataPageModelBuilder which is mentioned in the error message is available OOTB, however looking at your template's xml, it is not referenced.

What you have is InheritPageModelBuilder vs InheritMetadataPageModelBuilder. Is InheritPageModelBuilder your custom Model Builder?

  • Sorry, it was my mistake in question. I mean InheritMetadataPageModelBuilder* – user2757 Jan 29 at 15:09
0

That's interesting!

You can see that the InheritMetadataPageModelBuilder is expected to be in namespace Sdl.Web.Tridion.Data, but it actually is in namespace Sdl.Web.Tridion.Templates.R2.Data. See GitHub

Interestingly, the DataModelBuilderPipeline in DXA 2.0 release does expect it to be in Sdl.Web.Tridion.Templates.R2.Data, but you can see that the last commit before DXA 2.0 release was to fix this expected namespace.

Could it be that you're using a DXA 2.0 pre-release version? Maybe a DXA 2.0 CTP2?

A work-around can be to specify a qualified type name, so Sdl.Web.Tridion.Templates.R2.Data.InheritMetadataPageModelBuilder, but if you're still using a pre-release version, you should definitely consider upgrading to a release version.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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