2

I have this error in TRI when trying to load a page. It looks like the website does not have all the configuration for the scemantics mapping, but I did publish all the pages, and reloaded the web application. I even validated that I have a couple of binary variants by browsing the broker.

What could cause this error? And which resources do I need to have in the broker storage for the scemantic mapping?

Btw, I am using a sneak preview version of TRI-JAVA, but I have the feeling that I would have the same issue in the public .NET version of TRI.

Error message

Error in semantic schema configuration: Found field semantics which uses the prefix 's', but there is no vocabulary with this prefix.

Detail

Caused by: com.sdl.webapp.common.api.localization.LocalizationFactoryException: Error in semantic schema configuration: Found field semantics which uses the prefix 's', but there is no vocabulary with this prefix. 
    at com.sdl.webapp.common.impl.localization.semantics.SemanticsConverter.createSemanticFields(SemanticsConverter.java:112) ~[webapp-common-impl-1.0-SNAPSHOT.jar:1.0-SNAPSHOT] 
    at com.sdl.webapp.common.impl.localization.semantics.SemanticsConverter.createSemanticFields(SemanticsConverter.java:105) ~[webapp-common-impl-1.0-SNAPSHOT.jar:1.0-SNAPSHOT] 
    at com.sdl.webapp.common.impl.localization.semantics.SemanticsConverter.convertSemantics(SemanticsConverter.java:49) ~[webapp-common-impl-1.0-SNAPSHOT.jar:1.0-SNAPSHOT] 
    at com.sdl.webapp.common.impl.localization.LocalizationFactoryImpl.createLocalization(LocalizationFactoryImpl.java:96) ~[webapp-common-impl-1.0-SNAPSHOT.jar:1.0-SNAPSHOT] 
    at com.sdl.webapp.tridion.TridionLocalizationResolver.createLocalization(TridionLocalizationResolver.java:71) ~[webapp-tridion-1.0-SNAPSHOT.jar:1.0-SNAPSHOT] 
5
  • 1
    Did you check my answer to this question tridion.stackexchange.com/questions/11342/… Commented Mar 12, 2015 at 12:33
  • @BartKoopman Thanks, I did not see that excellent guide yet.
    – Jan H
    Commented Mar 12, 2015 at 15:05
  • I'd say it's better to refer to TRI (which is real and exists) than DXA (which is either vapourware or the same thing as TRI, but with added mumbo-jumbo). Maybe later, if DXA becomes a recognised term for what you're talking about, you could change back to that. Commented Mar 12, 2015 at 23:20
  • 1
    What's with you and being so attached to names @DominicCronin? :)
    – Nuno Linhares
    Commented Mar 13, 2015 at 16:07
  • It's not all names. Last I checked, Dom prefers #tridion over #SDLTridion but is okay with SDL Web. :-) Commented Aug 4, 2015 at 2:05

1 Answer 1

5

The vocabularies are set in global app data, and should have been set when doing the Content Porter import. So I guess you might have missed to register the TRI specific app data for Content Porter. This you do by adding a XML file (for example calling it Tridion Reference Implementation.xml) in %TRIDION_HOME%\config\ImportExport\ApplicationData with the following content:

<?xml version="1.0" encoding="UTF-8"?>
<ApplicationDataCategories xmlns="http://www.sdltridion.com/ContentManager/ImportExport/Configuration/2013">
    <ApplicationDataCategory name="TRI" description="Tridion Reference Implementation">
        <ApplicationId pattern="http://www.sdl.com/tridion/SemanticMapping/vocabularies" tcmUriXPath="" />
        <ApplicationId pattern="http://www.sdl.com/tridion/SemanticMapping/typeof" tcmUriXPath="//@xlink:href" />
    </ApplicationDataCategory>
</ApplicationDataCategories>

This should normally be done by the TRI installer.

To correct your app data you can use Bart's custom page for that: Custom Page

5
  • Good thinking, the Tridion Reference Implementation.xml is mentioned in the manual in step 3 of docs.sdl.com/LiveContent/content/en-US/…. I wonder why the TRI installer import.ps1 does not do this for you.
    – Jan H
    Commented Mar 12, 2015 at 11:10
  • @JanH do you really wonder why import.ps1 does not do it, or would you like it to do it for you? Commented Mar 12, 2015 at 12:36
  • @BartKoopman: both :) I wonder why and I would like the installer to perform this important task. I figured out the why part: The installer is using the Core Service and the installer can be run from any machine while the Tridion CM and Core Service are on a remote machine. Of course the installer cannot deploy a file into the CM's file system. Hence you need to copy this manually.
    – Jan H
    Commented Mar 13, 2015 at 7:54
  • Thanks Niclas and Bart. This solved the issue! From the DXA webapp logs it was not so obvious. I checked Bart's answer on tridion.stackexchange.com/a/11343/88 and took option 1: rerun the import script. I also re-imported the GoogleAnalytics module.
    – Jan H
    Commented Mar 13, 2015 at 15:29
  • I'm trying to keep trex clean. If you guys want to announce a new product, or rename stuff, go ahead, but this isn't the place for it. Here, consistent naming is valued. See you on meta... :-) Commented Mar 13, 2015 at 16:14

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.