Using a configuration file for your custom Tridion Content Delivery code

Tridion (or SDL Web as it’s called nowadays) allows many extension points. You can extend the content editor GUI, you can extend events, and you can also extend a lot of things on the content delivery side, for example Ambient data claimprocessors, TCDL tag handlers, storage extensions, …

These content delivery extension points are usually written in Java.
This blog post will show you how you can easily add your own configuration files for your code.

Continue reading

Demystifying Tridion’s Checkout Behaviour

“Tridion seems to choose random times to not check in my items and I don’t notice it until I’m well into my debugging.” I’m sure I’m not the only one who has heard this, or thought it silently to myself. Of course, everyone knows that software doesn’t often do “random”, and if you pay enough attention and get a little lucky you can usually find a pattern to when an unexpected behaviour is happening. In this case I’ve spoken to a number of experienced Tridion users and gotten some good ideas on why items might stay open.

Continue reading

When Virus Scanning Goes Wrong

Recently I’ve been working with a client that has fairly heavy publishing requirements. The blueprint contains over 300 publications, each containing a couple hundred pages. This means a release with widespread impacts can easily lead to 10-20 thousand published items. Luckily, we’ve scaled out publishing to the point where this ordinarily isn’t a problem. However, we were still noticing intermittent problems with our deployer. These came up in two main ways:

  • Publishing getting stuck in a “throttled state”, even when all other tasks in the queue were either successfully published or waiting for publish
  • The publishing queue showing all publishes stuck on a “ready for transfer state”, even though the files on the file system were being updated

Continue reading

XPM HTTPS Issues

Recently I was working on an Experience Manager installation where the pre-dev application (XPM enabled) had a SSL certificate installed. When we installed Experience Manager and tried firing it up for the first time we notice that all our scripts were being blocked. The error in the console told us that we were trying to load scripts from unauthenticated sources; AH – we were trying to load the XPM bootstrap javascript file from an HTTPS site, while the CM was just communicating over HTTP. Continue reading

Using Alchemy’s Built In Libraries

One of the features of Alchemy that I think will end up being the most helpful in the future is the way it lets you build a plugin and never have to worry about whether it’ll stop working with future versions of Tridion. This is because Alchemy provides helpful wrappers for the Anguilla framework used to interact with the CMS. If Tridion ever moves on from Anguilla (as has long been rumoured) Alchemy will update the wrappers to support the new technology and if your plugin is using these wrappers you shouldn’t even have to think about it. Continue reading

Setting Alchemy Plugin Permissions

alchemySo you came to Tridion Developer Summit and heard about this hip new Tridion framework called Alchemy. Or maybe you’d already heard of Alchemy and have been anxiously awaiting the chance to try building your own plugin. The problem is, you can’t build and test a plugin on your Tridion environment because you can’t let just any user play with your plugin as you develop. Fortunately, we at Alchemy recognize that security is a huge concern for many users and we are working hard to address this as comprehensively as we can. Unfortunately, we aren’t there yet. However, if you are really anxious to start building I’m going to show you how to lock down your plugin so that only certain users have access to your ribbon bar or context menu extension, using just the Alchemy API and some JavaScript. Continue reading

John Oates’ Moustache

Screen Shot 2015-09-08 at 17.29.59Recently one of my coworkers was saying she didn’t know who Hall & Oates were. This got me thinking, what better way to preserve the legacy of the great rock and soul duo than adding John Oates’ moustache to some Tridion icons. So, for anyone interested in Oatesifying your CME, follow these steps.

  1. Download the image at the end of this post
  2. Go to %TRIDION_HOME%\web\WebUI\Editors\CME\Themes\Carbon2\Sprites
  3. Rename cme_Sprites.32px.png to cme_Sprites.32px_old.png
  4. Copy the downloaded image to this location
  5. Open %TRIDION_HOME%\web\WebUI\WebRoot\Configuration\System.config
  6. Increment the modification attribute of the server version
  7. Clear your cache and reload Tridion
  8. Enjoy the Oates!

Continue reading

Alchemy and the Dangers of JQuery Scope

While working on a plugin with Alchemy recently, I noticed something helpful: my popup window automatically inherited the Tridion CSS and JS. This is especially great if, like me, you want to make a popup look like Tridion. However, it did raise one concern. GUI extensions often rely heavily on JavaScript, and if, like me, you’re a Tridion developer who dabbles in JS you might not be that familiar with JavaScript variable scope. There is a tonne of information available online on this subject, but I wanted to bring attention to it in the context of Tridion and Alchemy.

Continue reading