How Long Should it Take?

This weekend, on the other side of the globe, a few colleagues debated how long it should take for a new editor to be ready to create content.

I received a text suggesting I blog about it, not realizing there was a bet on whether I would. Of course I'd blog about it, maybe not right then and there since it was the weekend and the laptop wasn't nearby (in the bathroom) at the time (too much info), but sure!

So here's the post, "Simple Content Update Instructions [for SDL Tridion authors]" written almost exactly a year ago.

More Blogging Tips for the Tridion Professional

Make a Tag Cloud

Want your very own tag cloud? Check out Wordle.net.

This is based off CreateAndBreak's RSS feed.

Welcome the New SDL Tridion Community MVPs!

This year I was proud to serve on the SDL Tridion Community MVP Selection Panel, which consists of 2 SDL employees and 3 externals (internal winners or "Community Builders" aren't announced publicly--the award is focused on encouraging the community to share).
I was impressed by how much the community continues to grow. I'm surprised by how much we shared in quality and quantity. And I'm hoping to clarify what the program's really about and how you can help with pictures, humor, and mentioning Tridionhotties.

First Things First

Congratulations to the 2013 SDL Tridion Community Most Valued-for-Sharing Professionals!

Update: added a link highlighting how these contributors contribute to the community. ;-)
They also contributed or were fairly visible in a few places:

Wow. The SDL Tridion Community in 2012.

One Tridionaut shared 40 blog posts covering the ins, outs, and step-by-step coverage of GUI extensions and Yet Another sharer shared 67 posts covering snippets, approaches, and discoveries across the Tridion API stack. Almost a thousand StackOverflow #tridion questions got 1750 answers on StackOverflow. Lots checked-in open source code.

Even the occasional question or answer mattered. You didn't just participate, you were engaged, active, and helpful.

The long tail of StackOverflow #Tridion answers means even occasional sharing helps.
Are you one of last year's148 SO #tridion users?

What the Program Wants. What Some Expected. What Customers and Your Peers Need.

Ever been here? Customers and your peers often find the community through online search. Are your expertise and knowledge sharing activities "SEO-friendly?"

What the Program Wants: Sharers.

The program is a "thank you" for helping more than your immediate client or projects. It's recognition for those sharing online voluntarily and a possible incentive to help others online. In a way, it gives us permission to share. Seriously, you'd be surprised at how many senior-level experts want to, but hesitate at, sharing.

Sharers at all different levels share what they know to help each other online. In a world where there's no where to horde knowledge, it's good to know where to share (the forum, your blog, or stack overflow are great places to start) .
The community is growing. The community MVP program likes this.
And growing. This is what the MVP Community Award hopes to encourage.

The program didn't meet everyone's expectations. Nuno clarified last year, but the typical responses to an "MVP" title are why him? Why not her? Or a new one: about time he won!

1. Why Didn't So-and-So Win?

"Isn't she as good, nice, or good looking as the other candidates?"
  1. Maybe it's your fault. There were some fairly qualified people that didn't get your nomination. It only takes an email (add @sdl.com to addressee).
  2. The nominee didn't share enough knowledge.
  3. Confusion between a Community award (share!) with an employee recognition award (you're awesome!). Companies have valuable employees. They should value them.
    Two SDL internals and 3 externals can't possibly rate who's the best. Well, maybe Tridionhotties are obvious, but surely out-of-scope for a technical community sharing award.

2. Why Did So-and-So Win?

"He's not as good, nice, or good looking as these other candidates."

He or she met three requirements that emphasize online sharing (more so than hotness or being the best/helpful/most ____):
  1. Voluntarily sharing their Tridion expertise and knowledge online for the previous 12 months.
  2. Getting nominated
  3. Getting 3 out of 5 votes
It's pretty clear on the award page.
To receive the MVP award, nominees go through a review process by the MVP Selection panel. This panel will evaluate each nominee's voluntary contribution to the community over the past 12 months, the quality of their feedback and knowledge, and level of impact. Active MVPs will be re-evaluated every year, and the MVP title is only valid for one year each time. Active MVPs do not have to re-nominate, but are asked to continue their sharing activities.

3. Finally. What took so long to recognize So-and-So?

  1. He wasn't nominated (oops, don't forget next time).
  2. He didn't share enough knowledge online and/or didn't get 3 out of 5 votes.
  3. The SDL Tridion Community MVP is not an Employee Recognition Program, it's not influenced by SDL management nor is it based on customer feedback. More nominations might help, but the nominee only needs one (like meiosis).

The Community in 2013.

You can start or continue to help customers online.

  • Post how to guides online online
  • Share your Tridion expertise online
  • Ask and/or answer questions online
  • Host and/or present at user events and share the results online
  • Share best practices, argue against best practices... online

SDL CMT Knowledge Sharing. Knowledge Leadership? SDL staff started 16 new Tridion-related blogs since 2011. In the last year they shared over 192 posts mostly on Tridion with lots of code, examples, and best practices. With SDL Tridion 2013 coming out, I think we'll see a lot more from SDL's staff. I also see more colleagues finding ways to give themselves permission to share.

Expertise from Anywhere. One independent group has 33 blog posts, presents at events, and hasn't yet made the partner list. Customers and various consultants ask some of the most interesting, helpful questions on StackOverflow. Any individual can recognize the 7 wins in a vibrant technical community and start. Anywhere. Anytime.

You don't need my permission to share. But if you want to improve your SEO, get recognized in the community, and keep up with SDL's employees and experts-from-anywhere, you might need to give yourself or maybe your staff permission to share and participate online.

The community has helped me countless times. The community needs help. I'm not here to tell you to share. But consider asking yourself, “What can I share? How can I share? What will I share in 2013?”

Easy. By Google.
Also easy. In case you don't like Google.

Don't like writing?Got a question?Maybe an answer?



SDL Tridion Humour Part 4

Google analytics tells me my most popular posts are about Tridion basics, Tridion humour, or Lolcats (go figure). Let's add one more to the last 3 attempts at Tridion and consulting humour (Consulting jokes, the Most Interesting Man and Chuck Norris, and SDL Tridion MVP Dynamics). Now with more pictures!

On Language

What do you call someone that knows two languages?
Bilingual.

Three?
Trilingual.

What do you call someone that only knows one language?
American. :-|

Around the Office

On becoming a consultant:
"I got tired of working with vendors. So I joined one."


Did you hear about the Microsoft guru who self-nominated for the SDL Tridion Community MVP instead of Microsoft MVP? Hopefully, neither did Microsoft.

Tridion Portmanteaus 

"What do you call someone that works with Tridion?"
Tridionaut. (-naut from ancient Greek for sailor, e.g. Agronaut, astronaut, cosmonaut...)

"How about someone that pretends to know Tridion?"
Tridionot.

"What are you when breaking best practices?"
Tridionaughty.

"Tridion know-it-all?"
Tridionhaughty.

"A beautiful Tridionaut?"
Tridionhottie.

Random Photoshop Paint.net Fun

With some repeats worth revisiting.
One of these heads isn't like the other.
One of these heads just doesn't belong.
Can you tell which is not like the others?
(not sure how well the Sesame Street reference translates)
Have fun at !SiteEdit, New UI,
Experience Manager Bootcamp?
Thanks BB in AmsterdamCoded Weapon
Nick in New YorkKnewKnow on SweetEdit, and NetWhisperer Madhu.
Nick Fury! Don't make this guy mad. :-)
The Most Interesting Tridionaut.
The Huizard of Tridion.
Down in front!
tl;dr, the book!


SDL Tridion and Web Analytics (aka How to Identify Unique Content Instances?)

SDL Tridion can help you manage your Web site's (the hot new, soon-to-be dated term is digital channel) content. You may want to measure your content's performance, but first you'll need to "identify" your content.
Let's look specifically at identifying unique component presentations and links, which might equate to querystring variables at the end of href attributes in anchors (e.g. <a href="/somepath.html?id=some-unique-identifier"). You can then use some server logging or your analytics package to interpret the results. The syntax doesn't matter so much as knowing how Tridion Building Blocks relate to your final markup.
Let's take an analytics package-agnostic approach to understand why Component IDs are not enough, what you can use for unique identifiers, and some surprises you might encounter in implementing Web Analytics with SDL Tridion.

I've seen the following conversation a few times this year.

Customer asks, "How do I do Web analytics with SDL Tridion?"

Consultant explains, "By tracking Component Presentations, fields, and positions for article-type content."

"..." [slight pause as more pressing work takes place]

"So... how do I do Web analytics with SDL Tridion?"

Analytics is just one of those deceptively simple tasks that needs a good deal of input, working sessions, and buy-in to get it right.

Component ID is Not Enough

I see confusion between SDL Tridion Components, the design-independent text and media, and Component Presentations (CPs), especially when organizations skip training or are new to the terminology. This is especially challenging when previous implementations specifically used "component" to describe the visible content instances (now CPs) on the site.

Since authors can use the same Tridion component across multiple pages with different presentations (component templates), Component ID is not enough.

A Component is not the same as a Component Presentation.

Goodbye "click here"... again.

Have you been hearing the question, at work or from clients, "What are we going to do about Mobile?"

I am going to bypass that question completely. Instead, let's ask "what are we going to do about Desktop?" Specifically let's revisit mouse-centric views of the World Wide Web.

Web Accessibility Practices Avoid "Click Here" Links

If you've done Web development for a bit, you might have heard "click here" is a poor choice for hyperlink (anchor) text, for accessibility and even for SEO reasons.

Screenreaders allow blind users the ability to navigate and skip around links, but it's not helpful when out-of-context links sound like:
  • Click here for more info
  • Click here for more info
  • Click here for more info

Making Config Components Disappear

Let's work some magic and make config component disappear when dealing with image/video galleries and personalized promos. We'll revisit three ways to relate content in Tridion and take a trip to see the Huizard.

Config Components are useful. We don't always need them, though.

What Galleries and Personalized Promos Have in Common

Have you ever created an image gallery or displayed related links with Tridion? Let's see how they're very similar to personalized promos,
Image Gallery. Final markup has a main image as well as related images that display according to some ordering/priority rules .
Content authors want to control:
  • The relationship between rendered items
  • The order they display, either by priority, by manually arranging a list, or both
  • A default main image, video, or fallback content
Surprisingly, an image gallery can be functionally equivalent to personalized promotional content (promos).

Personalized Promos. Final markup has either a fallback promo or related promos that display according to some ordering/priority rules .

Creating Relationship in SDL Tridion

Similar to navigation approaches, you might have created the relationship using:
  • Folders and Prefixes. Given some metadata in a given folder, you could add all related items, sorting by component titles. The folder creates the relationship, prefixes control order, and the main component may be the first item in the folder.
  • Link List. A container Component manually links to related items, which you can organize with template or presentation-side logic. The container creates the relationship, the link order creates the priority, and the main component may be the first linked item. You might have called this a {schema name} Player/Gallery, Proxy, Placeholder, Config, or maybe Query Component.
  • Taxonomy or Metadata. Presentation-side code queries appropriately tagged items (via the content delivery or CD API). Keywords create the relationship, metadata controls order (by priority, date, or some other field), but the user must somehow set a default image.
And like me, you may have seen or suggested Configuration Components that pass parameters for template logic or Content Delivery (CD)-side logic. Then TOM.NET bakes the related content or the website filters for appropriately tagged Component Presentations (CPs).

Vanishing Config Components

Eric Huiza (aka the Huizard) recently helped me simplify a functional design (and CM-side code) we were considering (in real-time, with Visio, for a client over WebEx, no less).

We call Eric "the Huizard" as a compliment and play on his "Wizard"-like abilities with technology.


Scenario

When using the .NET CD API, you might pass some parameters to a tag library or control. Consider this fictional example:
<customer:ComponentPresentationQuery keyword="somevalue"
          sortorder="chronological" fallback="tcm:5-123"/>
The individual related components might have metadata, but a separate Config Component has the keywords we want to retrieve, a sortorder option, and a component link to a "fallback" item. CMS or CD-side Code retrieves the related content.

But considering we already have an item which contains metadata, skip the container with its link to a fallback and use one of the components directly on the page as a CP (or in a component link).

CD-side or template logic would then:
  • Use the component as the fallback or main item  (queued video, image, or non-personalized content)
  • Retrieve related items, by the keywords the item has itself
So instead you can use something like:
<customer:ComponentPresentationQuery runat="server" fallback="tcm:5-123"/>

What about Priority?

All we're missing is priority/sort order, which could be inferred:
  • From the schema (e.g. press releases sort by date)
  • By the presence of certain fields (e.g. if there's no date, sort by title instead), or
  • Controlled through multiple templates (e.g. Video Gallery by Date, Video by Name)

Summary (tl;dr)

Additional configuration options might really need a config component, but when possible, skip the container when you have:
  • A single main or fallback "thing" to display
  • A way to control sort order (by naming convention, some configurable relationship, or logic)
  • Presentation logic (i.e. CD API) to retrieve items with the same or related keywords. Otherwise "bake" the relationship in your template.
In the right circumstances, you can change this to a single component link or component presentation.

One last tip: if you're stuck on the config component approach, at least use an embedded schema along with Categories and Keywords to create the same set of fields for the configuration and for the actual content components.
Have a great New Year and thanks for making 2012 a little bit (a great deal) better for the SDL Tridion Technical community. May your next design session be magical, heh heh. We're not in Kansas, anymore... I'm off to see the Huizard! [Insert witty remark relating Tridion, magic, and config components]