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.
Its just over a year since Raimond and I launched SI4T – an open source search integration framework for Tridion published content. In that time the uptake has been good – I heard many stories of it being put into action after my TDS talk in May, and a trickle of questions has started appearing on stack exchange. As such, we feel its time to plan a new release, so this post is a call to arms to give anyone who has benefited from the framework the opportunity to give something back and create an even better solution.
The open source SI4T (Search Integration for Tridion) project allows you to pass through 3 levels of control over what content gets indexed: Firstly, the default, zero-configuration behaviour. Then there is fine-grained configuration via metadata and parameters, and finally total extensibility by coding your own indexing TBBs. This article talks through how you can refine your indexing strategy by passing through these levels. Continue reading