Test Driven Development for the Tridion Event System – Is it worth it?

An interesting question has been asked on Tridion Stack Exchange regarding whether there are any frameworks or methodologies for using Test Driven Development with the Tridion Event System. Having done test driven development in my early days as a Java and PLSQL developer and having had developed enough functionality with the Tridion Event Systen, I thought I’d provide my two-cents. Continue reading

Cleaning and Extending Dynamic Linking

On a recent project, we had a couple of interesting requirements with regards to link management on the site, one of which was to rid the site of web page file extensions (no page or link should have a .html or other extension, and index pages should also have the index file name removed (so /news/index.html would be shown as /news/).

The site was driven by the Content Delivery OData web service, so the best place to implement this was using a custom tcdl:Link tag. This article I show you how you can easily do this

Continue reading

Quick TBB – Publish Schema/Template/Taxonomy config

On most projects I have worked on, at some point we have needed some Tridion uris in the web application, be it to load keywords from a taxonomy, or executing broker queries for items based on a certain schema ID, and return dynamic component presentations using a given Template uri. This article shows you a simple TBB to publish these config values.

Continue reading

DCP Etiquette – Why would you make a Component Template ‘Dynamic’?

Think first before making a component template dynamic

I have often come in on projects where a lot of the component templates are ‘dynamic’. Nothing wrong with that in itself, but when I have asked the question Why? the answers start to give me the feeling that the Dynamic Component Presentation (DCP) is a bit of a misunderstood animal.

In this post I don’t intend to teach you what a DCP is, or talk about any technical details of using them. Rather I explore the reasons that are often given for using DCPs, debunk some myths, and hopefully make you think a bit more carefully when making that decision to select the “Published as a Dynamic Component” option.

Continue reading

Content Delivery Web Service (OData) Fundamentals – It’s as easy as 1-2-3!

To me, OData is simply the Broker API exposed as a web service – at least the most popular functionality of the original Broker API.  This is useful if your website is not .NET or Java based (PHP for instance), or if the app that needs to pull content across the internet or via AJAX, or for some other reason where database calls to the Broker are restricted.  In this tutorial I cover getting started with OData and also dive into some of the more advanced query string operations.
 

Continue reading

What’s new in SDL Tridion 2013

Last week SDL / Nuno Linhares gave a fantastic presentation to the SDL Tridion community (watch online and slides available) about the cool new technical features available in SDL Tridion 2013.

I’ve provided a little summary after the jump, but really you should be clicking the link above and watching this first major presentation for SDL Tridion 2013.   Thanks to all involved in the webinar :)

Continue reading

Simple Release Management with SDL Tridion 2013 and Bundles

I was fortunate to have a preview version the up and coming 2013 release of SDL Tridion to play with. One new feature is Bundles, which is basically a new type of organizational item, which allows you to group together related items, and do operations on them as a whole. Typically this would be putting it through workflow, or publishing them all together in a single transaction, but one nice thing about them is that you can use them however you want to, just add items into a bundle, and use it however you need to.

The new release of Content Porter will also be bundle-aware, which got me thinking that there should be an easy way to keep track of changed items during development using bundles to avoid the pain of keeping track manually. It turns out to be really easy using the Event System.

Continue reading