Documentation Center

Adding Experience Optimization to Content Deployer

Copy resources to Content Deployer, tell Content Deployer where Fredhopper is, and then tell it to publish there. Also, configure a tag bundle.

Procedure

  1. On the SDL Web installation media, navigate to Experience Optimization\Content Delivery\roles\deployer\experience-optimization\.
  2. On the machine on which you run either the combined Content Deployer or the Content Deployer worker, navigate to the services\deployer-worker\ subfolder of the role.
  3. Copy all files from the installation media folder to that folder.
  4. Navigate to the configuration folder of the role.
  5. From the installation media folder Experience Optimization\Content Delivery\resources\samples\, copy smarttarget_conf.xml to the Content Deployer configuration folder.
  6. On the target location, open smarttarget_conf.xml for editing.
  7. Find the <FredHopper> section.
  8. If your Fredhopper setup does not use catalog01 as its default Universe, set the value of the <DefaultUniverse> element to the default universe used by Fredhopper. A Universe is a collection of items that are held together in a categorization. The top level category in the categorization is the Universe. Typically, Fredhopper has catalog01 as its default (and only) Universe.
  9. If your Fredhopper setup does not use US English as its default locale, set the value of the <DefaultLocale> element to the default locale used by Fredhopper. The locale is a language-region combination, typically written as a language code in lower case, underscore, and a country code in upper case, such as en_GB or fr_BE. By default, standard language (ISO-639) and country (ISO-3166) codes are supported.
  10. If your Fredhopper environment is running in a hosted environment, do the following in the <Hosted> section:
    1. Set the value of the Enable element to true.
    2. Set <ServiceInstanceName> to the name of service instance.
    3. Set <Url> to the address of the endpoint for uploading data (you will only need to change the default URL if your Fredhopper environment is located in the US, for example us1 instead of eu1).
    The following is an example configuration of the <Hosted> element:
    <Hosted>
      <Enable>true</Enable>
      <ServiceInstanceName>fas:live2</ServiceInstanceName>
      <Url>https://my.us1.fredhopperservices.com/</Url>
    </Hosted>

    where:

    • fas refers to the service name.
    • live2 is an example instance name: typically, instances are named: test1, test2, test3, live1, live2, live3 and so on.
  11. Find the <IndexServer> section and set the value of the Url subelement to http://HOST:8180, where HOST is the host name of the machine on which the Fredhopper Index Server runs. If the server requires authentication, specify the credentials in the Username and Password subelements of the Authentication section.
  12. In the <IndexServer> section, find the <Deployment> subsection and do the following:
    1. Set Location to the full path of the folder in which packages for Fredhopper should be placed, for example, c:/fredhopper/SmartTarget/data/fas-xml0-incremental/catalog01.
    2. Set InstanceName to the name you gave to your Index Server.
    3. Set KettleJobName to the filename of the Kettle job you placed in Fredhopper.
    4. Leave AddComponentPresentationContent set to false unless you have a pressing reason to set it to true. This could be the case if you have upgraded from an older version of SmartTarget, and if you rely on the Component Presentation content being present in Fredhopper as a field.
  13. In the <IndexServer> section, find the <Timeouts> subsection and set the value of Deployment to the maximum number of milliseconds you want Experience Optimization to take deploying content to Fredhopper Access Server running in a hosted environment.
  14. Find the <SmartTarget> section.
  15. Set the <TempDir> subelement to a temporary storage location for deployment.
  16. Find the <Tcdl> subsection.
  17. In the <Prefix> subsection, specify the prefixes used:
    • For a Java Web site, set the prefix in the Java subelement for the output namespaces of TCDL tags.
    • For a .NET Web site, set the prefix in the dotNet subelement for the output namespaces of TCDL tags.
    • For Java Standard Tag Libraries, set the prefix in the Jstl subelement's Core subelement.
  18. In the <ExcludeFields> subsection, specify the Schema fields, Metadata Schema fields, and Embedded Schema fields you want to exclude from being published to Fredhopper.
  19. In the <ShortPublicationName> subsection, create Publication subelements to specify one or more abbreviated Publication names to use in the Business Manager.
  20. Leave all other elements and attributes set to their default values.
  21. Save and close smarttarget_conf.xml.
  22. In the Content Deployer configuration folder, open deployer-conf.xml for editing.
  23. Add the following Pipeline section for deployment below the last Pipeline section in the file:
    <Pipeline Id="Tridion-Process-PostCommit" Action="Deploy" Verb="Process">
      <Steps>
        <Step Id="SmartTargetDeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
          <Module Class="com.tridion.smarttarget.deployer.FredHopperDeployerModule" Type="SmartTargetDeploy">
            <Transformer Class=com.tridion.deployer.TCDLTransformer" />
          </Module>
        </Step>
      </Steps>
    </Pipeline>
  24. Add the following Pipeline section for undeployment the section you just added:
    <Pipeline Id="Tridion-Undeploy-PostCommit" Action="Undeploy" Verb="Process">
      <Steps>
        <Step Id="SmartTargetUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
          <Module Class="com.tridion.smarttarget.deployer.FredHopperUndeployModule" Type="SmartTargetUndeploy" />
        </Step>
      </Steps>
    </Pipeline>
  25. Save and close deployer-conf.xml.
  26. Open tcdl-conf.xml for editing.
  27. Add the following to the <TCDLEngine> section:
    <TCDLEngine>
    	<TagBundle Resource="com/tridion/smarttarget/tcdl/tagbundle.xml" />
    </TCDLEngine>

    where the value of Resource is a relative or absolute path to the tagbundle.xml file which contains Experience Optimization-specific tags.

  28. Save and close tcdl-conf.xml.