I’ve been keeping a little notepad file on my machine for a while some of common code snippets that help when building SDL Tridion Gui / Alchemy extensions. I thought it would be great to share them with the community in the hope that they can help someone, and others can contribute.
What is it?
If you want to track content versions created between Workflow Activities in a Workflow Process, you can enable auditing of a Workflow Process. When you enable Workflow auditing, “snapshots” are taken of an item as it progresses through a Workflow Process.
GUI Extension: Components Re-Ordering Dialog
- SDL Best Practices recommend not localizing pages.
- We originally used Container Components so that Editors can re-order components without needing page localization.
- The use of Container Components introduced other issues as explained in this blog about Container Components.
- The solution outlined below does not rely on containers.
- SDL can store additional data on each component using Application Data. Application Data is applied to items across the blueprint and don’t require items localization.
Containers are a common approach when designing CMS content models. They allow Authors and Content Editors to organize content hierarchically. While containers allow contributors to group, reorder, and organize content easily, they also add a lot of dependencies to the content across the system.
I recently implemented an Audience Manager integration in a Web 8 DD4T (.NET) project. I was scratching my head for a long time about an error message that didn’t seem to make sense:
Unable to determine the current Publication. Please make sure the Ambient Data Framework is running, or configure a DefaultPublicationId in the cd_audience_manager_conf.xml configuration file
I recently started working on a new project using the DXA. One of the site types was a rebuild; using an existing content model rather than creating schemas from scratch. Part of the DXA philosophy is to enable MVC developers to use simple view models which hide the complexity of the underlying domain (CM) model. This article shows some tricks you can use to do help take this approach. Its based on the .NET implementation but the same concepts should apply to the Java version.
A while back I wrote a post on using Context Variables as a templating cache. When I came across some requirements to cache data between templates on a recent project I revisited this concept, but found some limitations with Context Variables which I had not realized before. As such I ended up implementing a different approach to caching
I found out how to use a new CM-side extension point today; Renderers. I had been struggling for a while with the fact that SmartTarget does not index the Keyword key – which was precisely what I wanted to set up some promotion content selection filters on. It turns out to be quite easy, and indeed gives a generic method for messing with the content that SmartTarget indexes without having to fiddle about on the Delivery side with Java or Kettle.
An event, in any computer system, is an interruption in the current process. The computer is busy doing what it should be doing, and then something happens to stop it and send it in a different direction. In old systems this was limited to the user clicking a keyboard key or a mouse button. Now, with much more complex systems, it can include state changes, network events, new data, and nearly everything else. Continue reading
On this year’s (2015) MVP retreat I played with the Alchemy 4 Tridion (A4T) REST API installed on the Tridion Content Manager. The result is a PowerShell script to install an Alchemy plugin in the Tridion Content Manager without having to do anything in the CME GUI.