SDL Media Manager: Tools, Tips, Tricks, and Tridion

A few months ago Robert Curlette invited me to speak at the first ever Tridion Developer Summit. Unfortunately, he only allowed me to pick one topic. Surprise! I chose SDL Media Manager. What I want to do today is provide follow-up to my presentation, as well as links to my presentation, also.

Making the Presentation

Unlike other parts of the SDL suite, development with SDL Media Manager is almost exclusively front-end. It requires knowledge of HTML, CSS, and JavaScript. In order for me to feel comfortable presenting on these topics, I needed a web-based slide-deck. So I chose one that Google has used. The Google slide deck was pretty cool, but I needed some tools for putting the thing together. So, I created a version that used Grunt.js to build my actual slide deck. If you wanted to check it out, it’s all over here on GitHub. Make sure that node.js is installed, and then download the entire Github project. Fire up Grunt, and that’s it. Every time you add, edit, or remove a slide, it rebuilds the presentation for you. You just have to edit one whole file, and magic (read: JavaScript) does the rest.

Feel free to take a look at the finished product, too.

Presenting the Presentation

For a first Tridion Developer Summit, things were put together really well and very professionally. We did struggle with time, though, and mine was the second-to-last presentation of the day. Nickoli Roussakov spoke in the main room, and I in another room for the final “track” sessions of the day. We wanted to finish on-time, if not early, because of having fallen behind.

I am not one to bounce a check in the word bank. But, I tried my hardest to be thorough and quick. In doing so, my session was one hour and two minutes long. Considering that I waited about 5 minutes before getting started, and answered questions during the presentation, this is a massive win. I was convinced that I would have to skip slides for the sake of time, and that didn’t happen.

Some Questions that Came Up

How do you deal with Testing?

Media Manager, all on its own, is one, single, stand alone environment. While your website probably has development, staging and production environments, you may not get this luxury with Media Manager.

Create a test folder, or even a Test “Client” inside of Media Manager for your test videos and files. Also, create Test versions of your outlets. Use a naming convention that indicates the test state of your items. Try prepending something like dev-, test-, or QA- to your assets, programs, and distributions. For your outlets, create a dev version of the outlet, and once it clears all of your testing cycles, take whatever those changes are, add them to your production outlet, and then delete the dev outlet. It’s not a pretty process, but it’s a process, at least.

With two different ways to resize videos client-side, which is better?

Slides 17 and 19 address two different ways to resize videos in the front-end. On slide 17, you have a hard-coded override. If you need to make a video fit in a specific space, and you don’t care about aspect ratio, this is what you can use. You could use this to only over ride one dimension, too. The downside is that you could get some ugly black bars on the top and bottom of the video. That’s because Media Manager is trying to preserve aspect ratio of the video. If you don’t care about aspect ratio, and you want discrete control over height and width, use this.

Slide 19 presents a responsive video solution. This solution uses the width, and the aspect ratio, to change the height. So you need to know the aspect ratio, and you can’t modify the height. A change in the width begets a change in the height that is proportionate. This isn’t my own solution, by the way. There’s a great article on Smashing Magazine that explains it. If you care about aspect ratio, and you don’t need control over height, use this.

When Is it Ok to use the Projekktor API?

It isn’t.SDL uses a third-party API for presenting the videos. It adds several objects and methods to the DOM which enable you to manipulate the video in ways that SDL’s jQuery events don’t allow. But, don’t use it. I had a client that needed super-customized functions that simply couldn’t be generated using the available API. So I dug deeper.

SDL can update the projekktor API at any time. And they can add their own events and triggers. Not only that, they could throw away the API at any time. Writing front-end code that depends on that library is dangerous because it’s an unstable dependency. But…if you simply must deliver a piece of functionality, use it with extreme caution. SDL has told me on several different occasions that it is a bad idea to code against that API. So…don’t use it. But shoot me a message if you do.


The following week, I got to attend a Media Manager bootcamp. And I learned a few things. The actual content of that bootcamp is for a few more blog posts, but I did learn that I had a few facts wrong in my presentation:

  • Slide 5: A better Tridion analog for the distribution might be the page
  • Slide 6: Max Programs and Available for Web Publishing are simply metadata fields. They have no underlying functionality that limits how an asset is used.
  • Slide 7: Available from, …until and maximum views are also metadata fields. They have no functionality that turns off a program at a given date

Final thoughts

A big, heartfelt thanks to Robert Curlette for hosting the event. Just attending was a real treat, but getting to speak was a really cool honor. For all those who attended my session: thank you. Hopefully this won’t be the last time that I speak on Media Manager and Tridion.