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.

 

Removing Node.js dependency from the reference implementation

The whole idea of the reference implementation was to make your life (the life of a SDL Tridion developer) easier. But sometimes people make mistakes, and then the end result can be slightly more difficult than it was intended to be.

This blog post is not so much a confession of what I did wrong, but more intended to help you see how easy things can be changed when the tool you use was designed to be simple and modular.

Continue reading

Reference Implementation HTML design

By now I assume that everybody has had a little play with the SDL Tridion Reference Implementation, which means the questions are rising for sure. So let me start with spilling some of the guts of the HTML design and how that is build when you publish.

To start off, the HTML design is a responsive HTML5 design built Bootstrap, this means that you can adjust it to your own likings following the Bootstrap methodology. This includes building the HTML design with Node.js and Grunt, but let’s start off simple.

Continue reading

ECL and BluePrinting

BluePrint structure
Many have asked me, “Does ECL support BluePrinting”? My reply is always a solid yes, but (yes there is a but), I should really reply with a question: “Does your external system support BluePrinting”?

Since it is nice that ECL supports BluePrinting, but ECL just exposes items from your external system in SDL Tridion. So for them to be BluePrinted, you should have your ECL Provider make the connection between an SDL Tridion Publication and the specific items you want to show in that context. An ECL item URI contains a Publication URI, so to implement BluePrinting correctly in your provider, you will need to give the child item, the same ECL Item ID as its parent item. The only thing that is tricky there is localization, an ECL item doesn’t really have a localized state, the ECL stub Component can have that state though.

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

If Publishing Fails with “Request Entity Too Large” Error

Here is a quick Tridion tip.  If publishing fails with an error: “Request Entity Too Large”, it means that the size of the package is larger than what the Deployer is allowed to accept.  To resolve the issue, simply increase the HTTPSReceiver MaxSize attribute in the cd_deployer_conf.xml file.  What scenarios could cause this…

Continue reading

Some thoughts on CMS/CDN Integration

Creating a architecture presentation the other day helped to crystallise some thoughts in my head on integrating a CMS like Tridion, and Content Delivery Networks (CDNs).

I have been involved with such matters before (see my SDL Tridion World Article on how to technically integrate a CDN through Storage Extensions) but I thought it was worth sharing my ideas on the considerations when working with a CMS and CDN.

SDL Tridion’s Enterprise Content Management features are a good match for companies with a truly global digital presence and audience. Such companies are also those most likely to benefit from the scaling features offered by a global Content Delivery Network, so Tridion + CDN is a hot topic.

Continue reading

A Custom Resolver in practice

Back in February I posted an article about Custom Resolvers. Yesterday I rolled my first Custom Resolver into a production environment, so I figured it was time to share my findings.

Background

To set the scene, it probably helps to explain the business requirements first. We have a large implementation with over 300 publications. Many of these share content, some of which needs to be secured, and links to binaries that also need to be secured. We have a third party security solution, which is implemented as a proxy on top of our published site. The proxy looks for a security.xml in the folder of any request, and then prompts for login etc depending what is contained in the XML file. This works very well for pages, but the pages often link to binaries (which were all contained in the “/images” directory for each publication). In order to secure binaries with different sets of restrictions we needed to bind the binaries in different Structure Groups. To simplify the concept, we decided to publish a variant of each binary linked from a page to the same Structure Group as the page. This has the desired effect of securing all binaries that are linked from secured pages with the same restrictions.  When a binary is linked from multiple secured pages, multiple variants of the binary are published. Continue reading

Why we don’t use SDL Tridion Workflow

The SDL Tridion MVPs were chatting on Skype last week, and the subject of workflow came up. One MVP told us he was working on a particularly interesting workflow challenge, and another shared the fantastic one-liner “Rule #1 for SDL Tridion Workflow: Don’t do it”.

Now based on my last post “Welcome back SDL Tridion Workflow” I thought it would be interesting to take a look at why so few clients implement SDL Tridion’s workflow solution for managing their content. After all, I bet 9 out of 10 clients list workflow as a feature in RFIs when making their WCM selection shortlists. Continue reading