About Will Price

Will is a seasoned web application consultant having worked on web projects for clients all over the world for the last 14 years. He has a deep technical and functional understanding of SDL Tridion solutions from his 6+ years working at SDL as a Principal Consultant in Amsterdam. Since 2012 he has been working freelance and continues to be involved in SDL Tridion projects.

Quick Tip: Getting Audience Manager working in an MVC site for Web 8

I recently implemented an Audience Manager integration in a Web 8 DD4T (.NET) project. I was scratching my head for a long time about an error message that didn’t seem to make sense:

Unable to determine the current Publication. Please make sure the Ambient Data Framework is running, or configure a DefaultPublicationId in the cd_audience_manager_conf.xml configuration file

Continue reading

DXA Model Mapping Cheatsheet

I recently started working on a new project using the DXA. One of the site types was a rebuild; using an existing content model rather than creating schemas from scratch. Part of the DXA philosophy is to enable MVC developers to use simple view models which hide the complexity of the underlying domain (CM) model. This article shows some tricks you can use to do help take this approach. Its based on the .NET implementation but the same concepts should apply to the Java version.

Continue reading

Caching In: Revisiting Data Sharing across Templates

A while back I wrote a post on using Context Variables as a templating cache. When I came across some requirements to cache data between templates on a recent project I revisited this concept, but found some limitations with Context Variables which I had not realized before. As such I ended up implementing a different approach to caching

Continue reading

Create Fredhopper Trigger Types Programatically

Reading the docs, you would be led to believe that creating Fredhopper triggers was a matter of editing the trigger-types.xml file. It is however also possible to do this programatically – a trick that can come in handy should you not have access to that file on Production, or you wish to manage your triggers through automation.

Continue reading

SmartTarget Extensions: Better Security on Promotion Management

If you have used SmartTarget, you will probably know that the security model for managing promotions is pretty basic – you either have rights to manage promotions or you don’t. On my current implementation we have different business units managing their own SmartTarget promotions for various sites and applications, all within the same CMS, so all able to view, edit (and accidentally break!) each others promotions. This post shows a simple solution we came up with to ensure each user could only manage appropriate promotions.

Continue reading

Custom Renderer – Index Keyword Key in SmartTarget

keywords in SmartTargetI found out how to use a new CM-side extension point today; Renderers. I had been struggling for a while with the fact that SmartTarget does not index the Keyword key – which was precisely what I wanted to set up some promotion content selection filters on. It turns out to be quite easy, and indeed gives a generic method for messing with the content that SmartTarget indexes without having to fiddle about on the Delivery side with Java or Kettle.

Continue reading

Edit AJAX loaded content with Experience Manager… really?

To be honest I had been a bit lazy. In all the conversations I had had on the subject of editing AJAX loaded content with Experience Manager I had been told it could not be done, so I didn’t even try. Until Jaime told me it was possible and I found out that its not even difficult. Continue reading

Who’s who in the Ambient Data Framework

target_audienceMy current project has the ambition to use almost every aspect of the SDL Web suite of products, from plain old Tridion through Audience Manager, SDL Mobile, SmartTarget and finally Campaign Manager – and of course all working via Experience Manager, to provide inline editing and contextual preview.
When looking at how these integrate, all roads lead to… The Ambient Data Framework. SDL provides a number of off-the-shelf cartridges which have varying degrees of mystery – this post aims to clear the mist and describe a little bit more than you get from the docs.

Continue reading

Tridion Reference Implementation Patterns 2: Mixing CMS Content With External Data

The SDL Tridion Reference Implementation (TRI) comes with out of the box controllers for loading and rendering pure content-based models. However, most web applications need to blend content with data from other sources before rendering. TRI is designed with this in mind, this post introduces the pattern for creating custom controllers which merge CMS managed content with external data.

Continue reading