Documentation Center

Setting up Experience Optimization for use with Experience Manager in a file system publishing environment

If you use Experience Optimization in combination with Experience Manager, and if you use custom TCDL tags in an environment that uses publishing to a file system, some steps are required to make your setup work.

Procedure

  1. From the installation media folder Content Delivery\roles\xo\extension-deployer\lib\, copy the following files to the services\preview-service\ subfolder of your Preview Service microservice root location:
    • xo-configuration-common-VERSION.jar
    • xo-tcdl-VERSION.jar

    where VERSION is the version and build number of the JAR file.

  2. Copy smarttarget_conf.xml from the configuration location of the Experience Optimization Management Service to the configuration location of the Preview Service.
  3. Open smarttarget_conf.xml in its new location for editing.
  4. Ensure the presence of a <Tcdl> section, directly below the <Analytics> section, with the following content, specifically the <Prefix> section and the <OutputHandlers> element:
    <Tcdl>
      <Prefix>
        <Java>smarttarget</Java>
        <DotNet>smarttarget</DotNet>
        <Jstl>
          <Core>c</Core>
        </Jstl>
      </Prefix>
    		<!-- TCDL Placeholders and replacements -->
    		<Placeholder>
    				<Pattern>##(.+?)##</Pattern>
    				<Replace>
    					 <DotNet>
    						  <Query><![CDATA[<%# Eval(&quot;$1&quot;) %>]]></Query>
    						  <!-- configuration for deprecated controls. left for backward compatibility -->
    						  <ItemContentInfo><![CDATA[<%# ((ItemContent)Container.Parent).$1 %>]]></ItemContentInfo>
    						  <!-- end deprecated -->
    						  <ItemsHeader><![CDATA[<%# ((Items)Container.Parent).$1 %>]]></ItemsHeader>
    						  <NavigationSection><![CDATA[<%#((NavigationSection)Container.Parent).$1 %>]]></NavigationSection>
    					 </DotNet>
    					 <Java>
    						  <Query>\${item.$1}</Query>
    						  <!-- configuration for deprecated tags. left for backward compatibility -->
    						  <ItemContent>\${searchResult.$1}</ItemContent>
    						  <ItemContentInfo>\${$1}</ItemContentInfo>
    						  <!-- end deprecated -->
    						  <Items>\${searchResult.$1}</Items>
    					  	<ItemsHeader>\${$1}</ItemsHeader>
    						  <NavigationSection><![CDATA[<c:out value="\${section.$1}" />]]></NavigationSection>
    					 </Java>
    					 <Rel>
    						  <Default>#{$1}</Default>
    						  <ComponentPresentation>#{item.$1}</ComponentPresentation>
    						  <NavigationSection>#{section.$1}</NavigationSection>
    						  <NavigationSectionHeader>#{section.$1}</NavigationSectionHeader>
    						  <NavigationSectionFooter>#{section.$1}</NavigationSectionFooter>
    						  <NavigationLink>#{link.$1}</NavigationLink>
    					 	 <ItemTemplate>#{item.$1}</ItemTemplate>
    					 </Rel>
    				</Replace>
    		</Placeholder>
      <OutputHandlers>com.tridion.smarttarget.tcdl.JavaTagOutputHandler,com.tridion.smarttarget.tcdl.DotNetServerControlOutputHandler</OutputHandlers>
    </Tcdl>
  5. Save and close smarttarget_conf.xml.
  6. In the same location, open tcdl-conf.xml for editing.
  7. In the file, ensure the presence of the following below the <Properties> section:
    <DefaultTags Name="${tcdltags:-tcm}"/>
    <TagBundle Resource="com/tridion/smarttarget/conf/tagbundle.xml"/>
  8. Save and close tcdl-conf.xml.
  9. Restart the Preview Service microservice.