Looking at code you wrote three years ago can sometimes be a confronting experience. In case of the code I wrote for SI4T, this was no different. After you go through the six stages of debugging and cringe at the aestestics of the code base, the only thing you can do is rewrite the stuff with the knowledge of today and be solaced by the fact that your code is actually used in production environments and not breaking too much.
The release of SDL Web 8 has seen the biggest overhaul of the Content Delivery stack since Tridion 2011 and much of it has been applauded much, as the new Micro Services architecture and with it the ability to scale, deploy and be distributed in general, gives many more architectural options than just having an API in your web application connecting you to a database.
Building this while guaranteeing backward compatibility with the Tridion 2011/2013 CD stack is more than a major task and I for one am happy to see that that feat was pulled off really well. That is, unless you have overridden the default DAOFactory classes in your Deployer Storage Extensions, as is the case with the SI4T Storage Extensions. When testing SI4T with Web 8, it turned out that loading of the SI4T Storage Extension did not work in every scenario. This has to do with the subtler points of Spring Bean Class loading.
I set out to create a basic SDL Web 8 DXA machine with default everything installed and configured, following SDL’s installation documentation as closely as possible. I wanted to find the quickest, easiest and cheapest way to get up and running from scratch. Although it didn’t go as smoothly as I would have liked, the end result was indeed a fully functional SDL Web 8 development environment with the sample DXA site up and running, Topology Manager, a working Experience Manager, the ability to create new schemas and map them to application-side View Models, etc. In this post, I specify the key portions of SDL documentation used, some common issues encountered and some advice for getting set up quickly and easily.
Recently I have had the pleasure of debugging XPM issues, which is high on a Tridion developer’s list of favourite pass times. I got a special bonus though, because in addition to the common, and often discussed session preview errors, I had a seemingly unique error killing XPM in Firefox and Internet Explorer before it could load:
Recently while editing a coworker’s Tridion documentation I was shocked to see him refer to the Structure Group icon (pictured below) as purple. As someone who considers themselves to be somewhat of an expert on the Tridion icons, I was blown away to hear this one referred to as anything besides pink.
Recently I had the pleasure of traveling to Portugal for the SDL Web Most Valued Professional (MVP) retreat. While this was my first opportunity to participate in one of these events, I have seen the results of having some of the brightest and most willing-to-share minds in the SDL Web community brought together for the opportunity to collaborate. Often times in the past this event has helped to shape the future of SDL Web development, and this year was no exception. Continue reading
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.
Had a couple of DTAP related conversations this week and remembered that I’d once put together some notes about DTAP that I’d emailed to a former colleague. Figured I’d give a bit of a polishing up and share it.