Flaming Sword of Sharing (10% Chance to Proc)

It's obvious I share, but I have somehow acquired the (occasional) ability to help others recognize their expertise and/or to share online. Knowledge professionals are more likely to contribute to their profession's thought leadership after meeting me.

If you're familiar with D&D or MMORPG (massively multiplayer online role playing game) terminology, it's like I have a Flaming Sword of Sharing with a proc that lights the sharing fire in you.

At least three of my colleagues started blogs because of an internal speech I gave. Most of my colleagues in North America and some in Amsterdam started sharing after I joined (correlation doesn't prove causation, but maybe I can take credit for the inevitable here!).

One of these sharers has surpassed me. No, not in quantity, but in page views. Congratulations to Mihai for surpasing CreateAndBreak's page views. Maybe I'll catch up to him, who knows? Mr. Action Mihai Code-ariu's blog, Yet Another Tridion Blog is on fire.

It took me about 2 years to get to 79,419 page views. Mihai passed me in a little over a year. Who's next?
I'm sure hyper-connected Web-savvy millennials will eventually put our numbers to shame. Until then, wield your Swords of Sharing and let's ignite the SDL Tridion Technical community again.
Keep in mind it's not a competition (unless you happen to be me or Mihai). Page views is just one of many ways that demonstrates impact, you won't know your contribution to the community until you actually publish.

The Sixth Tridion Environment

Chris Summers coined the term The Fifth SDL Tridion Environment which is the implementer's sandbox, playground, or simply personal Tridion virtual machine. Getting the license for such an environment has its own challenges.

I want to describe the ultimate, elusive, and harder-than-you-would-assume Sixth SDL Tridion Environment, or the (custom) Training Environment (or simply Train). Often asked for, and seemingly innocent, this environment is harder-to-maintain than production.

Let's highlight typical business, functional, and technical requirements, then navigate the many implementation and project decisions.

Business Requirements

  • For training content authors, developers, and partners working with SDL Tridion and/or a specific implementation
  • Business users should be able to freely create, edit, delete, and publish content to learn Tridion
  • Developers should be able to understand Tridion concepts and see how content manager (CM) and content delivery (CD) work together
  • Architects, infrastructure consultants, and server administrators should see how the system works together
Because the people with the expertise to build such an environment have other pressing duties such as client-facing work for consultants or regular maintenance and builds for developers, there's typically a time and resource constraint.

You probably want to train people before going live, so your custom training environment might even need to be ready before Production, without insight from practical experience in a given organization.

Functional requirements

  • Whatever needed to support the business requirement!
  • I've seen this include the Content Manager Explorer, Experience Manager, a few page/content types, translation, and "Hello World" developer examples
  • Ideally the environment has a "reset" option so the next set of trainees get the same environment. 

Technical Requirement and Questions

If the above doesn't make you uneasy, this part should.

In hopefully most Tridion setups, you have some version of the aforementioned DTAP setup, which means Development, Test, Acceptance, and Production.
A training environment, though non-customer facing, is harder than production in many ways.
In production, you typically have mix of in-progress and published content. Items will have history, may be intentionally locked, and will be appropriately localized in certain publications.

In Train, your content must be frozen in time. Though you could aim or a "clean" setup where no items have history or are locked, you might want exercises that look at history, explain check in/out, or see localization. This means we approach Heisenberg uncertainty here, especially with testing. Testing your exercises means your environment no longer matches the start of your exercises.

So before you add "custom training" to your project plan, consider and answer some questions.

Where will you split the Training materials off of your live systems?

  • In Production CMS. Do you use production to use the latest and greatest definitions? Or another environment to minimize impact on your live sites? Where will you create your split in the BluePrint if using an existing environment? The higher the level, the easier it may be on trainees, but it may make maintenance more challenging. If you wanted to unpublish or delete something, you will have to account for how it's used in the Training publication.
  • In a Separate environment. Will you create a completely separate environment? This of course requires functional, technical, and infrastructure support.
  • Separate pages and/or components? This is an "easy" approach with less setup. But you may need separate users and also need to confirm if you're going to share items. For example, you can't simply copy the home page for ten trainees. You need to redo sets of component presentations including separate components.
  • Folders? Do each user get their own set of folders or do you add subfolders to the existing tree? Tip: the earlier the branch the easier it is for users--they'd only have to remember their user and location once. Even better if you use permissions to limit access.

Which items? Do you use the actual schemas or copies of your schemas? If making a separate set, should you simplify the content model with less fields or keep it practical and "real world?" Are you using dummy content and pages?

How will you handle changes? Regardless of approach how will you handle changes? Should Train automatically get production changes? Does this mean would every release potentially require updates to the training exercises and are you ready to include this in every build?

Who will create the exercises? Will you need materials such as slides, documents, or videos? Can you automate anything?

After you've created everything, what happens when schemas change? If you change the components? Will you update screen shots? What happens when browsers, IDE, or your site changes? Does an update to IE mean your materials need an update? How about when Visual Studio changes?
Real-world recommendation: custom training should not be the first time one of your authors hears about or uses Tridion. You spend time researching, testing, and measuring your customer-facing applications.

Project Decisions

If the above are easy, then answer these six final project-related questions and you have my full support in making a custom training environment.

  1. Who will users be? How will they get access? Who owns the environment? Who will make updates?
  2. What is the scope for this environment? What is its relation to production in terms of maintenance and devlopent?
  3. Where will you maintain or host this environment? Where will you document the details?
  4. When will Train be updated?
  5. How will you manage Train? Will you use source control?
  6. Why are you doing this?

Final Recommendations

Consider a back up strategy, making your approach modular, and getting professional help.

If you're making something that needs to be tracked, must meet specific requirements, and will need to evolve with the rest of your technology stack, guess what? You probably want the same project approach and a similar source code approach. Consider some type of back up, even if it's just a periodic copy or instance on the cloud.

Ideally, your training modules are well, modular. To make independent exercises you'll need to repeat parts and "pre-bake" steps like celebrity chefs do on cooking shows. Consider making training modules separate, but understand this will increase your development and testing time. For example consider a Hello World setup:

  1. Create schemas.
  2. Create components based on schemas.
  3. Create templates based on schemas (and components).
  4. Create pages and use above components and templates.
  5. Publish pages.

Five parts, easy, right? If you separated these so trainees could start at any step, then you'd also have:

  1. A "backup" schema for 2 and on.
  2. Example components based on this backup schema.
  3. A working template in case someone's template doesn't work.
  4. Example pages based on these separate schemas, components, and templates.
  5. Separate folders and structure groups for the above.

You'll also want to be sure the backups don't confuse the regular exercises.

After you've figured all that out, time to get a trainer. Even your most experienced consultants don't know your content model without a tour. I can tell you how SDL Tridion functions, but really won't know what that one field in your component does unless you explain your setup.

There's Hope

Luckily, the groups that I've done custom training with gave me access to the system implementers, a direction and focus for training, and were flexible in evolving the approach together. We typically do well together and I've only had one person accuse me of not being a real trainer. :O)

If you are looking for a guide on your custom training journey, definitely reach out to SDL tridion education.
[shameless plug]You typically don't choose resources with working with any professional services organization, but if I'm on your project, know that I have some five years of explaining Tridion to anyone who'd listen to help and I've been tutoring or teaching in some form since junior high. Helping people learn this system is definitely a highlight of being part of this group.[/shameless plug]
If you're confident in your custom training project, consider some nice touches such as the following (which have been well-received at customers that really considered their staff's needs):

  • Office hours to help anyone that needs more time with the system or has specific questions
  • Trial runs to see if the format, material, and content fit the intended audience
  • Videos and online learning materials to focus on specific scenarios
  • Not always possible, but a "clone" option to create sandboxes for approved teams
Cautionary Warning on Sandboxes. You might be tempted to ask your trainer for a copy their environment. I know because I've asked and have been asked. You can always ask, but understand it's not up to the trainer. Have your manager ask your trainer's manager and understand that any Tridion environment has at least weeks worth of development or consulting time along with intellectual property and years of expertise built into it not to mention licenses you may not have access to (the operating system, IDEs, software, etc) and sensitive information. 
But if you find creating a complete custom training environment is a bit more than you expected, by all means create a few sandbox scenarios for your team.
In the end, it's tough getting a perfect run--everything from cloning to connectivity issues can cause technical difficulties--but unlike production your setup just needs to get the point across. It's okay to play with, learn from, and break the monster environment known as Train. It's meant to survive long enough to get you comfortable with the system.

In this sense, Train, the Sixth environment, can be as fun as your The Fifth Environment Unit,  more challenging than Production, but just as useful as any of them.

SDL Innovate: Enchanted by Tridion's Future and Tridion Re-Reimagined Today

I'm grinning after attending Innovate, SDL's annual Global Customer Experience Management (CXM) conference. Keynote speaker Guy Kawasaki enchanted, SDL Product Leadership laid out a roadmap for Tridion, and Uber Tridionauts Broke everything you knew about the Broker.

An Enchanting Keynote

I read Enchanted and have seen Guy Kawasaki's presentation online before. Knowing he liked to target his opening slide to an audience, I suggested using an SDL Buddy. He enchanted me with this "yes" response to my LonelyBoy15-type request.

The salient, social media-friendly parts of his presentation you might be trying to recall include:
  • Achieve Likability with a genuine Duchenne smile that reaches your eyes ("You're not getting older. You're getting more enchanting.")
  • Achieve Trustworthiness by trusting others and baking rather than eating (life isn't a zero sum game).
  • Get Ready by getting DICEE: Deep, Intelligent, Complete, Empowering, and Elegant.
  • Launch by telling a story, planting many seeds, and using salient points such as "number of songs" versus "GBs."
  • Overcome through social proof (e.g. white ear buds = iPod and enchant all influencers).
  • Present and sell your dream. Remember 10 slides, 20 minutes, and 30 pt font (or your audience's age divided by two).
His sub-points to Endure are particularly fascinating and fits what we've seen in SDL's Web Content Management (SDL Tridion) Technical Community. To endure, be sure to:
  • Avoid using money (especially not as a primary motivation, which I've also noted in my blogging recipe)
  • Invoke reciprocation ("You're welcome, I know you'd do the same for me.")
  • Build an ecosystem 
These last two support The Seven Wins of Developing a Technical Community.

No, SDL Buddy wasn't in the original slide. But he was at the conference. Everywhere.
The Technical Community is only part of a an ecosystem, though. We wouldn't be much without the actual products to create, break, ask/answer about, and discuss.

Building the Future: SDL Tridion Roadmap with Dominique LeBlond

I work mostly with customers and peers on a daily basis. Though we get regular updates on product development it's great to see the big picture, catch up with Product Management, and see first hand what's in development and the direction we're taking.

We have the right people doing the right things, people who demonstrate Product Leadership in addition to Product Management.

SDL Tridion will challenge the "paradox of choice" by offering good defaults while still including ultimate flexibility for those that know what they're doing or what they really want. Readers of Nudge might also see the value in this approach.

For example, we've always had the option to manage configuration forms (components) in Tridion. But I'm looking forward to seeing how Widgets will make these easier to setup and use in Tridion. In Content Delivery (the website tier more-or-less, except we know it's no longer only websites), we'll have a semantic content model (e.g. objects that represents content types like articles rather than Tridion concepts like component presentations).

Rather than thinking in terms of mostly the Tridion Object Model (TOM), you will work with a delivery-side content model, which may include a mix of content and data from Tridion and other systems (like a PIM) on publish (TOM is good corporate team player).

Oh, and regions are also being worked into the Content Manager Explorer. Don't forget to join the discussion on page regions on June 27, 2013--see the community announcement on Tridion Stack Exchange meta.

I'm seeing a Tridion future that's easier for the business and development, what's not to like?

But what about today's technology? Let's look at how Julian and Nuno break Content Delivery paradigms using the current version of Tridion. Beware: the next section is Tridion geekery at its best (worst).

Breaking Tridion Today: Tech Spotlight with Julian Wraith and Nuno Linhares

Give SDL Product Manager Nuno Linhares and Global Technical Account Manager Julian a few days, some cloud instances, and a prompt from Tridionauts (like Kah Tang), and you get a 45 minute demo that's basically a Tridion MVC setup without Tridion's Content Delivery (CD) API.

There's no CD Webservice. No CD API (Tridion's jars or dlls in your Web application). But there's also no querying a Tridion CD storage database (i.e. Broker). Actually, there was no Broker database in their demo.

Julian set up the Content Management environments with Amazon cloud instances (AWS), but it could alternatively be on premise (or in your VM to test out). Cloud Formation let him script the environments and how the instances should (auto) scale.

Julian pointed out with a cloud approach, we can "create or destroy things" equally as fast. I'm sure he really meant to say "Create and Break" things instead.

Content Model in Delivery
The setup placed the typical TOM details such as title, metadata, publication, into a Mongo Database (NoSQL), which has a relatively flat structure (e.g. key-value stores) optimized for large, flexible data sets. No CD Broker and of course no CD API.

Then some MVC magic (webservice, data/model/controller, and page routing/mappings) on the front end creates a dynamic website with pretty much a near-zero Tridion CD footprint and references to fields was simple as ${article.author.name} ("look ma, no strings").

My colleague and I were so excited, I embarrassingly, casually shouted, "Nuno!" to confirm the lack of CD API (in a room full of partners, customers, and colleagues). Nuno clarified that indeed, there was no Tridion software in the delivery tier.

In summary:
  • "Normal" Tridion: Content Manager -> Storage (Broker) -> Web Application
  • The Mutant Tridion in the demo: Content Manager (in the Cloud) -> Non-proprietary NoSQL -> MVC Application

Business Takeaways
This is an interesting, architecturally-unsupported approach that really focuses on the content model in both Content Management and Content Delivery.

But also:
  • As a Web-based application, cloud isn't new to Tridion (yes, Tridion can fly)
  • The Key-Value approach isn't new either, but this includes both content fields as well as custom metadata
  • It took just a few days to prototype a developer-friendly, cloud-based, Tridion-agnostic MVC Web application ready for Big Data (in the form of MongoDB).
If you're a Jim Collins reader, you might recognize the "fire-bullets-then-cannonballs" approach.
I recognize two colleagues having a great time with technology and (ab)using a well-designed, extensible Web Content Management system to prove out a few scenarios. Yes, try this at home in your secret lab. But no, do not try this at work on your enterprise environments! At least not yet--wait for the product updates or consider seeing if cloud or storage extensions to NoSQL databases might fit your scenarios. You'll have to bring your own cloud or NoSQL expertise and support though.

Get ready for Customer Experience Management. In the middle of big data, the content explosion, and Tridion meeting all this heads on, it's exciting seeing what Product Leadership is up to officially and "in the lab." Oh and a keynote presentation that promoted lots of what my colleagues and I have been doing for awhile now? Of course I'm smiling.

Find Your Way With Tridion's BluePrint Viewer

As you start working with a larger SDL Tridion BluePrint, especially in a multi-lingual setup, it gets harder knowing where and how your content and pages are used across publications.

The Where Used feature gets you most of this information, but also consider using the BluePrint Viewer to see and navigate to an item's variations in other publications. 

Open the viewer with either:

Select the Item > Home > BluePrint Hierarchy
Right-click Item > BluePrinting > BluePrint Hierarchy

Tip: open the viewer enough to see your selected item information in the bottom-left corner. The pop-up may hide this useful information if it's too small.

See checked-out and sharing status as well as where the item's original parent exists. It's GPS for your BluePrint!