Last year I wrote an article about programmatically provisioning Variation Hierarchies in SharePoint 2007. The point of that article was that there was really no way you could provision Variations in repeatable way in a supported fashion and had to use reflection to get the job done. The situation in SharePoint 2010 has changed a little. The process of creating Variations has been made more reliable my moving it completely to a Timer Job. So a new approach, requires new code, and here it is.
Since the release of Microsoft Office SharePoint Server 2007 the Content Query Web Part (CQWP) has served us very well as probably the best content aggregation solution available on the SharePoint platform. And while I’ve been using it heavily for Web Content Management solutions for the last three years with great success, I got really surprised when I found out that the CQWP provided with SharePoint 2010 doesn’t work with anonymous access!
One of the great capabilities of SharePoint Server is the ability of including reusable content: standard snippets of HTML which you can use in different places over and over again without having to copy & paste it. The great thing about Reusable Content is that you have the option to insert a reference instead of the copy of the content so that if the content snippet ever changes, you won’t have to manually check every single page in your site to ensure that the content is correct: SharePoint will do this for you automatically. While this piece of functionality is really great you wouldn’t believe how inconvenient it is to get to this list to add new content snippets in there.
While working on Microsoft Office SharePoint Server (MOSS) 2007 Web Content Management (WCM) Solutions you might have relied on the fact that the name of the Pages Library was always Pages. Well almost always, because in some languages, like German, it was translated along with the Title. Given that fact, changed the way we had to deal with the Pages Library in code. Instead of hard coding the URL part of the Pages Library, all of a sudden we had to retrieve it dynamically, just because someone accidentally translated the URL of the Pages Library. But looking at SharePoint Server 2010 tells us otherwise. Now the URL parts of Pages Libraries in all languages are translated. So was it a mistake in MOSS 2007 that in German the Pages Library was called Seiten or was it a mistake that the Dutch one was called Pages instead of Paginas?
Recently I’ve been working with a Feature responsible for provisioning a list instance based on the Asset Library List Template (new in SharePoint 2010). In spite of the fact that everything seemed to be okay on my side (everything defined in the right place, the Asset Library Feature activated, and so on), I kept getting error that the Asset Library List Template does not exist. Finding the answer to this riddle was just a matter of… timing.