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?).