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

November 2014 SDL Tridion Webinar

Today Bart Koopman from SDL and Mihai Cădariu from Mihai Consulting presented two really interesting topics at today’s November SDL Tridion Webinar: 

  • The Tridion Reference Implementation
  • Cache implementation with and without DD4T

If you missed the webinar the resources are available after the jump.

Continue reading

Quick DD4T tip : combine ‘static’ images and images handled with the BinaryDistributionModule

In a DD4T website, you can serve images from the broker using the BinaryDistributionModule. This is a module that intercepts requests for any images, and then queries the broker for published images, and serves them (I will talk about this more in-depth in a future post).

However, this might give some problems if you also have static images.

Continue reading

Introducing: The SDL Tridion Reference Implementation

tri-logoReleased last week – the first step on a path to lower the barriers (time, cost, knowledge, lack of standardization) of implementing SDL Tridion. In this post I aim to give a short introduction, by highlighting what you should and should not expect from the Reference Implementation.

Continue reading

DD4T and SDL SmartTarget 2014 Integration

There are a number of steps required to install SmartTarget and all the required pieces, including FredHopper and the new SmartTarget CD Webservice Extension. That’s right; Tridion’s OData Webservice now comes with a SmartTarget extension to grab your Promotions’ items… I digress. In this article I am going to assume that you’ve done your homework and read the SDL Live Content documentation regarding the necessary moving parts, wiring and plumbing, and have it all installed. (If you’re looking for an introduction to SmartTarget 2014, have a look at John Winter’s article: A look at SmartTarget 2014). So here we’ll just jump right into answering the question of how to integrate DD4T.NET with SmartTarget 2014 and I will share an MVC HTML Helper Extension class providing us with control to render SmartTarget’s Promotion Items in your DD4T-driven MVC.NET application.

Continue reading

Unit-testing your DD4T code with Mock objects

Unit testing your code is a great way to make sure your code works as expected, now, and in the future, after loads of changes to your project.

Writing tests can be pretty simple, if you have functionality that only relies on logic, but what if your code relies on ‘external’ data. How would you test that?

Continue reading

Using a custom MVC render engine to speed up DD4T development

Reverend Green in the Conservatory with the Lead Piping?

Reverend Green in the Conservatory with the Lead Piping?

Recently I’ve been performing some post-launch improvements to a DD4T site for a client.  A number of their requests have been along the lines of improving screen element <x> on page <y>.

The project is reasonably large with the website being comprised from a couple of hundred abstract MVC views.  A good amount of nested, view re-use, with nice generic css classes has actually been a detriment when it comes to tracking down exactly which view screen element <x> originates from.

Occasionally you find a view that includes some ‘start’ and ‘end’ comments in the output.

<!-- Start View: Example -->
  View contents go here...
<!-- End View: Example -->

Continue reading

Setting up Contextual Image Delivery in a (DD4T) MVC .NET Website

curryIf you hadn’t noticed, SDL Web released a new product recently: Contextual Image Delivery, which in short enables you to resize, crop, trim and convert formats for images. I thought I would see how easy it was to set up in an ASP.NET MVC environment, and it went pretty well, but there are a few subtleties Continue reading