Tridion .NET templating, Yea or Nay

By | December 21, 2009

In version R5.3 Tridion has introduced Modular/Compound Templating, which offers (more) separation between layout and business logic. It also allows the implementation of Template Building Blocks (TBBs) with C# and/or .NET assemblies.

A Template Building Block used with Modular/Compound Templating is (normally) responsible for one major task. For example: Converting XML to HTML, Publish all Binaries in the package or Activate Tracking (these are all standard Tridion TBBs).

Below I’ve listed the major ‘Pros and Cons’ of working with Tridion .NET templating.

Pros Cons
You write code in C# (an actual programming language) no need for VBScript anymore.
Also having the predefined methods, offered by the .NET framework, at your disposal (instead of writing all yourself) speeds up development a great deal.
The Tridion classes don’t (easily) allow extending them, thus making it hard to completely UNIT test the code. Only the code not dependant on Tridion objects can be UNIT tested out of the box.
It’s possible to (partially) UNIT test the Template Building Blocks, ensures during the development process that these parts (still) perform as expected.
This is a major improvement to former versions, where this was really hard to achieve.
With the Tridion Template Builder, a tool shipped together with Tridion, you’re able to test the in- and output of a Template Building Block used in a Component Template (with a specific component). Making it easier to find problems in a specific Template Building Block.
Additionally, Stack Traces are shown when an error is thrown.
With the correct (network) access you can use the ‘standard’ remote debugging capabilities of Visual Studio .NET and so debug the Tridion .NET assemblies.

Only one minor Con and four major Pros. So, Yea for Tridion .NET Templating. It’s a major step forward, the development, testing and debugging capabilities will make the Tridion developers live much easier.

Though don’t expect it to speed up the implementation of Tridion in your (customers) organization, this requires a completely different architecture and approach of Tridion implementations.

(possible) Useful links: