Differences Between Website and Enterprise Software Design

In my last post, I described (SDL Web) product ideas and the user experience. I continue by contrasting design for website visitors versus for those that manage such websites and end with a thank you and invitation.

Disclaimer: these are my personal views, biased by a business analyst and CMS background and lots of love for my product and its community.

Design Alignment

The biggest difference between working with our customer's designers and SDL's UX team is the organizational alignment. As part of a given customer's digital experience ecosystem (read about being a Good Corporate player by Nuno Linhares) the CMS implementation is often downstream of Web design where the user experience design, wireframes, and even HTML often come before the CMS implementation. The goal of "happy customers" is the same, but the definition of customer isn't. Your persona is not my persona.

When Alignment Works

The best digital agencies and front-end designers understand content modeling and content strategy as they create great experiences for website visitors that the CMS and developers can implement and support. They think semantically, adopt approaches like BEM, and follow thought leaders like Gerry Mcgovern or A List Apart. They look holistically at website visitor goals to help solve real business and user problems.

The Pain of Misalignment

I haven't seen horrible designs in my projects, just the occasional design that didn't quite meet editor expectations that didn't account for long text, more/less content, and other changes to managed multilingual websites. Completely disregarding the existing content/data models and technical constraints means a website design isn't just a design, it's a proposal with new requirements and functionality. Often I've seen what Gerry McGovern would call "tiny tasks" creep into the design, to the dismay of the website builders and eventually users.

New requirements and functionality aren't bad on their own. It depends on what business problems you're trying to solve beyond "a shiny new website." This brings us to our own designers and UX team. When looking at our editorial and developer scenarios, we have to balance desired functionality with existing data models and constraints.

Web design is great when aligned, otherwise in a misaligned corporate Web development environment, you might see familiar elements of this amusing IT meme:
View post on imgur.com

Solving Business Problems

Though there's some overlap with typical website visitors, our users are corporate employees, contractors, and consultants that have built "business critical" systems with our software. Our disciplines each have their focus to support an innovative user experience. Philipp explains better with this slide:

Source: Building the UX Community at SDL

User Experience Community 

Though Product Management has plenty of product experience (a few decades worth combined), to continue to evolve the product lines we work with UX and Engineering to innovate in the intersection between people, business value, and technology.

With hundreds of Tridion-related blog posts and even more Tridion questions and answers, I'm fairly comfortable working in the open. If you haven't had the chance, give us feedback, share your ideas, or mention your open source project in the posts and sites below. Be sure to participate on SDL Community.
Oh and thank you. From my first posts on the old forum to an unexpected community award (awesome!) to the many times I was corrected learnt something new, you've helped me solve problems and better communicate solutions. It's been an amazing experience so far that incidentally turned into practical training for my new role.

It Starts with a Product Idea

You start with a fully-formed, marvelous idea for the product to solve your problem. This then gets reviewed to confirm its awesomeness and gets added to the product plan or backlog. From epics to stories to specifications to implementation, your idea gets transformed into one or more product features and is released to everyone, ready to solve the problem you had... two-to-three years ago.

Except that's not quite how it happens.

Lots of Familiar Ideas

In enterprise (possibly any) software development, the ideas are plentiful, evolving, and fleeting. Suggestions repeat and even compete with each other. Anamnesis reigns, where no idea is really new, just a recollections from past lives projects and other products.

For depressing inspiration on the relative importance of ideas, see Idea Guy Bill Gross's Ted Talk (hint: the idea is only part of the success equation).

As a product manager, I'm now part of a familiar process of prioritizing what we build without being too concerned with how it's built.

What I didn't tell you back as a functional consultant, the reason you liked (or didn't like) my functional designs was because of you, my dear technical consultant. I found a match between what the customer wanted and what you would likely implement.
  • You liked automation and the Event System? Sure, it's part of the design toolkit.
  • Content Delivery pro? Perfect, let's go dynamic with "widgets." Editor configures the Component, you deliver the results with a few Content Delivery API calls.
  • Container components are your thing? Sure, we'll go modular but not dynamic just yet.
I helped discover the WHAT; you figured the best HOW.

Though technical formats should not dictate a proper content model, architectural and technical constraints actually help a design (see Design of Design, a nice follow-up Brooks' Mythical Man Month). In past business analysis roles I worked with developers and business owners to convert marketing and business owner wants into system needs.

Now I'm one of the "business owners." But my focus is still on helping the customer and their content editors.

Experiencing User Experience (UX)

I get to work with another awesome team that's even more focused and dedicated to the user's experience. As much as I loved working with implementation teams to build next generation websites, your personas were not my personas.

As a client, partner, or PS developer, you care about agile development processes, high-quality websites, and manage-able website code. Your primary persona is the website visitor rather than the editors. But the editors are my personas. And now you are also one of my personas.

Philipp Engel, SDL's UX Group Director, describes the team and the evolving process between Product Management, User Experience, and Product Development:
Regardless of your experience with Tridion, please take a look at the slides, read the introduction, and consider joining the broader SDL UX community.

Beyond Feature Filtering

Having "field experience," I care about product features and have my own wish list of product changes. Paradoxically, the focus shouldn't be on features. If we look instead at what our users need to accomplish and what critical tasks they do over-and-over, we can focus on things we can improve qualitatively and quantitatively (read about data-driven design in our UX group).

A messier alternative is taking the few hundred (or thousand) ideas and then weight them by:
  • Cost
  • Appeal to stakeholders, the market, analysts
  • Timing
  • Size
But the point with feature ideas isn't to Catch Em All. You want a cohesive, comprehensible set, not a random selection filtered by attributes

Quick, pick the best ones by cost, appeal, or size. Source: Kotaku.
Discipline isn't just about saying "no." It's about saying "yes" to the right things. UX strategy helps us discover the right things based on the product vision and objectives along with well... the user experience. Organizations with "digital experiences" (websites) understand this and apply everything from A/B testing, to user research, to Top 10 Task Analysis to improve their customer's experience.

Since changing roles, editors are still one of my key personas and I'm still not responsible for the technical solution. I help highlight the problems; understanding the user's experience is critical to what we do. I'm looking forward to doing more than idea filtering.

In my next post I'll continue on user experience design, looking at some of the differences between website and enterprise software design and how the community can get involved.

The Presentation that Launched a Tridion Blog or Two

I was an SDL Tridion customer for four years before I joined SDL as a consultant. Four years later I'm hoping I can make a difference for another four or more years in Product Management. Let's start with a reminder to share more.

In February 2012, I gave this presentation to a room of peers. More than few started blogging shortly after. ;-) For the next Tridion blog you find, see if it happened to start in or around March 2012.



It took me this long to get the time (courage) to finally share this presentation. I'm trying to follow my own advice to continue sharing in a new role. What should I focus on?

The Future?

With the help of Product Marketing and UX, we released posts about the future of SDL Web. It's hard sharing about the future mainly because I'm not building the future, but rather helping predict and prioritize the future.

The future sounds so great until... expectations. It'd be too easy to become the Peter Molyneux of enterprise software development.

The Past (~300 Posts)

I learned some things in the past role. But it's odd being close to 300 Tridion-related posts since 2011 (267 here, 13 on TridionDeveloper, and 13 on SDL Community/TridionWorld), while not being sure what to post next. Though I still have a few more topics left in my "tips for Tridion consultants" blogging queue, it's time to move on... to the present.

Present

After tasting what it's like blogging about the future and getting my fill of the past, let's continue collaborating in the present.

I've been recently asking for your feedback on Tridion Meta in terms of custom reports, commenting features, and your extension ideas from the Tridion Developer Summit. I should be clear that I'm looking for your pain and needs (while attempting to predict the future) rather than features. Features for the sake of features are overrated, but we can cover that in another post.

I think my next post might be on how the Idea Fairy (or Idea Fairy Tale) works, but who knows what the future will bring?

What to Implement in Tridion First?

In a case of role-reversal from Functional Consultant to Product Manager, I'll soon have opportunities to prioritize development tasks.

I've told customers they might (should) prioritize based on their market/product/content strategy. For example, a client asked how to prioritize their website redesign from a Tridion perspective. After giving my feedback, the client pointed out my advice differed from my project manager. Oops.
  • My Project Manager said to prioritize by difficulty.
  • Separately, I suggested prioritizing following content strategy.
I was saved by the fact we were both correct from a CMS perspective. Combine perspectives to get some sagely advice:
Implement the harder, complex, and critical parts early. Use content strategy and business value to choose between tasks of equal complexity.
Use a top-down/outside-in approach to manage buildable sets of work for your sprints focusing on the hard, critical parts first.
  1. Global “page template” elements (global navigation, footer, etc.)
  2. Main editorial content and your main page/content types
  3. Shared functionality that are not on all pages
Without page templates, you don't have pages. Without content, you don't have content.

Your content strategy is aware of quantity as seen in a content matrix, inventory, and/or sitemaps. From a CMS perspective there's value in “templating” something used 100s of times.

Remember that business value and metrics aren’t necessarily the same. Focus on the popular parts and perhaps postpone elements that don’t help your customers. Convince business stakeholders using numbers, customer feedback, and research.

In practical terms:
  • Gather the latest site map and content inventory information—reports or the previous spreadsheets.
  • Find or get in touch with whoever owns analytics (“hey, is this page popular?”).
  • Add this to an outline of the FDD or whatever document manages your deliverables (work breakdown structure, Gantt chart, or agile board).
In the end, the advice was simple if not necessarily easy: prioritize according to your strategy. The hard part now is that I'll have to take my own advice for a change. ;-)

Preparing for Your Internal Demo with SDL Tridion (SDL Web)

Don't wait for the requested internal demo to prepare for the demo.

With SDL Web (Tridion), there are a few things you can prepare from project start for any and all internal demos in the future.

This post has four points:
  1. Think with +1 more in mind
  2. Use the Digital Experience Accelerator (formerly known as the Standard Reference Implementation)
  3. Go for quick wins
  4. Build the demo into your development process
Note: I wrote most of this post while I was still consulting, so read it from an implementation perspective.

+1 More in Mind

With BluePrinting, you can re-use and apply CMS functionality you've already implemented in another site, template, site section, or page. When developing the following types of functionality, you'll likely get a request for yet another version of the same thing.
  • Classify content. If you dynamically display tagged content by classification (Taxonomy), you'll likely need to also display other types of content by tags as well and will want to make the content type (Schema) configurable.
  • Translate content. If you allow translation for a given site, new sites may need translation. Even if it's "not in scope," a proper BluePrint design can support the request for translation when it comes.
  • Control website functionality from the CMS. If you let content editors present a form or other "widget" (CMS-controlled website functionality), you'll likely need a similar form with different content on a different page. Make the content editable and translatable.
  • Create a site. If asked to create a microsite, you'll likely have more requests. Consider sharing web application functionality within the CMS.
Be careful to avoid gold plating in any development process, but within reason consider how content management will evolve and take advantage of the tools..

One More Item or Feature. Not More Types.

Assume +1 more as in "we'll likely apply this functionality again." But avoid cluttering your content model and CMS entry forms with functionality that isn't ready yet. For example, if you need to display an image, assume you'll display more images but don't add video or audio options to your content forms until they're actually ready to be used.

Do this:
  • Category for "features" with a single keyword for "mandatory." This lets you add additional options later, but keep the forms specific to today's available options.
  • Have a field for images used in the current content model.
  • Design a scalable BluePrint and folder structure, starting with the Publications and folders you need.
Not this:
  • Add potential fields, Keywords, folders, or other items before they're needed. Or at least only use them in non-Production environments.
  • Add a field for video "just in case."
  • Add Publications and folders, "just in case"

Accelerate Your Implementation

Years of practical experience and expertise went into the Standard Reference Implementation, most recently released as the Digital Experience Accelerator (DXA). Use it. Learn from it. Know what Tridion is capable of. After seeing familiar patterns in the DXA, read about or even contribute to SDL's other open source initiatives.

DXA modules continue to evolve, but so far include:
  • .NET and Java versions
  • Modules for:
    • ECL
    • Media Manager
    • SmartTarget
    • Search (with both Solr and AWS CloudSearch support)

Quick Wins

You're busy installing, implementing, and developing but save a few moments each sprint or day to go for quick wins. The following take little or no development work:
  • User interface integration such as:
  • Translation, if already set up (for either Translation Management or just new Publications)
  • Sharing CM-side functionality through BluePrinting
  • Experience manager visual hints
    • Page type example url
    • Template icons
    • Component Presentation borders
    • Even the border colors themselves
  • Moving items up or down a BluePrint (only in SDL Web 8 and later)

Development Process

I've made the mistake of asking, "is Experience Manager in scope?" The response varies from, "I'm not sure" to "we're just going to get this done for now."

Whether you're a partner, customer, or colleague in SDL professional services, I'm explicitly telling you, as someone that's worked with Tridion since 2008, was part of SDL Professional Services from 2011 through 2015, and now in Product Management, that "yes, Experience Manager is in scope for all new SDL Web projects."

You want Experience Manager for SmartTarget, for mobile setups, for easy page creation. Don't go for inline editing without first starting with in-context creation. The best parts are the easiest.

In other words, in-context beats inline.

At the minimum, you should include the page button (via the page bootstrap script tag) for Staging sites. Regardless of templating approach, you can and should generate XPM markup for Component Presentations.

Now back to your development process. For any SDL Web-related code or functionality you deliver, you should expect the following:
  1. Experience Manager is enabled for this page
  2. There's at least one page type
  3. There's at least one (possibly custom) content type for each Component Template
  4. If you have a demo in your DTAP setup, your code and functionality should work on the demo environments.
*DTAP has long stood for Dev, Test, Acceptance, and Production. With the announcement that SDL Web 8 brings free developer licenses and if you maintain a separate demo setup, you might have DDDTAP. 
Let me end with some observations and warnings.

A demonstration of what you've built should be a demonstration of what you've built.

Good:

  • You know you're presenting well in a demo when the audience starts daydreaming about cool new functionality or asking about new features. If aligned with your agile process, an informal review demo should elicit feedback (read about sprint demos here, here, and here).
  • You're also doing well when your project manager wants to show the demo to the client, who wants to show it to the boss, who wants to show it to other stakeholders. I call this the Demo Onion because... layers.

Be careful:

  • Be careful when you're being compared to the latest new website, the client's competitor, or worse--you're competitor. In the demo, defer to your leads or if you are the lead, address or diffuse any concerns appropriately. After the demo, work with your team and client on how to fix issues and build trust before the next demo.
  • But be careful to manage expectations. A demo is not a requirements workshop and don't accept new requirements without validation from the implementation team or project manager.

When a project or program is going well, demos are exciting, well... demonstrations of what you've built. You'll hear, "hey, let me know you something!" rather than, "so, when can we have a demo?"


Hello from Amsterdam!

It's official. I've joined SDL Product Management and moved the family and dogs to Holland (well, the Netherlands really, but see this video to grok the difference*).

Here's a quick recap of my first month here and what's next.

Week 1: Arrival

Arriving mid-week on the 2 September, I had three days of paperwork and applications. The order was roughly:
  1. HR and IT orientations at work
  2. Register with the city and complete immigration at the Expat center
  3. Get a bank account
Big thanks to the colleagues that helped us get over, from flights to passport information to tips and advice on Dutch culture, food, and where to live. Maybe a very helpful person in HR may start a blog someday. ;-)

Week 2: Presentation Preparation

I prepared for workshops for the SDL Open House, continued working on blog posts about SDL Web 8, finished an introductory slide deck, and prepped for the Tridion Developer Summit.

I also got acquainted with the team and started attending Product-related meetings, which have a different feel than client meetings and workshops.

Week 3: Open House. Open Community.

Last week was all about the open house and Tridion Developer Summit. Great job to the presenters, attendees, and especially Robert Curlette for braving a second year.

I particularly liked the impromptu session where you provided ideas for extensions, which I'm asking participants to list on Tridion StackExchange Meta.

Week 4: Connections

This past week I posted part 2 of our series on SDL Web 8. If the posts sound bigger and look nicer than what I usually post it's because they are. My boss asked me to work with my colleagues and even let me use our official materials as input into parts 1 and 2.

I've also had a chance to meet even more colleagues, answer questions, research, philosophize, and conduct other Product Manager-related activities.

What's next? I'm next working to clarify my role in the "new" team**. We'll spend time looking at what SDL Web 8 includes and what we should focus on in SDL Web 9. So if I ping you with a question or to introduce you to someone that has a question, please respond like I invented the Midas Rule (I did). And by the Midas Rule, you'll probably want to get your feedback in for the next release. ;-)

**Bart Koopman and I were introduced to the team as the new old guys, considering we have roughly two decades of Tridion experience between us and our combined ages make us 80 years old.

*Oh and if you think the Holland vs. Netherlands video was confusing, see another video from CGP Grey on the United States.

That Should be in the Product!

Alex Klock, of Razor Mediator fame, presented his work on Content Bloom's Alchemy GUI extension framework at this year's SDL Tridion Community Award (MVP) retreat (2014 video). As the community releases, and even re-releases, SDL Web (Tridion) extensions, some might ask, "why isn't that already in the product?"

There are a lot of business decisions from legacy requirements, to market desires, to customer needs, to an entire development process that drive what's actually in the box. I can't speak for what's in Tridion today (maybe tomorrow), but I respect the history (and love the product!).

But since I'm joining the Product Management, making it fair game to ask, let's explore some ways to evaluate product suggestions by looking at BluePrinting and Content Management System (CMS) development.

The following diagram has a Y-axis for Publications (roughly SDL Web-managed sites) and an X-axis for CMS environments. DTAP refers to the CMS environments of Dev, Test, Acceptance, and Production. Combining the varations give us this table and a graphic:

Publication (site) variation
DTAP variation
Example
Different per publication
Different per CMS environment
Site system settings
Different per publication
Same across CMS environments
Language Codes
Same across publications
Different per CMS environment
CMS Instance configuration
Same across publication
Same across CMS environments
Organization-specific settings

Notice a few patterns in this matrix:

  • Content manager, "single source," and some developer-related settings tend to be the same across environments. Building blocks like Schemas, Component Templates, and Components for headers and footers are also consistent across the DTAP environments.
  • Delivery-side configuration varies between sites or Publications, though many need values for Language Code or Site URL.
  • Settings that vary across both DTAP and Publications start to multiply. It might help to have easier ways to manage the delivery-side topology of a given DTAP environment (that's a hint).


Plotting various managed elements, including configuration in Tridion Component or Metadata, creates a snapshot of a given organization. Add a Z-axis to represent different customers and you can evaluate when something applies universally, in which contexts.

For example, if all customers used certain Publication Metadata fields with the same options (e.g. language codes in the format of xx-YY where xx is language and YY is Country/Region) across all their environments, it would make sense to add "language code" as a Publication product feature, rather than an implementation option.

Before wanting something in the product, you want to be aware of how it will function across websites and DTAP environments. Adding additional dimensions such as "type of user" or "size of implementation" can further help analyze a request for "productization."

For a given Alchemy 4 Tridion module (or any extended SDL Web functionality), considering who needs what functionality and where (in which publications/environments) helps address "why something isn't in the product" and maybe even "when" something will be. Even knowing all of this still leaves the interesting question of if we should put something in the product (and even who's the right people to build some functionality, but that's a different post).

With the "coding" part of the retreat done, I want to say thank you to Alex, Content Bloom, and the SDL Web MVP participants. Community contributions (and use) can highlight what features are important to you, your colleagues, and customers. I've been a fan since I joined the community and will continue to support your efforts in whatever role I play.

Everyone else, have your GUI extension developers or consultants check out Alchemy 4 Tridion as Alex and Content Bloom introduce this framework to the community!

From Crossroads to a Bridge

Four years ago I reflected on the crossroads in my career. Should I go technical or do projects? Will having too many interests hurt my career? I eventually applied a mixed-background of business analysis, project management, and Tridion expertise into a Web Functional Consultant role that I've enjoyed for almost four years.

I recently accepted an offer as a Technical Product Manager in Amsterdam with SDL, which changes everything again. This time I'm taking a bridge-of-sorts across the Atlantic pond. Before I go, let me share...

Lesson Learned from Web Consulting

Doing software consulting for almost four years taught me a few things.
  1. Time is your most valuable resource. Value your time.
  2. Good habits make a difference. Since I made a habit of writing, I have over 200 Tridion-related blog posts. A list, like a Travel SMaC can help reinforce good habits.
  3. Bad habits make a difference. Since I haven't kept up my physical activity, I've gained more than a few pounds.
  4. Be flexible when scheduling travel for projects but also clear with your needs and preferences. If you fall behind in a project, the client may want more time. But even if you're wildly successful, the client may want more time. This goes back to #1--value your time.
  5. Make friends. You can work remote, but spending time with the team in the office can be worth a move (to the Bay Area in my case). Camaraderie turns coworkers into colleagues.
  6. Make a change. There's never a perfect time for change. You can just prepare as much as you can and trust you'll work out the details whether it's a change at work (e.g. new project or role) or at home (e.g. new family members or a move).
  7. Life's too short, don't wait.
I survived the last career change with a rather tough October in 2011. In August we'll replace "moving to San Jose" with "moving to Amsterdam." Wish me luck. I hope my Tridion-from-a-Functional-Consultant perspective posts have helped, because things are changing again.

Goldilocks of Creative Design from a CMS Perspective

One of the challenges CMS professionals have with the website and content management design is confusion around content, example content or prototypes, and "templates."

As the functional consultant in Tridion projects I tend to see some trends.
  • Just Right. The homepage tends to get special treatment as the "just right" Goldilocks example with enough detail that there's not that much confusion between creative design and CMS design.
  • Too little. Index Pages are sometimes overlooked or underestimated in the creative design, where it's tempting to assume similarly-looking pages have the same functionality (and thus same Schemas in Tridion).
  • Too much. Finally I often get extra detail on Editorial Pages for all the variations that might present on articles.

Homepage, Just Right

The homepage, especially for the creative design, tends to be the actual homepage, with real or near-real content. The header and footer navigation elements often have the latest-and-greatest, business-approved lists.

As the most visible page, at least internally, everyone is an interested stakeholder for the homepage. It's approval is a milestone for the designers or design agency, it overviews the type of content the site has as well as the navigation approach for the CMS team, and it likely needs multiple levels of approval.

The homepage is one of the few cases where we get documentation for actual content or Component Presentations.

Ironically, I suspect among today's social-savvy website visitors, the homepage may be important for establishing credibility, but visitors are probably more interested in getting things done. Read about top tasks vs tiny tasks if you suspect the same. 

Index Pages, Too Little

Index page designs might have example Lorem Ipsum content. But I see confusion on separating types of index pages versus instances of those pages. Is it the same page type with two instances? Or do we need separate content definitions and/or templates (Schemas and Templates in Tridion)?

For example, I had a project where everyone dismissed one proposed page type with, "oh that page will be just like this other page." This meant we could mostly skip the wireframe, creative, and HTML design knowing everything will be "the same."

However, the team had to revisit this because the actual content was different and needed different entry fields and website functionality.

This comes from a confusion between the design "template," which is the proposed visualization of a page and the actual content model or relationship between content and pages. You don't have enough context from a wireframe or creative design to be sure.

Two hints to prevent this is giving elements real names and exploring dynamic functionality.

Hint 1: Give it a Name

The quickest way to test how you might model something in a CMS is to give it a name. Are the pages called...
  • Services, Products, or Solution page types, each with their own name and relationship between pages?
  • Department Landing Page, as seen on an Intranet where each department lists the people and documents related to it?
  • An "About Us" or Corporate page?
With a modular CMS like Tridion, you can have lots a variety across pages that all have the same page template, with different sets of content on each page. The design "template" isn't related to the CMS "template." Each example from creative design might be a separate page instance in the CMS.

Hint 2: Dynamic Functionality, Filterable Options, and Libraries

If the website has dynamic functionality that lets visitors filter on or search for different content, your approach will depend on what you're filtering on.

If each selection returns a different type of content such as a venue versus a person versus a product description, then you'll likely want a Schema for each type.

If the selection returns the same type of content, as from a library of articles or gallery of images, then you're dealing with classification which means either Metadata and/or Taxonomy. From a functional perspective I'm not partial to how you implement this in delivery. You might consider one of more of the following:
  • Content Delivery API is a familiar, common approach well-known within the Tridion community.
  • Taxonomy can group similar functionality, with the ability to to also get related Keywords or look for Keywords across Categories.
  • SmartTarget can help if the organization is familiar with personalization or you start seeing shifting requirements.
After dealing with homepages and confirming instances vs. templates, you might notice an excess of editorial pages.

Editorial Pages, Too Much

Some editorial pages might be examples like a generic article or actual pages like the terms and conditions or FAQ* page. These tend to be lower in the site hierarchy and the confusion here is the opposite of landing pages.

You might see wireframe examples of:
  • FAQs
  • Terms & Conditions
  • Accordion Example
  • Article
  • Advanced Article 
Often these can be managed as fewer page types which means one page template in Tridion with variations in the Component Presentations. This are probably the easiest to model since the same article Schema could present as an accordion, with rich text for an advanced article, or as an FAQ based on either content or a template selection (in other words, you can easily enter a question in any "subheading" field along with its answer in the body field).

*I'm compelled to mention you might not even want an FAQ page in your next CMS project.

If I could influence the creative design process, I'd ask for this instead:
  • Consolidate the editorial pages by providing the outside global header and footer along with the variations in content you might have for each. I want counts for each type of content as well as where they feature in the site map. Content strategy matters.
  • Provide the relationships between index pages and their linked detail pages. If possible, consider a standard approach related to the site map hierarchy. For example, level 2 pages could be index pages with detail pages at level 3.
  • Include more index page examples, especially for items in the top navigation.
More context would be appreciated on the text and how it might vary. Part of the content analysis done by a business analyst or functional consultant includes challenging assumptions and getting clarity on the content model. For example, you'll often need to confirm if Calls-to-Action (CTA) always have the same text.

Sometimes you'll see "Read more..." in some places but then "CTA text" elsewhere. Just because Tridion is modular doesn't mean editors want to create and manage separate pieces for essentially the same piece of content.

Whether you get too much, too little, or just the right amount of creative design examples, pictures are never enough. Get the context you need to make a well-fitted, managed website.

Left Rail, Right? How RWD or RESS impact CMS terminology.

My last few clients have projects that include Responsive Web Design (RWD), often with Server-Side Components (RESS).

Their websites will either feature the same HTML markup which behaves differently based on browser size or if using SDL Mobile or similar technology, the websites might also present different markup or prioritize content differently based on the visitor's device.

It might be too early to tell, but I suspect the focus of the RESS side of mobile devices will be on images. For example SDL's Contextual Image Delivery will transform, deliver, and cache images upon request based on the visitor's context.

From Positions to Priority

However, even in "Mobile First" projects, I still see "left" and "right" column fields or a "left template" in some setups.

Your Next Knowledge Day Session

If you work with a professional services or other expertise-based team, you may eventually be asked to present something to a mixed audience of beginners to experts. We often have these as part of our Knowledge Day Sessions (read about my presentations from last year's sessions).

This post offers some tips, tricks, and suggestions on choosing a Tridion-related topic, though you could apply this to other technical presentations.

1. You Know, and Assume Others Know, Too Much

First of all, with the curse of expertise you don't realize how much you know compared to your audience. It's okay to go over basics to connect with both the experts and beginners--then work your way into the details where it gets challenging by the end. If you're read Art of Explanation, you'll know to start with the forest, then the trees, and use analogies (like I just did). See some quick insights from Art of Explanation's Lee Lefever.

2. Non-Technical Presentations are Okay

Your presentation doesn't have to be technical--you could review what services your team offers, describe plans, or review processes. You could share team history, give consulting tips, or do an ice breaker (like last year's CXM games).

From Unmanaged Text Field to Managed Fields in Tridion

In 2011 I mentioned you can change how a Schema text field displays. I had the chance to test one type of change from a plain text field to a text field with values selected from a Category.

If you find a text field has the same set of options used several times, you may want to change it from an unmanaged text field to a field based on a managed list of elements.

When making this change, you have two options:
  1. Schema defines the list: if you want control of the order of the field options and the options do not need translation, consider placing the options in the Schema directly. Optionally use an Embedded Field to manage the same list everywhere its needed.
  2. Category defines the list. if you want editors to have the ability to bulk apply and search for items tagged with the option as well as for dynamic website functionality along with translation of the options, use a Category and its Keywords instead instead.

Building Blocks setup:


SDL Innovate 2015 Hackathon vs. SDL Bootcamps

SDL Innovate Developer Day is coming up. You should find a way to go and not just for the chance to win $3,000 USD.

In addition to technical presentations it includes a hackathon that seems like a competitive, self-directed bootcamp, but with a $3,000 USD cash prize at the end of the follow-up 30 day competition. By joining a small team, you might win:

A virtual representation of the $3k USD your SDL Innovate Hackathon team could win.

  1. First prize $3000/team
  2. Second prize $1500/team
  3. Third prize $500/team
Okay, so the hackathon is definitely not a bootcamp except that technical people will come together to learn, work with, and meet others that implement Tridion.

With that tenuous connection made, let me revisit my very first SDL Bootcamp, compare Innovate with other conferences I've attended, and suggest you find your own reason.

My First SDL Bootcamp

It's three years late, but here's the Event System write-up (Google Drive) from a 2011 bootcamp.


This was before I joined SDL. I paid my own travel expenses and even requested time off work to attend. I should have requested help for personal career development and technical training.

My "a ha" moment was meeting people who did this as their day job, as their main job. I met a few future colleagues who would later vouch for my application to SDL Your "a ha" moment when you attend SDL Innovate may have nothing to do with changing careers. Professional networking isn't a matter of "who you know," but rather who knows you and how you can help others.

Other Conferences

I'm biased having "gone native" as an SDL employee. For comparison, I've attended SharePoint and Gartner conferences in the past and I still remember and apply things I've learned at those events.

SharePoint conferences showed how SharePoint development might be familiar to my .NET colleagues, but they probably wouldn't like it. It's inspiring to see how small-to-large vendors could build on Microsoft's solution by offering services and extending the products. I've also seen hard sells in supposedly vendor-neutral presentations.

From a Gartner Project Management conference, my biggest lesson was learning the levels of reporting.


  1. You start with one data point.
  2. Then data over time, creating a graph.
  3. Then a comparison graph with a benchmark or what you should be at.
  4. Finally, a comprehensive view explains the data, possibly by letting you drill down into data points.
You measure key performance indicators rather than the tool. Don't measure the treadmill, but rather the person running on it.

And from stories about Gartner Analysts that didn't make it as just analysts, it's important to know the difference between your title and your value.

Come to SDL Innovate looking to learn and connect with others and you'll likely find a memorable

Your Next Conference

Three points on why you should sign up and find a way to go:
  • Many companies have travel, conference, or "personal development" budgets and will fund at least a few events per department or development team. You can always ask to attend an event, especially if it's related to your work tasks and role.
  • I've seen developers consider training, conferences, and software with their own personal budgets in mind, thinking, "well, I wouldn't pay that much." But IT departments and companies enterprise companies have significantly larger budgets and a different perspective. Conference costs are a fraction of what companies pay for "full time employees" (FTEs). In other words, you are totally worth it. You deserve to go to Innovate. ;-)
Once you set a precedence, next year will be easier. The budgets shrink and grow based on use.
  • If you like where you're at, go, learn even more Tridion, and meet others.
  • If you don't like where you're at, go, learn even more Tridion, and meet others. Do not share this post.
  • If you want to compare notes and confirm if others have the same challenges as you, go, learn even more Tridion, and meet others.
  • If you're looking to learn more about SDL's solutions and software or would like to meet partners and related vendors, then definitely go.
Additional links:


Create And Break: The TL;DR Book!

After three years of making up the majority of all SDL Tridion blog posts, it's time to announce my book. The tentative title will be:
The TL;DR Book about Business Analysis, SDL Tridion, and Contextual Experiences by Business Alveenus Maximus





Read on for a flavor of this book, which like my blog, many will acknowledge, but few will read:

Excerpt #1: The Quote

"...quantity of the previous heights on you. The business-driven setups, rights on in working lots, and approach..."

The Catch with Embedded Link Schemas in Tridion

Re-use is great, except when it sucks is not-so-great.

Many (all) SDL Tridion implementations include an embedded Schema (content entry definition for a subset of fields) with something like the following:
  • Text
  • Internal Link
  • External Link
If you already know Tridion, the tl;dr lesson for this post is: please do not use generic (text, component/external embedded) links when injecting content (creating a Component Presentation based on a linked Component).

This embedded link Schema lets you re-use this set of fields in other Schemas (read about how others handle this embedded Schema for links).

Description field tip: I like the SDL Tridion Standard Reference Implementation's (STRI) description for the external link, which adds "-- OR -- " as a prefix, so it's clear to editors to make a Component or External (http:// or relative) link. See other field-naming ideas in my training Tridion post.

Tridion User Expectations for the HTML Design (and beer metaphors)

I'm wrapping up my most recent visit to the Amsterdam office. One of my colleagues had a prompt from a client on what to request from the creative agency in terms of the markup. Of course we had to compare notes.

We gathered our "best practices" but needed non-technical descriptions for the business user communicating their preferences to the creative design agency (if you really want the technical details take training and/or read this post by Frank M Taylor).

So let's look at some user stories for those using an in-context CMS editor:
"As a CMS user I need the ability to add content to and from the page. I should be able to add, re-order, or remove content in the in-context or form-based editing interfaces."
This translates into movable elements. Lists and “flat” markup are preferred where possible—especially on a page. This lets editors add, move, or remove in the Content Manager and Experience Manager.

You don't need markup to see which is easier to manage. Here's an example from our CMS Design Principles training: perhaps your presentation looked like a box of sorts:

A B C
D E F
G H I (that's the end of the training example, the rest is my metaphor)

Would you prefer a list that automatically displays in rows?

Extending Your SDL Community Reach with Some QueryString Parameters

The SDL Community site is up, but only 25 of my posts were displaying.

If you're on Blogger and want to see more of your posts, try:
/feeds/posts/default?alt=rss&max-results=999

Too add the missing 200 or so posts to the site I added a max limit parameters to my feed and then changed it to RSS. I Blogger through Feedburner, but you can use a different service.

464 is a lot of blog posts, but if that included my posts, it mean I've contributed half of the feed. Hmmm...

I've been using Feedburner, an (aging?) Google service that lets you automatically generate other formats including HTML, Atom, and RSS. Here you can see my Feedburner only showing posts back to 2014. I've been blogging about Tridion since 2011.




I updated Blogger to show more (and start after 2011). Blogger, by default has an Atom feed like:
http://www.createandbreak.net/feeds/posts/default

Bart Koopman explained there's also an RSS option, which the community site needs, with:
http://www.createandbreak.net/feeds/posts/default?alt=rss

I did more "research" (Googling) to find the parameters for start and max, along with the RSS option so it now looked like:
http://www.createandbreak.net/feeds/posts/default?alt=rss&max-results=999&published-min=2011-01-01T00:00:00

This was impossible to test until I disconnected the Feedburner setting (below) in Blogger.

I could confirm the blogger feed querystring parameters worked when I removed the Post Feed Redirect URL.

I then updated Feedburner's output RSS 1.0.


So to get your content indexed by the community site and you're hitting the 25 post limit in Blogger, you have two options:
  1. With Feedburner and your Post Feed Redirect URL, modify your feed and then set it to RSS 1.0:
    /feeds/posts/default?alt=rss&max-results=999
  2. Alternatively, turn off Feedburner and give a community manager (Bart Koopman) your manual feed URL instead.
As a side effect of troubleshooting this scenario, Bart was able to add other feeds to the community site (hence the burst of recent posts from StackExchange).

By the way, you can tell I was in the Netherlands for this post from the references I found on Blogger's feed parameters:

Note: I've read that Feedburner might be shutting down. See alternatives in this post, the main thing is that the SDL Community aggregator uses RSS and if you'd like to be added or even removed, leave a quick post.

If you want to bypass the feeds and be featured directly on SDL Community section for Tridion, please sign up. I've promoted and "sold" TridionWorld before and looking back at my contribution to the Tridion blogosphere, I still have some vested interest to promote the site and your content.

I think that includes my posts now give or take a few.


Assuming they're all in there, my 253 posts out of  694 means I've contributed 36% of the feed as of now (I'm not quite sure because 694 now - 464 before + 25 already-included = 255). With this additional post, maybe you can add your older posts as well.

Pick A Topic, Any Topic

I am trying to get the new SDL Community site (in the Tridion section) to recognize my past posts. I'll explain how to do the same for your posts after we get it sorted.

In the meantime, here's a side effect. Feedburner sent me an update on all of my posts since 2011 minus the past 25 blogger posts.

This is just text below, see my Feedburner Feed for summaries and links.
  • SDL Innovate: Web Content Management Workshop Recap -- Prototypes
  • SDL Innovate: Contextual Matters
  • SDL Connected Recap
  • SDL Connected: Post-Event Team-Building Experience Day 2
  • SDL Connected: Three Tridion Important Integration Questions
  • Let CRUD Guide your Tridion Integration
  • SDL Connected: Post-Event Team-Building Experience Day 1
  • CXM Pillars and Journeys Cheat Sheet
  • Quick and Dirty Way to Determine X and Y Coordinates
  • SDL Media Manager Bootcamps 2014
  • You Know You Travel A Lot When...
  • The Difference Between Tridion Designs and Tridion Settings
  • Breaking the CXM Ice at Knowledge Days
  • A Corporate Team Building Journey (Event Planning)
  • New to SDL Tridion?
  • Managing Robots META Tags with Tridion or any CMS*
  • What Does Contextual Image Delivery Mean for SDL Tridion Images?
  • Quick Navigation Tips on an SDL Tridion Environment and Asking Smart Questions
  • First Step in Designing Content Entry Forms
  • Brand Defending and Organic CXM
  • SDL Tridion Experience Manager via XBox Kinect for the Ultimate Experience
  • Testing Testing, 1, 2, 3, 45678...
  • Example SDL Tridion Sandbox Proposal
  • Are You Ready for a Contextual Web?
  • One SDL Document by Document
  • SDL Tridion Component Synchronizer is Dead. Long live ComponentSynchronizer!
  • Ask Yourself Why Three Times
  • Keeping Up with the SDL Tridion Community
  • Parking Lots, Bins, Tables, and WVTTK?
  • Carbon 2.0, Standards, and SDL Tridion Education Updates
  • MVP Chat Part 2
  • Congrats to the 2014 SDL Tridion Community MVPs!
  • Adding a Background Page in Visio
  • If perfect is the enemy of good, what does 100% mean?
  • SDL Tridion 2013 SP1 is Out
  • SDL Media Manager Bootcamp
  • The 4 D's of BluePrinting "Promotion"
  • Content Modeling Best Practices
  • How Many Users Can SDL Tridion Support?
  • A Must Read: Content Strategy for the Web
  • Content Strategists
  • The Best Parts of SDL Tridon Experience Manager are the Easiest
  • Making a Blog with SDL Tridion
  • On Tridion RTF Links and Empty Parents and a 99% Answer Rate on Tridion Stack Exchange
  • Deal with the Shadowy Figure
  • How Can I Pass the Tridion Certification Exams?
  • SDL Tridion Trainees Predict the Content Manager Explorer
  • Technical Questions in SDL Tridion Foundation and Workshops
  • Cancelling Booking Requests, A Story of Slightly Scary Usability
  • Feature-Driven CMS Development Part 3
  • Feature-Driven CMS Development Part 2
  • Feature-Driven CMS Development Part 1
  • Can SDL Tridion Poop?
  • Let's Play What Published That (aka SDL Tridion Link Propagation)?
  • SDL Tridion Humour Part 5
  • Contextually Aware Content Part 3
  • Contextually Aware Content Part 2
  • Contextually Aware Content Part 1
  • Awesome SDL Tridion MVP 2013 Summit
  • Sharing More by Caring Less (How to get over the fear of sharing)
  • Quick, Pick the most Important SDL Tridion Item!
  • More on XPM Regions: Difference between Insert and Drag-and-drop
  • Use These Automation Options Sparingly
  • Documenting Component Presentations
  • Shifting Requirements
  • CXM Requirement: Don't Be Creepy
  • Flaming Sword of Sharing (10% Chance to Proc)
  • The Sixth Tridion Environment
  • SDL Innovate: Enchanted by Tridion's Future and Tridion Re-Reimagined Today
  • Find Your Way With Tridion's BluePrint Viewer
  • Understanding TOM.NET Before Using TOM.NET
  • You're Too Close to Your Expertise
  • Places to Get Started with SDL Tridion GUI Extensions
  • Discover the Power of SDL Tridion 2013
  • Does your Tridion Item Metaphor Work?
  • Subscribe to Functional or Technical TRex Tags. Roar!
  • CM-Side Integrations Mocked Up
  • The "S's" of CM-Side Integration
  • Inline vs. In-Context Editing
  • Tame the Content Injection Monster
  • Guess the Tridion Blogger
  • Less is More? Just Enough is More.
  • New New Tridion Best Practices
  • How Do I Revert Back to a Previous SDL Tridion Item's Version?
  • Recognizable SDL Tridionauts: An Answerer, a Coder, a Community Builder, Mr P, and the Button Presser.
  • Dynamic Vs. Static Component Presentations Vs...
  • Fun with SDL Tridion Icons and Visio Stencils
  • Applying CMS Principles To Your CMS Designs
  • Experience Manager Content Types and Regions
  • TRex Logo Ideas
  • Don't Let a Format Dictate Your Content Model
  • Navigation for One Structure Group
  • Mind-Shifting Tridionauts
  • SDL Tridion and Alt Text. You're probably wrong, but still doing it right.
  • Where Do We Place SDL Tridion Keywords?
  • Tic Tac Tridion
  • Alvin.getUrlByTopic()
  • How Long Should it Take?
  • More Blogging Tips for the Tridion Professional
  • Welcome the New SDL Tridion Community MVPs!
  • SDL Tridion Humour Part 4
  • SDL Tridion and Web Analytics (aka How to Identify Unique Content Instances?)
  • Goodbye "click here"... again.
  • Making Config Components Disappear
  • WebDAV is Fast. Upload Multimedia is Faster.
  • Can't Paste from VMWare Player to Windows 7
  • Yet Another SDL Tridion Navigational Approach
  • SDL Tridion. Bottom-Up or Top-Down?
  • Why Page Types Are a Very Good Thing (TM)
  • The Vendor-Client Dance Partnership 
  • When Near-Duplicate SDL Tridion Schemas Makes Sense
  • Creating an SDL Tridion BluePrint 
  • Seven Quick SDL Tridion Experience Manager Tips
  • Quick Look Back at My First Year with SDL
  • Documenting SDL Tridion Folders the Lazy Way
  • Types of Tridionauts
  • Never Gonna Get an Answer
  • Can We Discover the "Best" Tridionauts?
  • Good User Design Hides "Mistakes"
  • Pousada De Palmela
  • Tridion Content Analysis: Part 5, The Answer
  • Tridion Content Analysis: Part 4, The Process
  • Tridion Content Analysis: Part 3, Inventory
  • Tridion Content Analysis: Part 2, Context
  • Tridion Content Analysis: Part 1, The Trivial Example
  • Scalable Schema Fields
  • tl;dr
  • How about Verbs instead of Nouns for Publication Names?
  • Amusing JSON Details
  • Not always an Extension
  • You're Not Really a Tridionaut Until You've...
  • SDL Tridion Parent Publication Permissions Simplification
  • IS vs IT
  • BluePrinting Naming Conventions. More Questions than Answers.
  • Tridion and Technical Debt
  • SDL Tridion CME Authorization
  • PowerTools 2011 Robot Pics
  • Blah blah community
  • Best Practices? Let's Talk Best Patterns.
  • How to Remember Tridion Dynamic Linking
  • Train and Untrained. Which are you?
  • We Didn't Start the Fire
  • SDL Tridion: I Wish I Knew Then...
  • Inspect Component XML With C#
  • SDL Tridion Lisp Mediator
  • BluePrinting Metaphor Re-imagined
  • Opportunity and Challenges for Third-Party SDL Tridion Tools
  • You Need the Best Design Tools Money Can't Buy
  • Aint Got No (SDL Tridion) Workflow... Blues?
  • What's Wrong With a Tridion Project Plan?
  • Who do you Trust?
  • SDL Innovate 2012. So Much Content!
  • SDL Tridion, The Most Interesting Man, and Chuck Norris
  • Step-By-Step Blogging Guide
  • Blog Recipe: Be Relevant While Sharing Experience, Passionately
  • Fascination with SDL WCMS and SDL Tridion
  • Seven Wins in Developing a Technical Community
  • SDL Tridion-related Online Information. A 30 Second Snapshot.
  • SDL Tridion Resource Dynamics
  • SDL Tridion Community on the Horizon
  • More SiteEdit Insight
  • SDL Tridion Content Delivery Tips, Tools, and Troubleshooting
  • Salsa and Stroopwafel
  • New Blog Page
  • SDL Tridion "Integration" in 30 Seconds
  • Simple Content Update Instructions
  • Combined Layout Template Building Block
  • Congrats New SDL Tridion MVPs
  • Quickly Start a Layout Template Building Block in SDL Tridion 2011
  • Inspect Component Details with an XSLT Component Template
  • 10 Extreme Schema Scenarios
  • Have your Content Authors Roleplay SDL Tridion Terms
  • SDL Tridion Custom Help
  • Favorite Parts of 2011 (it's not ALL Tridion)
  • SDL Tridion 2011 Favorites Feature
  • Dreamweaver Syntax with FieldPath
  • Blogging Tips for the Tridion Professional
  • Web Content Management Done Better
  • PowerTools Gotchas
  • The Seven Deadly Places... to Add Markup with SDL Tridion
  • Enterprise Software Rivals
  • SDL Tridion and Consulting Jokes
  • Who are your Organization's Superstars?
  • What's a Professional? What Dance Teachers and Consultants Have in Common.
  • Conspiracy Theory
  • SDL Tridion 2011 MVP Retreat
  • Nominate the Next SDL Tridion MVP
  • Happy Thanksgiving
  • Happy Hallowsgiving
  • Template Building Blocks via .NET Assembly
  • I'm New to This. Really.
  • When and When Not to use "SDL" When Talking about Tridion
  • How to Get Started with SDL Tridion
  • Matching Software Licensing to SDLC
  • On Software Costs
  • Alvin vs. October. Alvin wins!
  • Tridion 2011 Queries
  • Secondary Memory: "Didn't I ask that Before?"
  • The PowerTools Team's Power
  • Inspect Publication Details with an XSLT Component Template
  • Character Encodings with Tridion
  • Logo Fun with the Tridion PowerTools
  • Midas Rule of Open Source Projects
  • Tridion Schema Change
  • BlueBrinting Fridge Magnet Kit
  • Hating your Software?
  • Joining the SDL Tridion Community
  • Send-off to Fellow Graduates
  • Give More. Get More.
  • Key-Value Lookup Example (Tridion R5.3)
  • Lessons Learned from WFM
  • Tridion BluePrinting Use Case
  • Develop XSLT Templates in Three Steps
  • The New Tridion 2011 Criteria Objects
  • Waterfall Methodology and Agile Methodology? Both Wrong!
  • Technical Temptation to"Solve" Problems
  • UML Perspective
  • Multiple Modeling Methods
  • Tridion-Influenced Business Analysis
  • San Diego Code Camp 2011 is June 25-26 at UCSD
  • Analyze This!
  • Tridion Target Types
  • Tridion End-user Issues and Fixes
  • T-Shirt or Bumper Sticker?
  • Tridion Setup Considerations for End-User
  • SDL Tridion MVP Winner!
  • Crossroads
The lesson? Even with "SDL Tridion" (from mostly a functional perspetive) as my main topic, there was plenty to share these past few years. Pick a topic that you like of your own for your blog and the post topics will come.

There is Always a User

Recently I posted about approving SDL Tridion community winners. One of the points that came up was what counts as Tridion today?

Rise of the Connectors

SDL Tridion works with any system that has an API or at least an identifier for its items. A basic approach when integrating Tridion with "external" software is to store such identifiers in a Tridion field and add or "template" the surrounding markup or Web application tag or control to the rendered presentation.

<namespace:tagname id="identifier" /> or
<namespace:controlname id="identifier"
runat="server" />

This works for Analytics, references to external videos (YouTube, Vimeo, etc.), job postings, Linked-In profiles, and more

But when the quantity of external items makes this approach tedious and/or when there's software better-suited for certain tasks, it helps to have a more formal (seamless, automated, and preferably with an API) approach.

This is where SDL Tridion leverages its own framework and APIs to connect with systems such as targeting, managed translation, and media management. If familiar with SDL software, you might recognize specific products such as SDL Fredhopper, TMS, WorldServer, SDL Language Cloud, SDL Media Manager, and Campaigns. I've joked that if Publishing was built today, SDL might call it Distribution Manager.

The biggest catches for any such integration include:
  • Resolving
  • Authorization
  • DTAP (I won't write about it here, but keep in mind any integration should confirm its assumptions across CMS, not just delivery, environements)
SDL Tridion now ships with many of these (potential) features out of the box in the form of modules such as (Tridion) Outbound Email, Translation Manager, User Generated Content, and External Content Libraries. To be clear, these connectors are part of Tridion but may come with their own databases, APIs, and user or system accounts. You still need to configure and implement these to meet your project's needs.

SmartTarget is not Fredhopper, but rather the GUI elements, delployer features, and delivery-side code to make Fredhopper work with Content Manager Explorer and Content Delivery.

Translation Manager is not TMS, WorldServer, or Language Cloud. It's the piece that stores, displays, and moves translation jobs between the Content Manager and the translation system. It's managed translation because it tracks the progress of the jobs, automates the process back-and-forth, and lets users search and pick items for translation.

ECL or even the Media Manager Connector is not Media Manager, per se, but the integration between Tridion and Media Manager.

The term "orchestration" is more than (just) a marketing buzzword. It really does fit how SDL Tridion tries to plays nice and coordinate with different users and different systems in one interface (at least until there's a new term).

Even publishing is separate from CM or CD. The Content Manager Explorer interface uses the Core Service except item publish status, which is updated by the publisher.

Connectors Have Users

When I first read the Tridion documentation (back when it was PDF'd and in folders by phases) I didn't understand all the need for user accounts for various services.


The server-side user accounts included tcmsystem, tcmworkflow, tcmsearch, and more. I have since realized that the granularity is important to security (or at least those that care about security). For example the user for Content Managent search probably shouldn't do much more than index the search collection and deliver results.

Tridion's authorization model (as complicated as it seems--Dominic Cronin has pointed out it was built the way awhile back to accommodate certain legacy setups) follows some familiar conventions (groups, rights, and permissions), but it doesn't exactly match other systems. When connecting with Media Manager, Fredhopper, managed translation (TMS, WorldServer, or Language Cloud), or even when publishing or doing workflow, Tridion uses a particular user.

Though you might want finer control, I've seen a few things:
  • In many implementations I've seen, the customer will ask to elevate access to make a user be able to do things he or she normally can't. They want more access and an easier integration, rather than more authorization settings.
  • The roles allowed to "do" publishing, send translations, pick media, or configure targeting typically own or are trusted with the other system. These tend to be the web publisher, language expert, media owner, or marketer (or marketing SME) that pretty much have full access to the other system.
  • If most of my projects have authorization as one of the last things on the list (with good reason, it's hard to know what people will break or get stuck on without using it, also you need to set up sites before restricting what users can access), then finer-grained permissions for these connectors would be "phase 3" projects
The wife, a proposal writer familiar with sales and marketing software, even confirmed with, "Who cares about the types of permission being granted if the main part of the build isn't done?"

Thinking in terms of users explains other scenarios such as:
  • In terms of authorization this means users that can see the external items can typically use them, publish them, or send them for translation.
  • Rollback acts as the user and requires delete permissions, because a rollback could delete versions of items. The user matters.
  • Translation just needs scope on the targets, not sources. You can create a job for any items you can see and you can send a job with items you may not have access to.

Resolutions

Resolving is probably the hardest Tridion functional topic. Add it to your New Year resolutions if you haven't already. Each setup might have a different preference, but Tridion's resolving rules are designed to "make it work." Once you have such a default, you get disagreements with the assumptions. Though I don't always see people wonder why those defaults are there in the first place.

In publishing the basic idea is items that use!your item are republished.
  • Why? Because those other items might render your item.
  • Why not? A more static content model that explicitly places content on lots of pages means a single item queues lots of other items.

In linking the basic idea is that the link resolves to the closest component presentation.
  • Why? Content and pages can be separated and links will just work regardless of where content lives.
  • Why not? When content = pages = URLs, which is less of a reality today.
With translation, the owning item (nearest local or localized parent) is resolved except for items not-yet-translated. Duplicates are also removed so the translation job just includes the source items it needs for translators. Not yet translated means items under version 2.0.

  • Why? Reduce duplicate translations and avoid translating items not yet translated.
  • Why not? See below, but sometimes it's tempting to shortcut a BluePrint design and skip translation Publications. It's also hard to realize there's a difference for a given setup.

The (Can Only Translate) Version 2.0 Myth

I admit that I missed some of these resolving rules. I thought "link propagation" worked the other way around (it doesn't, that's because of our templates might publish linked items). Some might miss the proximity rules in dynamic linking. And for awhile there seemed to be a myth that you can only translate version 2.0 items or that workflow can't send minor versions.

The 2.0 only applies for localized items. Managed translation should have a BluePrint of source and target publications where managed translation "owns" (manages) the translations between sources on targets, which is the typical setup. 

So if you want multiple source publications, then you need matching target publication sets (times the number of languages), otherwise the "Version 2.0 myth" applies. Either way, make this easier by limiting sources, hiding Publications, or using the Publication filters.

Two Users

Users in Tridion that own a minor (temporary) change are the only ones that can see those changes or publish them. To get minor versions to translation in workflow, the translation and workflow users must match. My colleague Eric Huiza pointed this out to me, which helped inspire this post (thank the Huizard).

Update and implementation warning (March 4, 2015): matching identities will let you send translation, but be careful with new items, especially in a reserved state (which are forced to wait for Bundle workflow) since their child items cannot accept the translations until they are unlocked. One approach to avoid dealing with issues with receiving such translations is to automatically increment to a major version for new items.

Which brings us back to the point of this post--there is always a user. If you understand how users are related to authorization, versions, workflow, publishing, and any "new" Tridion connectors, then you've solved the second-most-important question: who.

The first important question is why, but as I've noted, we may not always agree or even consider with the why.

For more technical details on the user and system accounts for the modules and extensions mentioned, see this Tridion Stack Exchange Q&A on user accounts. I'd also love to hear your favorite (or worse) "gotchas" when it comes to authorization, users/user accounts, or extensions/connectors.