WebDAV is Fast. Upload Multimedia is Faster.

You may have followed the "standard" SDL Tridion content creation process:
  1. Get media by saving image(s) to your computer
  2. Upload media by creating Multimedia component(s) in Tridion, optionally using WebDAV to copy and paste or click-and-drag the media into Windows Explorer folders
  3. Create content, using media by first creating your content component then linking to the above multimedia component as needed.
If you've been spoiled by how easy it is to use images in blogs, email, and social media, you might wonder if there's a faster way. Yes, there is.

Enter Upload Multimedia

Though this option might seem confusing to long-time Tridion authors, it's rather ingenious.
If WebDAV is the Windows user's answer to creating content in a familiar environment for Windows users, then Upload Multimedia is the CME user's answer to creating content in a familiar environment for Tridion users. In other words, why switch context to create a multimedia component when you can do it from the CME.
Upload Multimedia could have a sexier name like "Quick Create" or "Lazy Image Loader" because of the following features. From a folder in Tridion, a user can choose Upload Multimedia to:
  • Select a binary, optionally entering a url in the open dialogue's filename box
  • Tridion will then create a multimedia component in the current folder, matching the folder's linked schema or the Default Multimedia Schema (set in the publication's content configuration section)
  • The new component's name will match the binary's file name, minus the extension, if it doesn't already exist in the folder
Like WebDAV, mandatory metadata fields prevent this from working smoothly. Unlike WebDAV, however, it won't override same-named files; Upload Multimedia creates copies with a suffixed number in brackets instead of updating same-named items (e.g. myimage[1]).

Similar to the Simple Content Update Instructions, use the Select Item pop-up as a "mini-CME" to create items you need, when you need them, as seen below.

Sometimes adding an image is an after-thought or a last-minute nice-to-have...
Select the Image option and we're ready to Browse to a multimedia component...
Hmm, I want something that's not in Tridion yet.
We can use Upload Multimedia Component to save time.
Select an image or even enter a url.
Either will create an uploaded multimedia component.
We end up right back to where we started.
Optionally set advanced settings and press Ok.

Creating items from the mini-CME works when you've minimized localization and have your authors create and link to content in the same publication.

All that's left is to optionally organize the images. This is where Where Used and the fact Tridion folders don't necessarily map to presentation server-side paths make it easy.

WebDAV is fast. Upload Multimedia is faster. External Content Libraries (ECL) will be fastest.

Still not fast enough for you? Check out Albert's Batch Image Uploader (includes a hidden drag-and-drop from desktop to browser option) for the PowerTools or wait for the ECL feature in Tridion 2013 (see the Community Webinar by Bart on ECL).

Can't Paste from VMWare Player to Windows 7

I occasionally "lose" the ability to copy and paste from my VMWare image to my host (laptop).

After some Google searches, I've found the following works at least with my setup.

Start > Run (Start + 'r' for the keyboard shortcut):
"C:\Program Files\VMware\VMware Tools\vmtoolsd.exe" -n vmusr
C:\Program Files\VMware\VMware Tools\VMwareUser.exe

If it doesn't take, running them again in reverse order seems to work. Not sure if it's a timing issue or if one command doesn't really do anything.

Environment details:
  • Windows 7 Professional, 64-bit 6.1.7601, Service Pack 1
  • VMware® Player 4.0.4 build-744019, running Windows Server 2008 R2
Speaking of VM's, it's almost time to psych myself up and start an SDL Tridion 2013 instance and figure out the Virtual Machine and IDE details (will VMWare Player work? Is it time for Visual Studio 2012? etc). Ping me if you've been brave enough to start. Maybe we'll schedule a 2013 hack-a-thon.
Update: I'm hearing so far it looks like VMWare Player, Visual Studio 2012, and Windows 2008 R2 or Windows 2012 would be suitable for a test 2013 setup. As with all not-yet-released software, any information about SDL Tridion 2013 is unofficial and likely to change; refer to product documentation when available or contact Sales or Support for specific product questions.

Yet Another SDL Tridion Navigational Approach

If you've done Tridion implementations long enough, you'll recognize the three classic navigation approaches.

The Basics

  • Pages and Prefixes. Pages in a Structure Group with a prefix naming convention (e.g. 010 Summary, 020 Detail Page) could create your navigational relationship. This is typical for global navigation and can be published in a single file (e.g. .xml or .sitemap) for server-side rendering. This has been mentioned on StackOverflow and discussed/debated about hereherehere, and here.
  • Link Lists. A container component links to other components. Simple and ultimate flexibility with some extra work for authors.
  • Taxonomy. Categories and Keywords create a relationship that presentation-side code could query or otherwise "transform." Chris Summers presented on this in a community webinar.

But Now...

Let's add one more to the list:
  • In-Page Navigation via Component Presentations!

SDL Tridion. Bottom-Up or Top-Down?

A few customers have asked me about the trade-offs between SDL Tridion implementation approaches.
Typically you design SDL Tridion implementation top-down but build bottom-up. Sometimes it makes sense to reverse the process.
Implementing SDL Tridion is rarely an either/or situation. I've typically seen a mix of approaches depending on the circumstances. Let's review the typical approach then consider the opposite: a top-down build followed by a bottom-up design.

We Define Top-Down

The SDL Tridion functional design typically starts with the client's business and website requirements. Using Information Architecture, we review website specs (e.g. wire frames, comps, or mock-ups) and analyze them for Page and Content Types (i.e. Component Presentations).

We then define a Functional Design that includes, among other things:
  1. Presentations: Page and Component Templates as well as Template Building Blocks (TBBs)
  2. Definitions: Schemas and Keywords
  3. Organization: Folders and Structure Group as well as Categories
Photobucket

We Can Build Bottom-Up

Given a Functional Design, we can build a SDL Tridion implementation from the Bottom-Up. We reverse the list above and create the following.
  1. Organization: Folders, Structure Groups, and Categories
  2. Definitions: Schemas, Keywords, and optionally Components
  3. Presentations: Page and Component Templates as well as TBBs
Photobucket

Though these lists simplify reality a bit, the order matters because of Building Block dependencies. Though you could do things out-of-order by creating Component without Categories or making pages without Component Presentations, the point is to understand the impact of such dependencies on your implementation, design, and code.

...Or You Can Build Top-Down

Why Page Types Are a Very Good Thing (TM)

Update: It seems Experience Manager only allows System Administrators the ability to create Page Types (confirmed at least with XPM on SDL Tridion SP1-HR1). My sentiments are the same--we shouldn't hesitate at using Page Types in implementations--luckily you've already defined at least the IA version of these in your functional designs, right?
An SDL Tridion Page Type creates a predetermined set of:
  • optional "dummy" content (place holders) you're meant to change
  • content that should be left "as-is" from the Page Type (i.e. "template") -- if this ever gets updated, your version should probably get updated as well
Experience Manager (XM), the in-context UI that replaces SiteEdit 2009, allows authors the ability to set pages as Page Types by simply setting a check box.

A user A System Administrator sets "Use this Page as a Page Type" for a given page, then sets:
  • Page Type Description
  • Page Type URL
  • Component Presentation settings for either:
    • Include this Component Presentation OR
    • Include a Component Presentation that contains a copy of this Component, which then offers two more settings for:
      • Folder (where to save such copies)
      • Format string (on how to name these copies)
Authorized users now have the ability to create page in XM based on this Page Type. See SDL Live Content for the full details.
I was impressed when we first saw this feature in February, 2012. One concern was how customers might feel about giving regular page editors this ability. Shouldn't giving authors the ability to create pages and such "prototypes," be up to IT or the Content Management Office?
So far, I have heard one client ask about controlling the option. And the "good" news is only Admins have the ability. I take back any reservations--at least some authors should be able to create page types--for the following reasons.
  1. An author that can set such a setting already has the ability to create and edit such a page manually.
  2. An author that can set such a setting already has the ability to create and edit such a page simply by copying and pasting the page (and then components.)
  3. An author that can set such a setting already has enough to do, making their life easier is a Good Thing.
Restricting this ability is equivalent to wanting the following.
  1. Although a content editor has the ability to create pages similar to an existing page, we don't want it to be easy for them in XM (which defeats the purpose of XM, yeah?).
  2. Although the easiest way to make a page and update content in the CME mimics XM Page Types, we want to remove such "Copy & Paste" functionality from XM.
  3. Although this prototyping pattern is familiar to anyone that's seen "templates" (real ".dotx" templates or even just copies of .docx) in Microsoft Word, we want to make this a Power User or IT-only function.
You've been doing "Page Types" in a non-CMS context for years now. Anytime you've heard, "oh yeah, get the template from the shared file/SharePoint/Wiki and make a copy," someone has saved time and effort in creating something based on a predetermined set of:
  • dummy content that's meant to be changed
  • content that should be left "as-is" from the "template" -- if it ever gets updated, all versions should probably get updated as well
Since only admins can create page types, I'm withdrawing my rant below. Can't argue for giving authors the page type ability if you can't currently give authors the ability. ;-)

The biggest challenges with Page Types will likely be explaining some terms and making sure your authorization model allows your editors to actually make the pages and content they define in Page Types. If they can create pages, it's likely you already let them create content.

Understand what Page Types really do, trust your editors, and be pragmatic in your implementation. Realize this type of approach isn't new, nor unique to SDL Tridion, and that Page Types are more administration than administrator type functionality.

Any other features you wish more authors had more (or less) access to? Leave a comment below.

The Vendor-Client Dance Partnership

Long before my life in IT consulting, I've entertained the idea of a career in Ballroom Dance.

At Champion Ballroom in San Diego, I learned a simple, elegant answer to the following question about dancing with a lady.
Q: Assuming you're the dance lead, how do you get your partner to take a step with a specific foot?
....

When Near-Duplicate SDL Tridion Schemas Makes Sense

This question came up in a recent Content Modeling workshop. The customer was wondering why you'd want separate "Press Release" and "Article" schemas. Why not conslidate them into a single schema? Excellent question. Here's my view.

You'll often see nearly identical SDL Tridion schemas (content definition items--think "xsd" not "database") with fields like:
  • heading
  • subheading
  • image
  • description or summary
  • repeatable paragraph or section, an embedded schema with the following:
    • subheading
    • body
An "article," "blog post," "press release," or even "biography" schema may have very similar or even the exact same fields. The inclination might be to consolidate these, which is okay sometimes. Here's where it makes sense to have similar, but distinct schemas.
  1. More control over permissions -- separate schemas lets different sets of authors create only certain types of content.
  2. Simplify page template logic -- separating schemas gives you better control over how content displays on a page.
  3. Reduce template-selection options -- templates associate to schemas and authors only see the templates that relate to that schema. No need to show templates that authors won't use most of the time. This also impacts the Content Delivery API--imagine selecting all press releases... except these that really aren't press releases, but  are using the same schema. Authors would need a redundant "type" selection.
  4. Simplify author experience -- fellow Tridionaut, Asier Fernández also prefers that schemas have only the fields that apply to a given scenario, content authors can get confused by unclear fields they should ignore in certain contexts.
  5. Improve organization and default schema selections -- by setting linked schemas in folder properties, new components in that folder automatically have the right schema and fields. Authors don't even need to select New Multimedia Component if this is set to a specific Multimedia Schema.
  6. Reduce broker database size (minor point) -- we get a dynamic component presentation per template x component. This isn't such a big deal IMO because this is a linear change (nx2 or x3 rather than n^2)
  7. Flexibility and independent development -- changes affect all components. If you suspect some content will get different types of fields or keyword options, consider separate schemas.
You can optionally use the same embeddable schema to consolidate the actual fields, but still get the benefits from above. Use embeddables when:
  • Your rich text and keyword options are the same across authors and content. Changes to the embeddable fields affect all schemas that use them. 
  • You need to allow repetition for a set of fields.
  • You want to use the same set of fields, but give the entire set a different description name.
Happy designing. I'd love to hear your thoughts on what's worked for you and how you approach schema design, feel free to leave a comment.

Creating an SDL Tridion BluePrint

I've yet to achieve BluePrinting mastery, but I've learned some useful strategy and tactics along the way. First some SDL Tridion terms for the uninitiated:
  • A Publication is a repository of content, the largest "container" in SDL Tridion. It may feel like a Web Cabinet to Documentum Web Publisher users, but it differs in how publications share or inherit items across publications.
  • A BluePrint is the relationship of SDL Tridion publications, which have parent-child relationships in a hierarchy of sorts. The layers in this diagram are logical and don't necessarily represent actual levels in Tridion.
  • A Shared item is a representation of an item in a child publication. All items are shared by default from the publication immediately above. They don't all have to be used in pages nor published below, though.
  • Localization in Tridion is the ability to change the text in a component, while keeping its place on a page or relationship to other components.

Let's Make a BluePrint

A general approach at creating a BluePrint design is to:
  1. Start with the scalability layer ("empty" parent) at the top with a Schemas publication below it.
  2. Add a Content Publication.
  3. Add a translation layer if needed. I typically assume so, but I've seen one-language BluePrints.
  4. Add the publishable sites at the bottom and their localized child publications. You can use current Web domains to estimate the number of publications needed. You don't have to add them all to the diagram up front, though :-)
  5. Add corresponding publications on the design side.
I personally like a flatter design layer with a design publication per publishable site, but some might prefer replicating the content relationships--meaning if you have a Master Publication to create Structure Groups and Pages with children publication, you'd have a Master Template Publication and two children publications on the design side. This assumes you're okay with localizing templates, though.
The rest of BluePrint design is revising, adding, and removing publications as needed. I personally prefer a minimalist approach with just enough separation and publications, but I've seen the "let's create the fully-exploded tree first" approach work as well.

Avoid a Bad BluePrint

You might have heard horror stories about "BluePrinting Gone Wild" and problems from bad BluePrint designs. Don't let this scare you off, it's really a matter of avoiding three scenarios:
  1. A single publication. It's actually not impossible to pull this apart, but expect down time and lots of manual work including infrastructure changes and "re-doing" pages.
  2. A missing scalability ("empty") parent. Simply because we can only add children publications. Not having an empty parent means any future high-level publications are forced to inherit whatever you have at the top (typically all the schemas from the schemas publication).
  3. An over-engineered marvel of a diagram that achieves ultimate flexibility. Too much choice is really a bad thing.
Understand that if you have a central set of content authors (who also edit pages), jumping between publications can be tedious. Really consider the authoring context surrounding your content before attempting to create multiple content layers.

Changing a BluePrint

If you really need a future Publication layer, the biggest challenge is avoiding naming conflicts in folder and structure group paths. Also, pushing items down is easier that moving them up, especially with "dynamic" content. So adding a "Shared set of pages" or components above your publishable Publications is relatively easy later, but re-doing publications with pages is hard since templates are "in use."

Though we might segment regions at the lowest publication level (e.g. "Canadian French"), it gets problematic if we attempt to use BluePrinting and localization for personalization.

Read more on how Localization and Personalization differ on TridionDeveloper.com.

Seven Quick SDL Tridion Experience Manager Tips

Some quick "good design" considerations for setting up Experience Manager page and content types (that also apply to schemas and templates in general). Offer good defaults with flexibility and build much of the decisions into the system itself.

  1. Offer clear, select-able options. Use brief, business friendly-names like "home," or "article." Users don't need to know they're templates, not in the context of selecting them.
  2. Be visually clear. Use icons (very cool feature), but 48 pixels and smaller can be kind of small. Use wireframes, maybe some color, or even text to make it clear what each item is (good tips from colleague Hao).
  3. Offer good defaults. In content types, add practical descriptions and use good default text. Make it clear what the Lorem Ipsum parts are.
  4. Reduce options. Reduce the number of available types where possible, similar to hiding schemas and template options from certain authors.
  5. Prevent mistakes. Remove the Default Template options. Authors may assume you want them to use them. Add default settings when required.
  6. Encourage ownership. Have the business own these naming conventions, settings, images, and descriptions. Descriptions probably shouldn't match schema names.
  7. Try it. Finally, try creating or editing content with your setup. Or better yet, have your colleague or an author try it out, preferably before all-hands training.
Got some nice examples or gotchas when working with Experience Manager to share?

Quick Look Back at My First Year with SDL

A year after joining a great Professional Services organization, lots has changed both for me and in the technical community I enjoy.

Lots of Tridion Stuff Out There

I did my last community overview video in February. Here's an update in 30 71 seconds.

Can you believe that since last October we've seen the PowerTools rebooted, several GoogleCode projects, 20 new GitHub repositories, several dozen blog posts (I'm estimating 200), 700 Stack Overflow questions (and answers), and the StackExchange Tridion proposal reach 71% (from 12% in February)?


The four new Tridion bloggers in the video? I can't really take credit for them, but they did start sometime after I pitched blogging at the last kick-off. Hmmm? (okay, only one admitted I did influence his intention to blog)

Lots of Tridion Stuff for Me

I've had a chance to work with various:
  • industries including banking, retail, and insurance
  • consulting aspects including functional design, training, and code
  • technology/formats/customers such as previous Documentum Web Publisher customers, per-component presentation analytics, SDL Smart Target, SDL Media Manager, open source projects, GUI extensions, Core Service scripts, JSON/C#/DWT/etc, Experience Manager/New UI (!SiteEdit), and on and on
  • modes of transportation :-)
It's everything the team promised going in and then some. Personally, I've found the Midas Rule, trust, and a little enthusiasm all go a long way. Alright, "Year Two," here I come!

Documenting SDL Tridion Folders the Lazy Way

After several projects documenting SDL Tridion folder structures you'll realize they're stale and out-of-date faster than you can type them out. Resort to these alternatives, listed from mindless to-more-sophisticated brands of lazy.

1. Plain Lazy

If you have the folders in your software or desktop, choose from very lazy-to-almost passable:
  1. Print Screen
  2. Alt + Screen for just the window
  3. Cropped so it almost looks like text

2. Agile, Cheap, and Lazy

Create folders on desktop then use the CMD prompt to output the list.

dir /b/s > files.txt

Who knew joint application design sessions could be so easy? Btw, use the same command plus a diff tool to also troubleshoot dll lists. The /s gets subfolders and prepends the path, remove it to just get the first-level files.

3. Sophisticatedly Lazy

If this is for SDL Tridion 2011, open up Visual Studio or your IDE of choice, create a Core Service client and recurse away.

OrganizationalItemItemsFilterData orgItemfilter = new OrganizationalItemItemsFilterData();
orgItemfilter.ItemTypes = new[] {ItemType.Folder};
foreach (XElement element in core.GetListXml("tcm:5-5-2", orgItemfilter).Nodes())
{
    Console.WriteLine(element.Attribute("Title").Value);
    outputFolders(core, orgItemfilter, element, "");
}
//...
            
private static void outputFolders 
(ICoreService core, OrganizationalItemItemsFilterData orgItemfilter, XElement element, string indent)
{
    indent += "\t";
    XElement subElement = core.GetListXml(element.Attribute("ID").Value, orgItemfilter);
    foreach (XElement xElement in subElement.Nodes())
    {
        Console.WriteLine(indent + xElement.Attribute("Title").Value);
        outputFolders(core, orgItemfilter, xElement, indent);
    }
}

If grabbing attributes out of xElements pushes your lazy meter too far, instantiate a FolderData object and intellisense your way to each folder's Title, WebDavUrl, or Path.

var folderData = core.Read(xElement.Attribute("ID").Value, DEFAULT_READ_OPTIONS) as FolderData;
Console.WriteLine(indent + folderData.Title);Console.WriteLine(indent + folderData.LocationInfo.WebDavUrl);
Console.WriteLine(indent + folderData.LocationInfo.Path);

Creative laziness for the win. May your future folder documentation be as simple as 1-2-3.
If the simple Core Service example gets you thinking about others ways to auto-document your implementations, consider joining the PowerTools group. It's fairly trivial to output all kinds of lists with the Core Service--wouldn't it be nice to push a button to get things like schema documentation.
Wait, you haven't seen that extension? Come on, don't be that lazy.

Types of Tridionauts

Portugal is known for great sausage. Unfortunately so was the SDL Tridion MVP Community retreat. Don't make me explain "sausage fest."

Despite such gender homogeneity, the 2012 group represented:
  • Technical consultants from small to large partners and independent consultants
  • Internals (Community Builders or MVPs that work for SDL) with roles in R&D, FC, TAM, Sales, and TC
  • Various countries of origin including Netherlands, Spain, England, and the East/West US Coasts

Are techies with a Y chromosome more compelled to share? The retreat was missing:
  • More non-technical consultants
  • Non-consultants or customers
  • A female perspective
More customer employees will share eventually. Generation 2020 may transform previously closed organizations by introducing millions of digital natives to the workforce. Some SDL Tridion customers already share, ask, and engage more than some internals.

Roles may diversify as hundreds more learn SDL Tridion and existing resources gain experience. All-in-one consultants will continue, but notice how the larger Web digital landscape has changed quickly; there are jobs in a variety of roles:
  • Graphic design, client-side programming, and back-end development
  • Database and system administration
  • User experience, SEO, accessibility, and content strategy

So more types of Tridionauts will share, but will female Tridionauts get recognition?

I once dreamed of changing the world. My Global impact is nonexistent but I've had a wonderful and unique opportunity to contribute to, and possibly change, at least one software community. As my daughter goes from four-to-fourteen, I'm hoping to change the world again.
I'm probably a poor role model for her or young women interested in this type of knowledge work. Luckily Tridion-the-software attracts the brightest and creative problem-solvers and it's a matter of time before someone else, in a different role, possibly of a different gender, changes the community yet again.
So by all means, share or encourage others to share and then consider nominating less sausage (link opens email) for your community representatives.

Update (2016): since this post, we've had two women win the SDL Web/Tridion community award. It's better representation, maybe even high if looking at the gender ratio across the entire community, but we still need to promote and encourage Tridionauts of all types.

Never Gonna Get an Answer

Previously on StackOverflow...

Java Development to .Net c# shift for SDL tridion [closed]


  1. Is a Shift from java to .net a good shift from a career/future growth perspective?
  2. SDL Tridion development - is it a very good option to consider this move? How does it aid career growth?
  3. will it be easy to move back to java again?
I'll answer!

1. No. Being a good programmer is good for career/future growth. Solving real business problems is also good. Writing helps. Humor is optional.

2. Yes. It is a very good option. It will grow your career, but may cost you your mind. But first learn what StackOverflow is about. It might be hard to find a job if this is your only post.

3. No. I know this really good Java guy who's probably not going back to just Java. He's Yet Another Tridion consultant that enjoys the mix of technologies and challenges a CMS/WCM/CXM/WEM umm... like Tridion offers. I know these other guy that we just call KnewKnow cause, well he Knows, you know?

I also know someone from R&D, a physicist, at least two amateur pilots, a former baseball player (I think), a juggling trapeze artist, a skater, musicians, former IT folk, and .NET gurus that became "Tridionauts." They'll likely not go back intentionally. One programming poet decided to do something else, but we wish him well and his contributions live on in the community and in customer installations.
These creative problem solvers will likley find career satisfaction, roles they enjoy, lots of travel, projects with interesting clients, online fame, did I say travel, and possibly weight gain (for some) over their working years. They may even branch out on their own but stay active in the technical community making new companies and frameworks, while occasionally enjoying an evening out (and drinks) with alumni.
Oh sorry, you were just asking about career and growth and... career. Nah, stick with Java.

In all seriousness, SDL Tridion is a leading web content management system in high-demand. Most technicals transition between languages easily, the hardest part for strong programmers seems to be understanding the functionality (IMO). For those that have the opportunity, definitely see if you like the system.

Also know there's a difference between "cost centers" and "profit centers" -- just changing from one to the other could mean more significant career growth (and corresponding compensation). A programmer at a customer with Tridion skills may not see much difference based on their skills; knowing Tridion matters more as an external consultant.

There are immediate career opportunities within the software company itself, through partners, via independent contract jobs, and at customers, depends on what you're looking for. But first, give it a try.

Can We Discover the "Best" Tridionauts?

In a chat with Ryan Durkin, an SDL Tridion MVP Community Award winner, we discussed expertise and the "MVP" (Most Valuable Professional) title, which sounds like appreciation for excellent projects and above-and-beyond type work. You're so elite, no one hears about you, the James Bond of engagements. You don't need no stinkin' badges, though a little appreciation would be nice.

We've heard things like:
The award isn't a competition (more on that later), but for sharing. It may discover well-qualified, but not necessarily the best Tridionauts.

The "best" should be recognized, rewarded, and celebrated. But three strong reasons prevent the best, long-standing Tridionauts from getting Global recognition for their work, you can't/probably shouldn't find the best through:

  1. Satisfied Customers
  2. Certifications or Expertise
  3. Directly through the software vendor (SDL in this case)

1. Most Satisfied Customer?

This assumes reference-able customers, who may not be eager to reveal their competitive secrets nor pick among all their vendors. They  may prefer to appreciate their own teams over vendors, and rightly so.

Customers could nominate the best only if they share engagement details, which is as difficult as creating those shiny joint press releases that need Marketing and CEO approval. Press releases typically recognize organizations and teams over individuals.

2. Most Certified Expert?

The "best" can't solely be determined by expertise or certification, though it'd be nice to offer levels like Bronze, Silver, Gold, or Platinum levels for individuals or partners. Don't get too excited, I have nothing to do with that process.

It'd be nice to know who's the most certified (actually he might have already let us know--retweeting his Tweets and following is a great form of recognition, btw).
IMHO test scores and certification demonstrates your dedication to learn and apply specific knowledge rather than guarantee deliverables. Some of the best programmers I know don't have degrees and at the same time, some graduates struggle to find work.

3. Most Appreciated By the Software Vendor?

The software vendor probably shouldn't directly award resources (btw, the MVP Community selection panel includes a mix of internals and externals). I doubt partners or services company would want the owners of the software they implement to evaluate their projects and employees, then broadcast who's the best among the competitors. This seems as awkward as when the kids ask Mom who she loves the most.

Vendor employees should get rewards and recognition through their HR policies/benefits and management. Yes, you have valuable employees. Value them.

For ex-software vendor consultants (former internals)... well, just like any real world "ex-" relationship, I'm not sure you'd appreciate the wife getting flowers and a weekend trip to Portugal from her ex. I imagine it's hard to reward alumni that are now direct competitors, IMO (however, I do see camaraderie among Tridion resources and alumni, regardless of who they work for).
A company creates community programs to recognize individual contributions to something bigger than just awesome projects, expertise, or good employees
 We should recognize all of these.
  • Customers can issue press releases on great projects (excellent opportunity for "HR Marketing").
  • Experts should continue learning and possibly sharing their expertise for global recognition
  • All companies can reward and appreciate their own employees

Suggestions

Here are my personal, unofficial, non-sponsored recommendations for more Global Tridionaut recognition.

1. Share the Best Projects especially if you do have a great any customer willing to recognize a good project. Create a "best of" award and ask for nominations or anonymous suggestions their favorites. There are also non-CMS related awards we can all apply to. Make it a competition, offer a reward. These can be "Press Releases 2.0," see Zappos + Dynatrace for an example.

2. Recognize Employees. If you have sell services, by all means recognize your team. Award your employees by the criteria you want them to model. Want 12-hour a day workers? Community service? Community sharing (SDL has that one covered)? Are you results-oriented? Do you want perfect time cards? Create a reward or incentive, just be careful at motivating the wrong behavior (e.g. reward most lines of code or pages in documentation and see what happens).

For example, SDL CMT does internally recognizes top contributors at its internal annual kick-off, some happen to be community MVPs, but the focus is on contributions to the division.

3. Hold Real-world Competitions. This idea fascinates me, imagine a "bake off" over the weekend or into the late hours. Multiple teams compete to create some functionality, possibly earn prizes, and achieve Global Tridionaut recognition.

We could even borrow ideas from professional dance and do Professional-Amateur competitions (popularized by shows like Dancing with the Stars). My Midas Rule part in this: I'm brainstorming some hack-a-thon type events, an idea KnewKnow suggested at the MVP retreat. Maybe just internally, we'll see. It may take some time but leave a comment on what you'd be interested in.
Self-Selection. So, how do you discover the most helpful, consultants without needing to inspect every project, query every client, or get press-release approval? Easy. Just like SDL Tridion itself, we publish. Then the Global Tridion community can enjoy the appreciate the content we've created.
Publish anything good lately?

And to be clear about what the MVP program means, I'll personally mention community when I refer to the SDL Tridion MVP (community) Award.

Good User Design Hides "Mistakes"

Good user design helps users along when they make a "mistake." Ideally you never know there was an issue.

In older versions of SDL Tridion, (IIRC) double clicking a component to create a component presentation for a page or to select a linked component would open the item. Trainers had to be careful to instruct trainees to first select the item, then click insert.

I was about to explain that component linking in SDL Tridion 2011 now stops this automatic open and instructs you to click insert, but I actually see these two message (SDL Tridion 2011 SP1-HR1):

Seen when double-clicking a component in the selection pop-up for linking to a component.
Seen when double-clicking a component to add to a page.
If you didn't notice the change, you likely never used R5.3 (possibly 2009?).

Pousada De Palmela

We had the SDL Tridion (Community) MVP retreat at the grand, gorgeous, and very accommodating Palmela Pousada.

Authentic castle meets modern accommodations when manual door locks ("it's really a key!") meet Eco-saving auto lights or high speed WiFi meet 10 foot thick walls. The only minor complaint is I suspect the castle walls still work so well that they blocked WiFi to my room.

Also, apologies to any guests that we bothered during our excited day-time discussions or late night celebrations at the bar.

Our event was a chance to appreciate those that contribute to our technical community. Having a once-in-a lifetime location such as Palmela makes all the difference.

I highly recommend a Portuguese Pousada for your corporate event or personal vacation. If you can, consider choosing the great staff and impressive locale of Palmela.

Obrigados!

Tridion Content Analysis: Part 5, The Answer

  1. The Trivial Example and Question
  2. Context
  3. Inventory
  4. Process
  5. The Answer
Quick, how many schemas and templates do you see?

Tridion Content Analysis: Part 4, The Process

  1. The Trivial Example and Question
  2. Context
  3. Inventory
  4. Process
  5. The Answer
In the previous posts, we saw the trivial Tridion article example then the context that make content type analysis challenging. We reviewed the content inventory details we need for design sessions. Now let's look at how we design from the top down (I owe Kelly Thompson for the catchy point that we design from the top-down but implement from the bottom-up).

Tridion Content Analysis: Part 3, Inventory

  1. The Trivial Example and Question
  2. Context
  3. Inventory
  4. Process
  5. The Answer
In Part 1 of this Tridion Content Analysis series, we saw the trivial article example and knew something didn't quite fit. Part 2 explained why context matters. Let's clarify the details by taking a content inventory.

Tridion Content Analysis: Part 2, Context

  1. The Trivial Example and Question
  2. Context
  3. Inventory
  4. Process
  5. The Answer
I've heard some Tridionauts admit they're capable of Tridion functional analysis but may not necessarily enjoy it. I actually enjoy the process, but Tridionauts and customers have asked me why it's such an involved process.

Tridion Content Analysis: Part 1, The Trivial Example

Learn how to better design SDL Tridion schemas and templates with a little Information Architecture (IA) page and content type analysis in this five-part series.
  1. The Trivial Example and Question
  2. Context
  3. Inventory
  4. Process
  5. The Answer
Content Management System (CMS) consultants use Information Architecture (IA) to analyze your digital channel's content structure to define the content entry forms and templates. IA has the concept of content types, which are structured classifications of content such as article, image gallery, or recipe [see Dan Brown's excellent article (PDF) and another take by Steven Bradley].

Scalable Schema Fields

Content Management Systems often let you define authored fields as well as how they present to content authors.

For example, SDL Tridion allows number, date, and text fields as schema (content definition) field options. Text fields can present as:
  • drop down list
  • select box
  • radio button
  • check boxes
  • tree (may not be as familiar as the others--use it to offer keyword selection organized into subcategories)
After four SDL Tridion functional projects in as many quarters, I wanted to make a tl;dr multi-post on schema and template design. In the meantime, here's three practical schema design tips "from the field."

Consider Keywords instead of Separate Schema Fields

Though you can definitely use "True/False" or "Yes/No" keyword options via a "Boolean Category," consider check boxes driven by a Category for future flexibility.

Instead of:

External Search:
[ ] True
[ ] False

Internal Search:
[ ] True
[ ] False

See if a single field of options make sense:

Search options:
[ ] External
[ ] Internal

This allows you to:
  • simplify entry and consolidate template code with fewer fields
  • add new functionality with a keyword change rather than a new schema field
Some catches:
  • you can't have more than one default option (without an extension), though you could change the wording to make the unchecked option the default update: content types let you create whatever default selections you need
  • you still need template logic to handle the various options

tl;dr

I mock my reputation, which precedes me by a 100 or so tweets, 200 blog posts, and 300-page, printer-killing documentation with this little graphic.

Mock book generated at the nifty 3D package online site.
tl;dr, my strength and weakness! I promise more pictures, diagrams, and code, less prose... someday, soon. Starting any moment now.

How about Verbs instead of Nouns for Publication Names?

My VM is now 50% more action-oriented.
Update 2013-Jan-06:


I might rework the ".5's," but I realized I didn't need the double digits.
Tip: Originally I cropped the "Content Management" out because I couldn't un-select it. To show your full BluePrint without a publication highlighted, just remove the locationId from the Query String (i.e. /WebUI/Editors/CME/Views/Dashboard/Dashboard.aspx#locationId=tcm:0) and refresh.

Amusing JSON Details


I had a client practically teach me JSON in the middle of a functional design session yesterday. Yeah, you can't escape proper Tridion Content/Page Type analysis (a subset of Information Architecture or IA) without looking at markup, in this case it was in JSON rather than the typical XHTML, HTML, or XML (actually it will be HTML 5 escaped within a JSON string along with additional members).

Refreshingly familiar and easy-to-remember, I'm not sure why I didn't catch these amusing, memorable JSON details before:
  • Objects have brackets, reminiscent of your first Hello World class in your favorite language.
    { }
  • Arrays have straight brackets
    [ ]
  • Members even have serial commas, the way I like (am accustomed to) them in prose. Though my Dutch colleagues might disagree.
Now, I'm curious if the team will produce XML that renders to JSON or use a (DWT) template building block for layout and the format. Luckily I'm just on the design side this round. :-)

Not always an Extension

Despite what you might find on Google, Tridion is not all about extensions. Consider implementing or configuring for the majority of your content management system functionality.

Update: Read an insightful follow-up from Robert Curlette on the history of Tridion extensions and their positive impact on projects.

Things I've seen customers or consultants wonder about:
  • Default schema selection for components in a folder? Not an extension.
  • Having such Linked Schema create the correct multimedia schema regardless of which component creation button is selected? Not an extension.
  • Context menu show/hide dynamic changes according to security access controls? Not an extension.
  • Filter author-entered rich text before component save? Not an extension.
  • Change component markup to XML, (X)HTML, ASP.NET, JSP, PHP, Json, or some other text format? Not an extension.
  • Have a component validate and update to its source schema? Not an extension, unless you want to automate this. :-)

You're Not Really a Tridionaut Until You've...


  • experienced the 5 stages of Tridion.
  • been schooled on StackOverflow or TridionWorld.
  • extended the Content Manager. <cough>that's what she said!</cough>
  • broken a Content Delivery install so badly you had to start over.
  • added "check jars, dlls, jdbc, and configs" to your personal mantras.
  • verified and logged a bug in the product (which, of course, rarely happens).
  • been asked to train someone on a module you haven't had a chance to really use... tomorrow.
  • started an intense exercise program such as triathlon training. Failing that, you likely earned and hopefully lost your "Tridion Ten/Twenty." (10kg or 20lbs) It's also called "consultant gut." :-(
  • received Linked-In invites for contract/temporary/full-time employment for in a different state, region, or country for anything from half to twice your current income.
  • lacked the time to really check Linked-In, think about your career, or even this blog. Quick, back to the ship, you've got websites/documentation/code/projects/tickets/random-Tridion work to create or break!

Safe travels as you launch from Tridion World into Tridion Space, fellow Tridionaut.

Other suggestions welcome, leave a comment and I'll add it to the list!

SDL Tridion Parent Publication Permissions Simplification

Here are some SDL Tridion patterns I like that fit a "don't overdo flexibility" mantra.
  • Minimize content publications
  • Minimize localization
  • Make multiple schemas but reduce redundant work through embeddable schema
  • Simplify selections by using Category and Keywords for text fields
Let's add one more: simplify permissions management. As promised, here's an implementation for a "brain-twisting requirement to manage permissions from a single parent publication." This can reduce the need to break inheritance or localize folders throughout the BluePrint and simplify your authorization model for the cost of some extra groups.

I really have to see and prove this out for more scenarios but so far this setup looks promising (i.e. test this out before going live).
  1. Use default rights groups as parents (e.g. Author, Editor, Chief Editor)
  2. Create subgroups for scope and permissions (e.g. Editor Global and Editor Local)
  3. Set these as children of the default groups, with scope set to a specific publication (level)
    • Editor Global is a member of Editor with 020 Content scope
    • Editor Local is a member of Editor with 040 Website scope
  4. Create "roll-up" groups such as All Authors and set these as children of the subgroups.
In your highest content publication, set folder permissions according to the following.

In this example, we want editors to see and edit components in this folder in 020 Content. Because the Editor Global membership scope to the Editor group is restricted to 020 Content,  both the Editor Global and its child group Editor All will have read and write permissions.

But we may not want editors write permissions in a lower publication. Because the Editor Local membership scope to the Editor group is restricted to 040 Createandbreak, both the Editor Local and its child group Editor All will have only read permissions.
For the "cost" of an additional roll-up group (and more subgroups, depending on how you handle scope versus permissions-based groups), you can:
  • Manage most author permissions in fewer (a single publication if you create most folders in 020 Content) publications
  • Set users to an "all" roll-up group and get combined publication scope and permissions--add a user to this group and they get the combined, yet separately managed, permissions, rights, and publication scope
  • Have the flexibility to mix-and-match subgroups if needed
Reminder: only change the "All Publications" scope setting for the subgroup membership. Leave the user membership, the roll-up group membership, and the "available for setting permissions" set to "All Publications."
See update below.* Manage your unique changes, not everything. 

Now, anyone have some good tip on session and user management to test this all out?
Update: the full setup can include "ACL" groups for even read and write permissions across similar folders. Each time you set up a global folder, you could place it as part of (maybe a same-named) group for each. It's a bit extra work in the setup, but troubleshooting and managing this means you can add full sets of permissions just be adding/removing membership.
With an "ACL setup" you'd set "All Publications" for everything. But if only doing roll-up groups, you may need to adjust the scope membership settings as needed (e.g. the Editor All would belong to Editor Local with scope just set to the "Local" publication and so forth).

IS vs IT

The relationship between Information Systems and Information Technology (IT) depends on who you ask. In school we learn an Information System consists of people, process, and technology. So technology is only one component of Information Systems, right?

Academia versus Industry

Yes, but  in the industry we see IT departments that implement information systems. Let's clarify by adding some context and definitions.
  • The generic academic text-book Information System (IS) manages information.
  • IS consists of People + Process + Technology.
  • People = users. If dealing with Content Management, be sure to include content authors, end users, and maybe IT.
  • Process = manual and automated steps. If in TridionWorld, be wary of using the word workflow since its also a product feature.
  • Technology = software + hardware (and sometimes IT personnel, depending on who you ask).
An IS handles information, sometimes in a business, possible for management, and at least in organizations often connected to to software that attached to a three-letter acronym (TLA) such as CRM, WCM, WFM, WFO, or CXM.

Data and Metrics

Tip: there's a distinction between levels of data.
  • Data = raw observations
  • Information = processed data
  • Knowledge = actionable information (at least how I understand it)
I you like metrics you can map the above to:*
  1. Level or given measurement at one point in time (data)
  2. Trend of measured levels as seen in a graph (information)
  3. Benchmarks or comparison (knowledge)
  4. Actionable steps (or analysis)
*Thanks again to Lars and Kurt from a Gartner PPM Summit workshop for this explanation.

In the end, I like the IS definition because it allows for a variety of scenarios, jobs, and roles. Your company may name the IT department whatever it wants with whatever roles make sense, but in the end any computer information system includes people, processes, and technology.

Tips when dealing with either IS or IT

  • Use "IS = People, Process, and Technology" to evaluate any IT project, situation, or problem. It forces a healthy perspective for the big picture.
  • Not all people have the same skills, interest in the system, nor motivations.
  • Not all process is manual, nor automated.
  • Technology influences people and processes, ideally by allowing the same (people) to do/process more
  • It's probably not a good idea to sell technology as a "do more with less" solution, especially if your presenting to the people that may be displaced by such technology
If people call IT by something else, get clarification but go with it. It's more important to help people improve their processes, possibly with technology, than to argue about differences in terminology.*

*Except for health insurance and wellness companies that deal both with CMS, the US Center for Medicare and Medicaid Services and a CMS as in content management systems. If that's the case, consider using WCM for Web Content Management. ;-)

BluePrinting Naming Conventions. More Questions than Answers.

I wish I could explain the history behind various names I've seen in BluePrint design diagrams. But I have more questions than answers. Feel free to leave comments and/or explanations on your favorite BluePrint naming conventions.

000 Empty Parent vs 000 Scalability Parent

  • Form?
  • Function?
  • Habit? Was this diagram from a template or a copy of an existing BluePrint diagram?
  • I've also seen the layer called " Scalability  " but the publication in it called Empty Parent.

010 Functionality vs 010 Schemas and Categories

  • Does the name tell you what it's for or what to put in it?

020 Design vs 020 Layout

  • Does either capture functionality as well?
  • Is design a more sophisticated term?

040 www.createandbreak.net vs 040 Alvin's Blog

  • www. because it's the publishing website?
  • Or the function it serves?
  • Does it matter? It's easy enough to rename, right?

Master, Standard, Global

  • The word "Master" might make sense technologically (ever set the jumper settings on an old hard drive?), but can have strong negative connotations in the US
  • There's also the genealogy metaphor with "Parent"
  • I saw Standard on Manuel Garrido's post on BluePrinting and translation. "Standard Design" has a nice sound to it. 

100 vs 010 vs 10a and 10b

  • I'm used to 010, but realize exactly how many layers do we want to be able to scale to?)
  • SDL WCMS Senior Consultant Robert Mathieu pointed out the useful side affect of using suffixes in the naming convention--though theoretically at the same level, we can group Content Publications and Design publications in order alphabetically. I've also seen this achieved by prepending something like "Site - " before the publication name.
  • I've also seen prefixing the numbers with letters.
I really don't mind what you use as long as it's easy to use, easy to maintain, and consistent within an organization if at all possible.

As long as you have some semblance of the classic BluePrint diagram, we're speaking the same language.


Tridion and Technical Debt

When updating Web content management (WCM) systems, the implementation team has an opportunity of paying off technical debt.

How?

There are a few ways to improve an existing WCM, either by offering more structure, flexibility, or paradoxically a little of both. For example you can:
  • Separate code from content
  • Improve the author experience
  • Improve the design experience
  • Simplify maintenance
  • Improve the user experience
  • Improve scalability
  • Offer more options while simplifying the default choices*
*For an excellent treatment on improving the user/human experience, see Nudge: Improving Decisions about Health, Wealth, and Hapiness

Technological debt refers to design or implementation choices that have a relatively low cost up front, but cause significant issues in the future.

Tridion as a Culprit?

Could Tridion itself cause such debt? Sure. It depends on the design choices and trade-offs.

For example, implementing a mismatched BluePrint, creating confusing schema, or skipping training can wreak all sorts of short and long-term havoc with a Tridion implementation. Also, upgrading too soon or too late with any system vendor has its own trade-offs. Btw, Tridion's complex because of customer's sophisticated needs. No, I'm not being sarcastic, stop grinning. Really.

Avoiding Technological Debt

As developers we refactor code, review approach, and evaluate better implementation methods. When working on business and system requirements we balance business wants with system needs and include both user and IT perspectives. At its core, we reduce debt by planning for, anticipating, and designing for the likely-to-change  parts of our systems. Though you might smell best practices, I see practical patterns.
Easy != Simple.
Just because something has a GUI doesn't mean you don't have to perform the same due diligence. For example, although schema creation is "easy," we should apply the same rigor to avoid technological debt.  Before creating schema, be sure to understand linking propagation, the importance of author-friendly schema names, what types of fields to use, how field order impacts authors, how to properly use Categories and Keywords, BluePrinting, templates, and the difference between page metadata and page-related components.

Organizational change is so hard, some call it change leadership. But while you're investing in Tridion or any other significant implementation, it's a good opportunity to pay down technical debt. If you choose to take on technical debt, do so conscientiously in a way your team can live with.

SDL Tridion CME Authorization

Any discussion for authorization or access to your Tridion setup should include rights, permissions, and scope otherwise you're missing part of the picture. Balance flexibility, security, and maintenance by understanding the basics, learning about patterns, and understanding how the rules combine.

Basics

SDL Tridion separates authorization into rights, permissions, and scope.

Rights = what you can do such as manage components or publish
Permissions = where you can do it (organizational item context including folders, structure groups, categories, but also target types) as well as how (read, write, delete, or localize)
Scope = which publications you can do it
I may have the right to walk where I want, but I may not have permission to enter your front door.
Too bad scope doesn't fit in that clever metaphor. Maybe think scope as jurisdictions where publications are local governments or localities... oh, never mind.

PowerTools 2011 Robot Pics

The SDL Tridion Community went live with our first release this week.

I already presented on the exciting progress, our next tasks, and my appreciation for everyone's contributions in Julian's last Tridion Community Webinar.

http://webinars.julianwraith.com/2012/05/10/june-2012-webinar/

But I also designed and ordered a 3-D Robot from MyRobotNation in anticipation. Enjoy some pics while I ponder what open source _object design_ will mean in a few short years as Moore's Law visits the physical world.

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.