Sunday, March 27, 2011

Rants on Tridion implementations

Those of you who know me, and work/worked with me, know that my job is not always an easy or necessarily happy one. In a nutshell, I tend to tell customers that "if you see me walk into your project, it means you're in trouble".

So, if you're about to start implementing Tridion, and you don't want to see me walk into your project to fix it, here's a few things to remember:

Before you try to do XYZ with Tridion, try to do it without Tridion. Seriously, if you don't know what the expected output of a page is, how do you expect to write a template that "does" it?

If you think you know WCM and therefore learning Tridion is a non-issue, think again. Then re-think. And a year later re-evaluate what you know about WCM. If there is one thing I can tell about Tridion and the other WCM packages available, is that Tridion IS different - and customers buy the software for those EXACT reasons that make it different. If you're planning to implement Tridion just like you would [insert random WCM package here], then why don't you go implement [random WCM package] instead? Many times I've heard things like "We're not planning to use BluePrinting", "why can't I just create pages" and "feature XYZ should be out of the box" (this last one is my favourite, since everyone wants XYZ done differently, but out of the box anyway). The higher-up people that made the decision to buy Tridion were likely triggered to do it based on Blueprinting, Component-based content and the extensibility points offered - not because they thought the implementation team likes those concepts.

Stop being a language zealot. So what if you need to understand Java for deployer extensions? And so what if you need to use c# for Event Systems? It's not as if programmers care about that? You should care functionality and complete API, not what language. If language _really_ is an issue for you, then write your own mediator, there's even a sample for that in the documentation.

Make sure you understand that you will always need 2 types of people in your development team: Web designers and programmers. Web designers will not do a good job writing templates, and programmers are typically bad web designers. It is one of the best features of the product that both teams can work together by focusing on different template building blocks. So use it.

Think before you do anything. This should be a no-brainer, right? Some examples...
Everyone wants to implement SmartTarget, but it is OH-SO-RARE that people actually know what they want to do with it. Developers don't get it, they think they could have done everything themselves through code (missing the point that this is exactly what SmartTarget is about).
Audience Segmentation? You need to know the _current_ audience before you start segmenting it.

And I could go on ranting, but enough negativity for today. Here's how I tell people to learn Tridion.
  1. Get yourself a development environment to play with.
  2. Find your way into the Tridion Developer Forum (via Customer Support).
  3. Get yourself enrolled into a Technical Training. Really. It will open your eyes and save you a lot of time.
  4. Read the template implementation guide. I am not kidding, RTFM can do miracles for you.
  5. Now implement a simple, one-page site. Make sure all content is translatable via blueprinting, and editable via SiteEdit.
  6. Once that's working, implement the multiple language versions of that site.
I tend to tell people to start with something really simple (crawling before walking). Like the Google home page, for instance.

OK, enough ranting for the day, happy thoughts and enjoy implementing Tridion. It is an amazing piece of software, and once you get it, you will think differently about WCM systems.