A few weeks ago I presented you a solution for creating dynamic layouts with nothing more than some CSS definitions and a dynamic body id. Using exactly the same HTML markup you can create a different layout of your page elements what makes it an extremely efficient and easy to maintain solution. While the concept is pretty straight-forward, applying it in practice to a real-life SharePoint Server Web Content Management solution has one drawback that you should keep in mind.
SharePoint 2010 ships with support for Linq. The great thing about it is, that Linq simplifies the process of querying lists and working with the retrieved items. Instead of objects, which you get if you’re using CAML, Linq retrieves for you strongly typed objects what makes it extremely easy to work with. And although it seems really perfect there are a few things that you need to keep in mind before you refactor your code to use SharePoint Linq instead of CAML.
Mavention Export Page is a custom extension for the new Visual Studio 2010 SharePoint Developer Tools that allows you to export preconfigured Publishing Pages to XML which can be then used for provisioning pages with Site Definitions.
Yesterday I showed you a neat way to hide/show some content based on authentication level and/or the page mode. The cool thing about it was that whenever the control was hidden, the child controls didn’t get instantiated at all preventing you from any kind of performance penalty. Today, when I read the article myself, it struck me: you could extract a piece of the control that I showed you yesterday and make of it a base class for all kind of conditionally visible content like content visible based on a query string parameter or a value of a field of the current page!
About a year ago I wrote about the inconvenience of the SPSecurityTrimmedControl: a great idea within the SharePoint framework that unfortunately doesn’t work the way it should. Now, as we’re about to get a new release of SharePoint, I decided to check if things have changed.