Documentation Center

Quick Guide to installing SmartTarget

The Getting Started tutorial describes how to quickly set up and install SmartTarget.

Before you begin

The Quick Guide requires you have:
  • A fully-functioning SDL Tridion Content Manager and Content Delivery system—see the Quick Guide to installing SDL Tridion.
  • Experience Manager running on a staging Web site—see the Quick Guide to installing SDL Tridion.

About this task

Installing SmartTarget is split into 5 main areas:
  1. Installing SmartTarget on the Content Manager
  2. Installing Fredhopper
  3. Installing the SmartTarget Web service
  4. Configuring the Content Deployer
  5. Setting up the Web site (IIS)

Step 1—Installing SmartTarget on the Content Manager

Procedure

  1. Access the SmartTarget installation media.
  2. Browse to the Content Manager folder and double-click the Install SmartTarget 2014 shortcut.
  3. Follow the instructions to install (the installer does not require any inputs) and click Finish at the end. You are asked to reboot your Computer.
  4. After rebooting, open your browser and you will see that the Content Manager Explorer has been updated and a new navigation item Targeting has been added to the slide out navigation.
  5. Target Types control the security of Publication Targets. You need to add Manage Promotions to available permissions if you are not an administrator to see the Promotions List added in the Publication Target. You will need to find the right Target Type added in the Publication Target.
  6. Open Template Builder and add the Add to SmartTarget Template Building Block (TBB) to your Component Templates to publish content to Fredhopper.
    The Content Manager installer installs the SmartTarget TBBs and also modifies the Publisher to allow more information to be added to published packages, required when publishing content to Fredhopper.

Step 2—Installing Fredhopper

Before you begin

Make sure you have JDK 1.7 installed and have set JAVA_HOME in your computer environmental variables.

Procedure

  1. Go to the Fredhopper Learning Center.
  2. Go to https://extranet.fredhopper.com/downloads/deployment/ and download the deployment ZIP file.
  3. Unzip the package.
  4. Create a topology.txt in your Fredhopper config folder, for example, C:\fredhopper\config, to create the different instances in Fredhopper:
    # The topology file defines your indexing and live servers 
    # instance name | host | preset | indexer | comment 
    SmartTarget|localhost|1|-|Indexer and Preview environment for demo setup 
    SmartTargetLive|localhost|2|SmartTarget|Live Query Server for demo setup
    Where:
    • SmartTarget is the Indexer Server (for getting content into Fredhopper)
    • SmartTargetLive is the Query Server (for getting content out of Fredhopper)
  5. Open a command prompt and run the following command in the fredhopper folder to start the deployment agent:
    bin\deployment-agent
  6. Open up another command prompt and run the following command to create your instances as specified in the topology file (in this case SmartTarget and SmartTargetLive):
    bin\setup-cluster
  7. In the C:\fredhopper\data\instances\SmartTarget folder, create a folder \custom.
  8. Access the SmartTarget installation media
  9. Copy configuration-management-rest-extension.jar and smarttarget_api_extension.jar to the \custom folder.
  10. In the C:\fredhopper\SmartTarget\data\fas-xml-incremental folder, create a folder \catalog01.
  11. Copy the metadata.xml file to the \catalog01 folder.
    The metadata.xml file has the set of default fields needed by SmartTarget to use Fredhopper. You can run a command to process the file as described in the main SmartTarget documentation, but it will also be processed when you first publish Components to Fredhopper.
  12. Copy the trigger-types.xml and business.xml to C:\fredhopper\data\instances\SmartTarget\config folder.
  13. Copy the STJob.kjb file to the C:\fredhopper\data\instances\etl folder.
  14. Start up the SmartTarget or SmartTargetLive instance using the command:
    bin\instance SmartTarget
    or
    bin\instance SmartTargetLive
  15. Copy the configs and data across from one instance to another (that is, from SmartTarget to SmartTargetLive) using the command:
    bin\fresh-index-to-live SmartTarget
  16. Publish some content to Fredhopper.
  17. Browse to the Fredhopper Business Manager:
    ttp://localhost:8180/fredhopper/admin/ 
    Use the credentials admin/admin to log on. (The Business Manager connects to the Indexer Server.)

Step 3—Installing the SmartTarget Web service

The SmartTarget Web service is what is used for the communication between Tridion Content Manager and Fredhopper's index server.

Procedure

  1. Access the SDL Tridion installation media.
  2. Depending on your preferred technology:
    • On a .NET platform, unzip the Web service package and create a new Web site in IIS
    • On a Java platform, deploy the WAR file from the roles folders.
  3. Copy your configuration files to your Web application:
    • cd_ambient
    • cd_dynamic
    • cd_storage
    • cd_link
    • cd_Web service
    • cd_wai
    • cd_license
  4. Access the SmartTarget installation media
  5. Copy the following SmartTarget JAR files to your /lib folder:
    • smarttarget_api_webservice.jar
    • smarttarget_core.jar
    • smarttarget_entitymodel.jar
    • smarttarget_odata_cartridge.jar
  6. Copy the following third-party JAR files to your /lib folder:
    • commons-codec.jar
    • commons-discovery.jar
    • commons-httpclient.jar
    • commons-lang.jar
    • commons-logging.jar
    • jdom.jar
    • jersey-client.jar
    • jsr181-api.jar
    • oro.jar
  7. Copy the config file smarttarget_config.xml to the classes or config folder. Make sure the file is configured to point to the Indexer Server.
  8. In thecd_ambient config file, add the reference to the smarttarget_odata_cartridge which is the connection to Fredhopper:
    <Cartridge File="smarttarget_odata_cartridge_conf.xml" />
  9. Assuming that the Web service and Fredhopper are on the same machine this is http://localhost:8180, your configuration list should look something like the following:
  10. Add the following log settings to your logback file:
    <!-- Appender --> 
    <appender name="rollingSmartTargetLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
      <fileNamePattern>${log.folder}/smarttarget.%d{yyyy-MM-dd}.log</fileNamePattern> 
      <maxHistory>${log.history}</maxHistory> 
      </rollingPolicy> 
      <encoder> 
        <pattern>${log.pattern}</pattern> 
      </encoder> <prudent>true</prudent> 
    </appender> 
    
    <!-- Logger --> 
    <logger name="com.tridion.smarttarget" level="${log.level}"> 
    <appender-ref ref="rollingSmartTargetLog"/> 
    </logger> 
  11. Add the URL of the Web service to a Publication Target: when you go to a Publication Target, and will notice that a Targeting tab is now available in which you need to specify the Web service used to talk to Fredhopper:
    • Add a meaningful Title for the connection, for example Staging.
    • The Content Delivery Endpoint URL is the Web service, for example http://tri2008r2.ams.dev:83/odata.svc.
    • Enter an oAuth user name and password if this has been set up for security in the Ambient Data Framework configuration file of the Web service.
    • The Default Promotion List defines the list opened when you click the Targeting navigation item.

Step 4—Configuring the Content Deployer

Procedure

  1. Publish Components to get data into Fredhopper—the Components must be published as Dynamic Component Presentations, which you need to set in the Component Templates.
  2. Open Template Builder and add the Add to SmartTarget Template Building Block (TBB) to your Component Templates to publish content to Fredhopper.
  3. Open the cd_deployer_conf.xml configuration file in a text editor.
  4. Add SmartTarget modules to the <Processors> element:
    <Processor Action="Deploy" Class="com.tridion.deployer.Processor" Phase="post-transaction">     
       <Module Type="SmartTargetDeploy" Class="com.tridion.smarttarget.deployer.FredhopperDeployerModule">        
         <Transformer Class="com.tridion.deployer.TCDLTransformer"/>    
       </Module>  
    </Processor>   
    <Processor Action="Undeploy" Class="com.tridion.deployer.Processor" Phase="post-transaction">      
      <Module Type="SmartTargetUndeploy" Class="com.tridion.smarttarget.deployer.FredhopperUndeployModule"/>    
    </Processor>
  5. Add the following tag bundle element in the <TCDLEngine> element:
    <TagBundle Resource="com/tridion/smarttarget/tcdl/tagbundle.xml"/>
  6. Save and close cd_deployer_conf.xml.
  7. Copy the following SmartTarget JAR files to your /lib folder:
    • smarttarget_core.jar
    • smarttarget_entitymodel.jar
  8. Copy the following third-party JAR files to your /lib folder:
    • commons-codec.jar
    • commons-discovery.jar
    • commons-httpclient.jar
    • commons-lang.jar
    • commons-logging.jar
    • jdom.jar
    • jersey-client.jar
    • jsr181-api.jar
    • oro.jar
  9. Copy the config file smarttarget_config.xml to the classes or config folder. Make sure the file is configured to point to the Indexer Server (you need to specify where the Content Deployer needs to put the XML packages for Fredhopper).
  10. Configure your logback file.

Step 5—Setting up the Web site (.NET Web Application)

Procedure

  1. Go to your staging Web site.
  2. Copy the following SmartTarget cartridge files to your /lib folder:
    • smarttarget_session.jar
    • smarttarget_smarttarget.jar
  3. Copy the following SmartTarget JAR files to your /lib folder:
    • smarttarget_core.jar
    • smarttarget_entitymodel.jar
  4. Copy the following third-party JAR files to your /lib folder:
    • commons-codec.jar
    • commons-discovery.jar
    • commons-httpclient.jar
    • commons-lang.jar
    • commons-logging.jar
    • jdom.jar
    • jersey-client.jar
    • jsr181-api.jar
    • oro.jar
  5. If you are using IIS, copy the following DLLs:
    • Tridion.SmartTarget.dll
    • Tridion.Smarttarget.Interop.dll
    then open the Web application web.config file and add the following line to the pages, controls element:
    <add tagPrefix="SmartTarget" namespace="Tridion.SmartTarget.Web.UI" assembly="Tridion.SmartTarget" />
  6. Copy across your smarttarget_config.xml file to your config folder (your Web site needs to know where to query Fredhopper).
  7. Add the following log settings to your logback file:
    <!-- Appender --> 
    <appender name="rollingSmartTargetLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
      <fileNamePattern>${log.folder}/smarttarget.%d{yyyy-MM-dd}.log</fileNamePattern> 
      <maxHistory>${log.history}</maxHistory> 
      </rollingPolicy> 
      <encoder> 
        <pattern>${log.pattern}</pattern> 
      </encoder> <prudent>true</prudent> 
    </appender> 
    
    <!-- Logger --> 
    <logger name="com.tridion.smarttarget" level="${log.level}"> 
    <appender-ref ref="rollingSmartTargetLog"/> 
    </logger> 
  8. In the cd_ambient_conf.xml, add references to the cartridges.
  9. If you are using Audience Manager, add the following line to use Contacts and Personas in Experience Manager:
    <Cartridge File="audiencemanager_cartridge_conf.xml"/>