Blah blah community

In college, my buddy said "blaise blaise" and "yadda yadda" instead of "blah blah." I'm sorry that I use, "blog blog." Your word choice and lingo depends on your community.

Here's a Yet Another Reason to join the Tridion Technical community: to understand each other.

When I say "join" I mean one or more of:

  1. Read
  2. Ask or Answer
  3. Post
  4. Contribute Code
What, no blogging? Blogging is for your expression, career development, and SEO optimization. Blogging is "wow, I remember when it took 1337 skills and money to make a website." Blogging isn't for everyone and no one does it the same, but don't blog for the community. Blog for you.
But follow The Tridion Technical Community to learn memes, culture, and especially lingo.

If you like "blah blah-ing" like me, you can even create some of these mental shortcuts that you won't find in any documentation. Recognize these?

  • Midas Rule of Open Source Projects (careful what you volunteer for)
  • Link Propagation (Doesn't sound familiar? Post more. Or maybe use Tridion more.)
  • Minimize Localizations (No? Read more.)
  • "First figure out how you'd do it without Tridion." (If you don't know who says this, come back to earth, your Tridionaut status is revoked.)

Best Practices? Let's Talk Best Patterns.

I hear requests for "Tridion [industry] best practices" at least monthly in both internal and external discussion. Implementers ask for them, colleagues forward emails about them, and trainees ponder what constitutes a best practice.

The answer unfortunately, in characteristic consulting fashion, is "it depends." The best practice depends on your environment and business needs. Lets see how context impacts:

  • Why we want best practices
  • Tridion best practices
  • The discussion on Tridion patterns

Why Best Practices?

Easy. We want to know the biggest issues we'll face implementing feature XYZ.
  • What have others done to get XYZ?
  • How should we build XYZ?
  • What are the typical "newbie" mistakes with XYZ?
Lots of time, trials, and tribulations produce such practices. So they're invaluable but not without context. A misguided focus on best practices distracts you from understanding your particular needs. Yes, we have to think and I know sometimes its a pain in the ass, hence the term analyze (Ooh, did you get that? Nevermind. Move along to the examples).

Tridion Best Practice Examples

In order to apply to everyone, the ultimate practices are so generic, bland, and boring they approach becoming platitudes such as "use a content management system to manage your content." You might hear best practices familiar to any non-trivial system:
  • Don't hard-code values.
  • Use naming conventions and standards.
  • Build so that the likely-to-change parts are easy to change.
  • Separate concerns.
My favorite is "the best practice is one that works" ("Knew Know", multiple citations circa 2000-something up to this post and beyond). But let's add some Tridion-specific detail.
  • Don't hard-code Tridion Content Manager Identifiers (tcm ids) when possible. Actually, never! Well, except maybe in questions to make it clear what you're doing, but even then someone's going to copy your code... See? Best Practice discovery isn't simple.
  • Use friendly names for author-facing items such as templates and schema but geek-out with your favorite naming conventions for developer-specific items such as embeddable schema.
  • Build for change by using configurable system components, source control for assemblies, and extensions, not customization. Place template-related content in components to avoid needing to localize templates for, well... content differences.
  • Separate concerns by using a tiered architecture; managing content, design, and pages in different publications; and having content management and delivery in different environments.
You should also reveal the "we could build it this or that way, but won't" options. Let's make sure the system works, but just because you can do it a certain way doesn't mean you should, it depends on... let's say it again, context.

How to Remember Tridion Dynamic Linking

When you first explain Tridion Dynamic Linking, you might get some head scratching and puzzled looks.

Dynamic linking allows content authors, who may be separate from editors (think of the classic publishing setup for, you know... newspapers), the ability to create links to other content without needing to understand where that content is used. Before you say, "but I want to link to a specific page," there are several ways to handle such linking, it really depends on your environment and business needs ("page proxy" method comes to mind, but we'll save that for later).

The linking algorithm is fairly simple if you think in terms of either finding lost items or familial relationships (I know it's hard to not just love everyone the same in your family), but here are the steps.

If you have access, read the official explanation for Component Link Resolving on SDL Live Content.

For a dynamic component link, rendering will create a regular hyperlink to a page that has a component presentation (component + template) for the template with the highest priority. If you paid attention during training or read the docs, you'll know to set your snippet component templates to lower priority (or never link) than your full articles. Your main full article details template would have high priority.

In the case of ties, here's the break down. Check...

1. my page
2. my web folder or structure group (SG)
3. child SG and pages
4. parent SG and pages
5. sibling SG and pages
6. grandparent SG and pages
7. sibling of my parent (aunt/tía/tante) SG

This might match your "who has my iPhone" search procedure (except around step 4, which might be "the wife" instead of "mom"). Check

1. my pockets
2. the room I'm in
3. the kid's room
4. call mom
5. text sister
6. go to grandpa's
7. ask other relatives that came over to last night's party

In the case that you don't want this behavior, create whatever linking logic you fancy. Nothing's stopping you from using XSLT, RegEx, or some transformation function in template logic or maybe presentation server code. Want to use a page with querystring parameter? Sure. Want to then hide the details for "SEO compliance?" Sure. You can even add template links that aren't in the schema (of course).

Happy linking.

Train and Untrained. Which are you?

There is no such thing as tough. There is trained and untrained. Now which are you?

Kelly Thompson, SDL Web Content Managaement (WCM) division's global trainer mentioned an upcoming training discount and asked if I could spread the word.

Tridion Training Summer special, bring a friend for half off. Or is that bring half a friend?

The best way I know how to spread the word is to tell a story about my experiences, missed opportunities, and excitement about the new training changes (if you need a practical way to calculate the business benefit and convince the boss, read more on Training Matters and ROI from Julian Wraith).

Revisiting Training Four Years Later

I once survived four days of Tridion training with  Chris (UrbanCherry) Summers. He threw candy. I later tried the same but the trainee screamed. She was very near sighted. I stopped throwing candy since.

Four years later, I had a chance to breeze through four days of training in two sets of four hours. I challenged and questioned everything much to my trainer's chagrin (sorry, Vishnu).

But I did learn some "a ha" things.
  • Validation! Though I learned some things through trial and error, my seemingly creative solutions were recognized Tridion patterns.
  • Authorization! I was doing Tridion groups in a hard-to-maintain way. Oops. It is okay to have publication-specific subgroups. I came up with a so-so scenario that required one "rights group" and one "permissions group" per author. I know better now.
  • And later with Kelly, I learned the importance of information architecture (IA). We implement forward, but design backwards. Define page types and then identify content types to reveal your schema. Magic.

Training?

I had one big question after I won a SDL Tridion MVP award and the group mentioned perks. "Training?"

Unfortunately the answer at the time was ("just") a mix of boot camp sessions, my very own Tridion license for research, and exposure to the community. It was more than I hoped for, but I would have still paid for training on my own.

I had one big question before I joined the new gig. "Training?"

Unfortunately the answer at the time was a mix of shadowing, self-study, and exposure to the technology. It worked for me, I joined. I can be a sponge and learn by varying degrees of osmosis.

Shortly after, my worrisome question was answered by having Kelly Thompson join the team. Since then, we've had more training than I hoped for. We've had training on how to train, opportunities to give training or to take training, presentations about the importance of training, and lots of actual training deliverables--templates, new slides, revised exercises, and subject matter experts if you want to count fellow consultants. I'm not quite sure what it was like before I joined, but at the center of all this training activity was our global education manager, Kelly Thompson.

Training!

Kelly Thompson has over a decade in IT and Tridion experience as well as a background in education. She delivers my kind of training by focusing on teachable, learnable skills. She's helped deliver:
  • Training material and website refresh across SDL Tridion 2011, UI 2012, and other modules
  • New training website (no sandwiches here, sorry)
  • eLearning!
  • An education-based teaching approach and method
  • Global collaboration. Kelly has a knack for connecting and bringing people together.
She helped me up my training participant feedback ratings for one client from averaging in the 7's (not bad for corporate training) on Monday, to nailing 9's by the end. She also shared the subtle setting to be able to publish from a parent into a child publication without creating a "faked" publication target--I think I hung my head in disbelief and lamented all the times I told people it wasn't possible when she explained it.
And though I blog to save my peers from constant Tridion-is-so-cool spam, Kelly graciously accepts and even acts on some of my crazier feedback. Maybe it's not a coincidence that her initials also stand for "Knowledge Transfer."  Seeing is believing, if you get the chance to try, buy, or demo a training initiative with WCM division or especially Kelly, go for it.
Check out the buy-one-get-one-half-off 2012 summer special while it lasts.