Skip to content

Instantly share code, notes, and snippets.

@jhorsman
jhorsman / .gitignore
Created May 13, 2014 14:52
Ignore all Visual Studio stuff
*.suo
*.user
bin/
_ReSharper.*/
obj/
@jhorsman
jhorsman / promotion.aspx
Created May 14, 2014 18:04
SDL Tridion .NET controls for SDL SmartTarget 2014 promotion
<div>
<!-- Start Promotion Region: {"RegionID": "HomepagePromotions" } -->
<smarttarget:Query AllowDuplicates="false" Publication="tcm:0-6-1" runat="server" SiteEditTagName="div">
<smarttarget:Promotions MaxItems="3" Region="HomepagePromotions" runat="server">
<ItemTemplate>
<smarttarget:PromotionalItems runat="server">
<ItemTemplate>
<div>
<!-- Start Promotion: { "PromotionID": "<%# Eval("promotionID") %>", "RegionID" : "<%# Eval("region") %>"} -->
<tridion:ComponentPresentation runat="server"
@jhorsman
jhorsman / start-Fredhopper.bat
Created July 18, 2014 07:52
Start Fredhopper processes. For a development box, usually this would run as a scheduled task. Just run start-Fredhopper.bat
@echo off
start start-deployment-agent.bat
echo Launched deployment agent in separate window
echo.
echo Pausing before starting the instance
timeout 30
echo.
echo Starting instance...
@jhorsman
jhorsman / SmartTarget-controls-2014.aspx
Last active August 29, 2015 14:05
SmartTarget ASP.NET controls example for SmartTarget 2014
<smarttarget:Query Publication="tcm:0-69-1" runat="server" SiteEditTagName="span">
<smarttarget:Promotions MaxItems="3" Region="Homepage Promotions" runat="server">
<ItemTemplate>
<smarttarget:PromotionalItems runat="server">
<ItemTemplate>
<span>
<!-- Start Promotion: { "PromotionID": "<%# Eval("promotionID") %>", "RegionID" : "<%# Eval("region") %>"} -->
<tridion:ComponentPresentation runat="server" PageURI="tcm:69-6212-64" ComponentURI="<%# Eval(&quot;ComponentUri&quot;) %>" TemplateURI="<%# Eval(&quot;TemplateUri&quot;) %>"/>
<!-- End Promotion -->
</span>
@jhorsman
jhorsman / trigger-types.xml
Created September 1, 2014 10:02
OOTB SmartTarget 2014 trigger types
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<trigger-types xmlns="http://www.fredhopper.com/schema/knowledge-model/trigger/type/1.0" xmlns:ns2="http://www.fredhopper.com/schema/knowledge-model/trigger/operation/1.0" xmlns:ns3="http://www.fredhopper.com/schema/knowledge-model/trigger/basetype/1.0" xmlns:ns4="http://www.fredhopper.com/schema/knowledge-model/trigger/1.0">
<trigger-type basetype="text" url-param="am_ex_city" name="Contact - City"/>
<trigger-type basetype="text" url-param="sc_refererdomain" name="Session - Original Referrer"/>
<trigger-type basetype="text" url-param="sc_ua_isbot" name="Visitor - Search Engine?">
<list-of-values multiselect="false">
<value>true</value>
<value>false</value>
</list-of-values>
</trigger-type>
@jhorsman
jhorsman / detect XPM.js
Created September 9, 2014 07:58
Detect if XPM is enabled in JavaScript
if (typeof $display === "object" && $display.getView().getId() === "EditorView") {
    //Experience Manager is enabled
}
@jhorsman
jhorsman / ADF-cookie-names.jsp
Created September 12, 2014 08:41
Read ADF cookie names though the Tridion CD API.
@jhorsman
jhorsman / error response.xml
Created September 17, 2014 09:10
Error message on SDL Tridion 2013 SP1 Content Delivery Web Service (odata) with SmartTarget 2014 installed. When retrieving the trigger types on http://localhost:84/odata.svc/TriggerTypes the server cannot access the Fredhopper query server.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<code></code>
<message xml:lang="en-US">Unable to get a list of Trigger Types, please refer to the SmartTarget log files for more information</message>
</error>
@jhorsman
jhorsman / SmartTarget query.cs
Last active August 29, 2015 14:06
Query SDL SmartTarget 2014 trough the new QueryBuilder API
// get the triggers from ADF
ClaimStore claimStore = AmbientDataContext.CurrentClaimStore;
string triggers = AmbientDataHelper.GetTriggers(claimStore);
// make query builder and feed the triggers into it
var queryBuilder = new QueryBuilder();
queryBuilder.Parse(triggers);
// set the publication id and SmartTarget region. Both are required to query
// for SmartTarget promotions
@jhorsman
jhorsman / SmartTarget-tags-2014-tcdl.xml
Last active August 29, 2015 14:06
SmartTarget TCDL example for SmartTarget 2014. Those TCDL Tags are generated by the SmartTarget TBBs.
<tcdl:region ID="Homepage Promotions" type="SmartTarget">
<tcdl:query siteEditTagName='span' publication='tcm:0-69-1'>
<tcdl:promotions region='Homepage Promotions' maxItems='3'>
<tcdl:itemTemplate>
<tcdl:promotionalItems>
<tcdl:itemTemplate siteEditTagName='span'>
<tcdl:ComponentPresentation PageURI='tcm:69-6212-64' ComponentURI='##componentUri##' TemplateURI='##templateUri##' Type='Dynamic'/>
</tcdl:itemTemplate>
</tcdl:promotionalItems>
</tcdl:itemTemplate>