Understanding TOM.NET Before Using TOM.NET

Coming from a mix of business analysis and ASP.NET development on the content delivery side, I've typically looked at the Tridion Object Model's API as that "next hard step" in my technical development and understanding. 

After working with it a bit more, I realize my hesitation was unfounded. As my colleague, The Huizard, might say, "it's just an API." Though he was actually referring to the Core Service, functionally-wise, the Content Management APIs, tools, and editors follow the same underlying rules (more or less--feel free to share your favorite "gotchas" in a comment below).

So if you understand this...

And this...

Then with some practice, TOM.NET, the Core Service, or even Content Porter are not as challenging as they might appear. Especially if you consider the Content Manager Explorer has used the same APIs to do its work (now fully through the Core Service in SDL Tridion 2013).

Understanding the separation between managed content and display or between the content management system and content delivery is key to understanding Tridion functionality. I also suggest that understanding Tridion functionality forms a strong starting point in understanding its Content Manager APIs.

You're Too Close to Your Expertise

I'm surrounded by highly-qualified, problem-solving coworkers and friends that are sometimes blind to their own strengths and expertise. I think we have more to share than we realize.

A theme my company promoted this year was "Climb Higher." I like how the phrase evokes a challenge, we're scaling scenarios and reaching new heights. Maybe with all this work, I'll lose some of the "consultant gut" my technical account manager jokes about.

I'm ready to climb! But I also want to be sure we don't become victim to the "curse of expertise" by losing our audience. Should we chase expertise while ignoring what we already know and what we can individually contribute?

I'll Share When I'm an Expert...

I'm seeing this less among my immediate peers. Most share when they can and have ideas on what they'd like share. The challenge now is finding/making time or narrowing down topics (to which I point out you're already answering and helping customers all the time).

False Dichotomies...

It wasn't until one of my colleagues admonished me to "never apologize for not being technical" (guess who gave those encouraging words) that I started noticing Tridion expertise isn't all or nothing. It's not even functional versus technical. There are so many aspects to content management, in general, that it's challenging to really know it all (my post on the seven places for markup hints at this).

The landscape looks more like this, which means there is a lot of room to share what you know that others might not know.

Don't Shrink the Ring of Online Expertise!

Combining the two ideas from above, inspired this visual. As we each progress in our careers and development, we may forget what was hard or challenging. We may never be satisfied on the autodidact's path, but you know people need what you know every time you get those same basic questions specific to your expertise.

Rather than waiting to share deep knowledge and expertise when you're ready, maybe it makes sense to start from where we are? Or even better, start from where your audience needs you?

Climb Higher by Making the Climb Easier

So rather than just climbing higher, let's leave hints and guide posts behind for those that follow our paths. Or better yet, let's construct the easy paths ourselves and that we wished we had when we started.

Let's continue to craft an easy-to-follow landscape. Let's go higher not just not by climbing, but by building or growing mountains.

These cartoons were inspired by Dan Roam's Back of the Napkin (I know I should have done drawings instead), which was mentioned in The Art of Explanation (another excellent, recommended read). I'm using the SDL Buddy as a stand-in proxy for Tridionauts (Tridion practitioners), but any icon representing a member in your community will do.

Places to Get Started with SDL Tridion GUI Extensions

I was asked today how the PowerTools group learned about the client-side API (aka Anguilla) for SDL Tridion 2011 GUI extensions. Much of the PowerTools base functionality was created by key members like Peter Kjaer and Albert Romkes with input from several contributors as described in June 2012 and February 2013 Tridion Community Webinars.

Others (mostly Robert Curlette) have written extensive guides and examples for SDL Tridion GUI Extensions, specifically covering the entire setup.

In addition to the API docs, be sure to check out some additional examples from the community.

In case you’re also looking for Core Service examples, check out a Core Service client example on Yet Another Tridion Blog.

Sometimes I forget that although we have much more Tridion information online, sometimes it's missing a curated touch and context. Have any other useful guides or examples you'd like to share? Leave a comment or better yet, share your thoughts, insights, or examples.

Discover the Power of SDL Tridion 2013

I last made a "training plug" for the 2012 Summer discount (Trained and Untrained). The latest and greatest offer from Global Education is the SDL Tridion 2013 Discovery Course.

Best Parts of Discovery

After having taken and delivered the "bootcamp" precursors to this training, I think the best parts for Tridionauts like you will be:

  • Hands-on practical time with a built 2013 Tridion environment
  • The chance to engage with your favorite SDL CMT consultants (or give your least favorite ones a hard time) :-)
  • Understanding the biggest 2013 features (hint: it's not all technical)
  • Connecting which features will be benefits for your organization or clients

Inspired by this year's and previous Bootcamp sessions, this type of course combines the exploratory free-flow sessions typical of the Bootcamps with the structure and format we normally have in formal training.

Does your Tridion Item Metaphor Work?

It's always a challenge, at least for me, in balancing the need to explain Tridion concepts with hands-on practical time. To far one way or another and students miss out on practical hands-on time or don't fully understand the relationship between components, templates, and pages.
The best training sessions give students the opportunity to understand the concepts, practice them in a safe environment, and then connect this to their practical work. If you can, limit training to about ten attendees, include someone from the actual implementation if it's for custom training, and be sure to match the audience to the right type of training. Be careful with attempts to cover everything in a single session (which is possible when the topics are properly scoped).
One way I can tell students are engaged and trying to work through the definitions is when they start creating their own metaphors to explain Tridion relationships. I've heard (and even tried) several, including:
  • Database columns for fields and rows for components
  • Components as "instances" of schemas
  • People as pages, with organs for components (true story)
  • Rooms for components
  • Legos for components
  • People as components, with "human" as the definition (schema)
  • People as components, with them standing in different positions for component presentations (yeah, feedback was mixed on this one)
To test your metaphor, see if it fits into the following description, adjusting as needed.

A _____________ (schema) defines the available options for individual _____________ (components). For example _____________ (a specific "schema") defines the options to create _____________ (a specific component) or _____________ (another component).

These _____________ (components) can be grouped together in a specific order on/in one or more _____________ (pages). When adding a _____________ (component) to a _____________ (page), you can choose a _____________ (component template), which changes the way the _____________ (component) presents itself, without actually changing the _____________ (component).

Whew. Let's try one?

A recipe (schema) defines the available options for individual dishes (components). For example cake recipe (specific schema) defines the options to create this cake or a separate cake with some optional variation (two components).

These cakes (components) can be grouped together in a specific order on/in one or more ads/photoshoots (umm... pages) (watch as the metaphor breaks a little). When adding a cake to an ad (page), you can choose a set of instructions (component templates), which changes the way the cake presents itself, without actually changing the cake (component).

Maybe let's try the classic Lego scenario?

set of Lego instructions (schema) defines the available options for individual Lego constructions (components). For example "Minifig" defines the options to create an Anakin (minifig) or Obiwan (minifig, as separate components).

These Minifigs (components) can be grouped together in a specific order in one or more Lego Scenes (pages). When adding a Minifig to a Scene, you can choose a set of instructions (component template), which changes the way the Minifig presents itself, without actually changing the Minifig.

Let's make it practical by looking at the icons again.

Schemas are definitions. They define what goes into the box. The brackets suggest (xml) tags, which may or may not make sense to authors, but should be recognizable by techies (did you get your Linked-In endorsement for XML yet?).

A component is the box that holds your content and images. It even looks like a box.

A component template does something (not permanently) to your component. It's a box as well, but that gear suggests it makes or does something (maybe a component presentation?).

A globe on a page. Hmm... maybe it's a page for the web? ;-)
The "Tridion" approach Global Education lead Kelly Thompson has us following includes the phrase, "See. Do. Connect." After demonstrating (see) and having students perform the exercises (do), we follow up with a recap, quiz, or small discussion to connect the exercise to something practical for students.

A metaphor won't completely explain Tridion item relationships, but if your students start suggesting their own, you're making good progress.

Happy training!

Subscribe to Functional or Technical TRex Tags. Roar!

This is a (no longer) quick three-in-one post on a real question I've received, the evolving Tridion (not-all) Technical community, and a plug for DRex TRex.

1. The Practical Answer

Some of my colleagues have asked how to subscribe to Stack Exchage posts. Sounds simple and it is, but it's one of those things you have to dig around for.
  1. As you click on tags on Tridion Stack Exchange (TRex), you’ll see the tag in the upper right part of the page.
  2. Hover over it and subscribe or unsubscribe to email notifications for the tag.

It’s simple but not necessarily intuitive. There’s probably a bigger story here, but that’s all for point #1… for now.

2. The Observation

Yes! Tridion Stack Exchange covers both technical and functional topics. I can continue to keep up with the uber geeks in the community. With tags like "content-modeling" even content strategists that don't necessarily have Tridion backgrounds could ask/answer/join this community.

Can you guess who subscribed to the content-modeling tag?

3. A Plug for TRex

I asked how we can move from 271 visitors/day to 500 on Tridion StackExchange's (TRex) Meta site. So dear readers and search engine bots, be sure to visit TRex.

Oops, not D-Rex (photo courtesy of Content Broom's John Winter). "Roar!"

Tridion Stack Exchange aka TRex! Okay, so this isn't the official logo, go vote for the one you want.

Better yet, ask/answer/learn from others in the community and maybe make a small blog post on your thoughts about Tridion StackExchange for the search engine bots to find (come on, I know you have a blog).

CM-Side Integrations Mocked Up

In the last post I mentioned you can have Tridion provide authors ways to access external (non-Web Content Management or WCM) systems without having the data completely stored in Tridion. Though we've called these "third-party" integrations in training, from a customer perspective these can get confusing among an ecosystem of tools, solutions, and vendors. Let's just stick with WCM integrations for scenarios where you have Tridion plus some-other-system-external-to-Tridion.
I've found a few WCM-side mock ups (or even prototypes and examples) along with  authoring requirements can help teams navigate the challenges between business wants and system needs. In your WCM business requirements consider including stories or requirements such as, "as an author, I want to be able to manage ________ [some possibly external functionality] from the context of ________ [a Tridion item] to be able to ________ [accomplish some important business objective]."
Tip: if you're on an SDL Tridion 2013 implementation, then ECL (check out the video!) should be a strong candidate if you're looking to integrate multimedia (binary) files from another system.

Easy (but with some technical debt)

The simplest integration could be component text fields that have the unique identifiers in some other system. This would be all manual and isn't necessarily the friendliest approach. Here are a few mock-ups of the extension points that others have talked about here (the list), here (get started), here (best practices), here (early example), here (examples and more examples), here (look, script but no GUI), here (dare to extend rich text format areas?), here (ooh, search), here (pop-ups!), and especially here (great starting point for all extensions).

Where to Extend the Interface

In Experience manager, you can do the typical GUI extensions (1 and 3) but also optionally add Staging-specific markup (see programmatic ways to know your template or publishing context).

Add new tabs and buttons to the toolbar or even staging-specific markup for Experience Manager extensions.

The "S's" of CM-Side Integration

Your data doesn't need to be in Tridion to let authors manage or use this data in one of Tridion's interfaces or editors such as the Content Manager Explorer (CME) or Experience Manager (XPM).

As you consider Tridion integrations, be sure to address scalability, synchronization, search (& select), and save.

Scalability and Peformance

You want to be sure you're not having your Web Content Management system (WCMS) manage information that's best handled by the available solutions. For example, product information might be better served by a Product Information Management (PIM) system, whereas Web copy about these products may be a better fit for the WCMS.

You might have legacy applications that are unique to your industry and business which aren't necessarily bad. Although they may have a decade or so of history, legacy systems may also have a good amount of bug fixes (read Joel or the wiki discussion on c2.com).
Bring you expertise and understanding of your preferred solutions to this discussion but to be open to alternatives as well as realistic and practical on how systems will work together. This applies to content strategists, analysts, business stakeholders, developers, and architects regardless if they're part of the customer, partner, or vendor.
On a practical note, Tridion's Content Manager Explorer (CME) can reasonably handle hundreds to a few thousand items per folder or category. GUI performance slows down at about the same point where it gets difficult (for humans) to manage that many items in a given folder.

Inline vs. In-Context Editing

Inline editing simply means the ability to update your content in the context of the page its on. Interfaces like SDL Tridion’s Experience Manager give authors the ability to click and start typing to make changes  which might be impressive (or not). But the strongest feature is being able to find your pages with a navigation you’re familiar with and edit content in the context of its surrounding  content.

If you notice, even blogging tools like Blogger don’t do complete inline editing. If logged in to Google, I can however, click the icon to jump to a form view.

I'm one pencil click away from editing this post.

Blogger has drag-and-drop layout, but it’s in a clean, easy-to-follow interface, independent of your template.