Publish an Image to a Structure Group Mirroring Folder

I often run into a scenario where clients ask to publish an image to a directory on the server.  Below is a TBB that does just this.  It publishes an image to a Structure Group that has the same relative path as the Folder. So you can right-click on a image and choose Publish in Tridion and then have it end up in, what appears to be the same folder on the delivery server (works great for untrained developers that just want to reference a src path).

Continue reading

SDL Tridion for Dummies – a proposal

SDL Tridion for DummiesPeople have been asking me for years, to write a SDL Tridion for Dummies book. With the release of SDL Tridion 2013 SP1, our documentation features two new getting started guides (Quick Guide to creating a Page Template and Quick Guide to creating a Component Template, note, the documentation requires login, see here for how to get the login details), and these can be seen as two chapters of a For Dummies book.

Now, while these two new quick guides are a revolutionary step forward for people who are completely new to SDL Tridion, I am still missing the explanation behind them. The guides explain you step by step what you need to do to create your first Page/Component Template based on an HTML design, but afterwards you still might not have a clue about what you actually did (or why you needed to do it).

So let me ask you, do you really need a SDL Tridion for Dummies book – the complete edition – taking it one step further than the documentation?

Continue reading

Forms without Java, XSLT or even XML

Forms Now you might have heard that I love WebForms and advocate it everywhere I can (which isn’t necessarily true, but let’s say it is for the sake of argument). So why, you may ask, is Bart writing a provider to an online forms solution?

The answer is really quite simple – well that’s what product management said about the idea; because we recognise that our users are using many different tools to enable and facilitate their diverse content management needs and one of these is the ability to create simple online forms. That is why we built the ECL framework and why we continue to look for ways to improve our customer’s content management experience. Actually, the answer is even simpler than that: just because I can, and because I just love ECL and by now I love it more than WebForms.

Continue reading

TransportPackageHandler: Does this count as documentation?

I was recently working on an implementation which required a custom Deployer Module to publish and un-publish DCPs from a third party system. In order to store and retrieve data in/from the system, certain ‘non-display’ data is required by the Deployer (think configurable username, passwords, and primary keys for the databases etc.).

Publishing actions were very straight forward, as all of the ‘non-display’ data could be stored in the contents of the DCP and parsed out before storing it. There are even more elegant ways of adding Metadata to Publish Instructions. Unfortunately this is not the case for a un-publish action. The only information sent in the package when un-publishing a DCP is an instruction to remove the specific DCP (or DCPs).

Having never faced this challenge before, I posted the question on tridion.stackexchange.com  and received a suggestion from Eric Huiza regarding an un-documented extension point for the transport package called a TransportPackageHandler. I will leave it to you to decide if it is a great suggestion or not. Continue reading

TcmTemplateSync: Work with TBBs outside of Tridion:

Working with TBBs outside Tridion? Nothing new there you say – I already edit my DWTs in Dreamweaver and my .NET TBBs in Visual Studio. But what about those other commonly used TBB types; Razor and XSLT, what if you don’t like Dreamweaver (or don’t have a license)? Now there is a tool to help you sync local copies of TBBs with the CMS, and break free from editing them in the CMS GUI: TcmTemplateSync Continue reading

The Community XSLT Mediator vs. SDL Tridion 2013 XSLT Template Building Blocks

A brief history of the XSLT Mediator for SDL Tridion
Back in 2007/08, Tridion introduced a modular template framework called Compound Templates with R5.3. At the time you could use a combination of Template Building Blocks written in Dreamweaver (DWTs), C# Fragments and .NET assemblies to manipulate items in a package and add them to the output of your Compound Template.

This was a giant leap forward from what are now called legacy templates (VBScript, JScript and classic XSLT Component Templates) in SDL Tridion 2013. The concept of Compound Templates remains strong today, and is the primary way that developers render their content.

One of the key features of the template framework, was that it could be extended to support additional programming languages through the creation of Mediators. Over the years as developers got frustrated with the out-of-the-box mediators (C# Fragments, DWT and .NET assemblies), a number of community built Mediators have reared their heads, including ones for XSLT, Razor and Java. Continue reading

Decommission a Publication Target

Decommission a Publication TargetWith the release of SDL Tridion 2013 SP1, we get a lot of new functionality. One of the interesting features I found was the ability to decommission a Publication Target. This feature is added to the Core Service, and currently not directly available from the UI. Which sounded like a good exercise to make a UI extension, with which you can call this new method.

Continue reading

ECL event handlers

illustrationIn my previous post about ECL, I’ve discussed querying ECL Metadata in the Broker, by making it available as part of the Multimedia (stub) Component Metadata. Now in that post I explained how it could be copied at Publishing time and the “evil” twists that process came with. In this post I’ll discuss an optional approach, using the SDL Tridion Event System which makes the process of copying external metadata to (normal) metadata less evil (just the process, not the fact that we do it ;o).

Continue reading

Using .NET Resources for localization in UI extensions

As by now you all have gathered, the annual MVP retreat has started and 16 MVPs are currently hard at work in a castle in Óbidos, Portugal. Our team, is working on what was defined on LinkedIn as Custom Editor Screens, for which we chose the working title Tridion Field Behavior Injection (available as open source on Google code of course).

Continue reading