Announcing the Alchemy Webstore!

alchemy-tridion

Content Bloom is pleased to announce the launch of an exciting new product that brings the ease and convenience of your favourite app store to SDL Tridion. The brainchild of Alexander Klock, the master coder who gave the world the Razor Mediator for Tridion, Alchemy is a new system set to revolutionize the way Tridion eXtensions are built and installed. Not only does www.alchemywebstore.com and the Alchemy4Tridion eXtension provide one click access to a number of fully developed and tested plugins to add a range of new functionalities to your Tridion instance, but with the Alchemy framework anyone can develop and share new plugins with unheard of ease. Continue reading

Translation Manager Retrieval for Preview AppData Context

Context

Few months ago I worked in a project, in a customization of the default translation process of Translation Manager.

Back then, everything was working good for them, but one day they came with this idea “We want to be able to review the content in Tridion before the Translation Job is completed”. so that mean that they wanted to have in Tridion the translated content from the Translation Management System (TMS) before the TM Workflow is completed (the Translation Job is marked as Completed).

Because of the requirements of the client, the previous implementation was quite complex, having different event system already running in their box.

Solution

In order to support this scenario, Tridion has a Translation Manager hotfix that needs to be installed. the hotfix is “Hotfix TT88617“. after you install in the box where TM is running, you need to execute some steps in the TMS side. Basically a new manual activity called “Translated Content Retrieval for Preview” needs to be created in the Translation workflow. so, a very basic workflow would be :

TM-workflow

 

Custom Implementation

Because of the previous complex implementation and having in mind that we wanted to let the user to review the translated content in Tridion. and because this content was already in translation process, we were not able to see the translated content in CME graphic interface. So the solution was to publish the translated content (the current minor version) into the staging (Presentation Server), that way they user could hit the page and see its translated content.

Well, that was the solution in paper, after that we needed to design it and then implement it, here is a very high level design of the solution.

solution-design

The green boxes were executed in Event system context, the blue ones, in Automatic workflow activities in Tridion.

so, in a nutshell, we created a event system component that was listening for the save event for the components. In that event we validated that the execution was in a translated context, if so, we validated that it was the “Retrieval for Preview” step and not the final step (completed). if the execution met this validations we would publish the content.

we are not going to go in details about the whole implementation, instead we will focus in once specific part of this, the validation to know if the execution was either in the “Retrieval for Preview” or the translation Job was completed. because both scenarios had the exactly the same context.

In order to validate this, we needed to use Core Services to retrieve the application Data, this is an example :

app-data

once we were able to get the appData we needed to go through it and locate the value of the RetrieveReasons attribugte and validate if the values was “Review”

validation

 

Hope if was helpful.

 

SDL Web Design Pattern: “Slicing”

As a Tridion an SDL Web developer, you’ve very likely converted a single block of HTML design into appropriate Tridion Building Blocks. The idea of breaking a page into types of content, represented in Tridion as Component Presentations, is not new to you. But have you “sliced” a Component by sets of fields?

A few months back, Damian Jewett, explored the idea of multiple Template Layout Building blocks. I’m following up with a potential use case for this approach along with a parallel idea with Component Templates instead. We can call this slicing, where we have a consistently used subset of fields out of a collection of Component fields.*

*I first heard the term “slice,” in a slightly different context, from a French design agency after they learned how Tridion worked.

First read Damian’s post. Continue reading

Increasing Load Performance with Content Delivery

In the past decade we’ve experienced a steady increase in the average page’s total resource size. It should come as no surprise to us that the resources that have grown the most belong in the media category; specifically images. While other resources have experienced a similar shift, images remain to be the bottleneck on an initial page load – and in a world that is constantly transitioning to mobile, with providers offering limited mobile bandwidth and data improvements, it is crucial that we prioritize its importance. In this post I will detail how we can minimize the resource payload on the initial load and detail considerations that should be made to accommodate low bandwidth visitors.

Continue reading

Edit AJAX loaded content with Experience Manager… really?

To be honest I had been a bit lazy. In all the conversations I had had on the subject of editing AJAX loaded content with Experience Manager I had been told it could not be done, so I didn’t even try. Until Jaime told me it was possible and I found out that its not even difficult. Continue reading

Developer? You should go to SDL Innovate!

sdl innovateSDL Innovate is a global customer experience event that takes place in Amsterdam, London, San Francisco, Tokyo and Sydney. Each event features industry experts and top brands sharing information about some of the work they’ve done and some of the best practices. You’ll also have access to SDL management and experts.

Continue reading

Who’s who in the Ambient Data Framework

target_audienceMy current project has the ambition to use almost every aspect of the SDL Web suite of products, from plain old Tridion through Audience Manager, SDL Mobile, SmartTarget and finally Campaign Manager – and of course all working via Experience Manager, to provide inline editing and contextual preview.
When looking at how these integrate, all roads lead to… The Ambient Data Framework. SDL provides a number of off-the-shelf cartridges which have varying degrees of mystery – this post aims to clear the mist and describe a little bit more than you get from the docs.

Continue reading

Get JSON data from the SDL Tridion Reference Implementation

The MVPs got to grips with the SDL Tridion Reference implementation (TRI ) while on the yearly retreat in Portugal a couple of weeks back. In between getting people up and running with this new SDL Tridion product, I knocked up a Controller implementation to pull content/data as JSON from the web application.

Continue reading

Distributed “Tridion-less” Tridion Development

About five years ago I wrote a blog entitled the “The Fifth SDL Tridion Environment” in which I explored the need for additional development environments. SDL solved my frustration in part, by creating the MVP program, which carries the great benefit of a special MVP license for Tridion. The license can be used for personal research etc., but not on customer or partner projects. So fast forwarding to 2014, independent Tridion developers are in much the same boat of needing to use a customer’s license installed on a customer’s server.

A lot has changed since 2009, and I am now on a project where we have a globally distributed army of developers (many of which have no knowledge of Tridion or any other CMS) working on a Tridion project from their own machines without the need to buy additional licenses or provide training to each developer. SDL may not like this idea (sorry SDL), but the approach I am about to share has drastically increased the productivity of our team, and has removed many of the ‘barriers to entry’ that so many of SDL’s customers and prospects have complained about in the past. I really believe that this is a model that could significantly increase the acceptance of Tridion to the broader developer community. Continue reading