Recently, while working on a custom content aggregation solution, I stumbled upon another inconvenience in SharePoint 2007 WCM. While trying to sort the query results on PublishingStartDate I got an exception that there is no such field. I found it quite odd since the Content Type of which the pages I was querying definitely had the PublishingStartDate. I have even triple checked it in the Content Type definition, in the SharePoint Web UI and using the Imtech Fields Explorer. However, while looking at the Pages Library I have noticed that while the Content Type has been bound correctly, both the PublishingStartDate and PublishingEndDate weren't there. After deleting and binding the Content Type again I have confirmed that while both these fields exist in the Content Type they are not getting added to the Pages Library. What's more, I wasn't even able to add these fields manually!
While working recently with the SPSecurityTrimmedControl I have found that it doesn't work as most of us would expect it to. The usage of the AuthenticationRestrictions and PageModes attributes took my attention in particular.
SharePoint 2007 has built-in support for Resource files helping you achieve localization. Using these files you are able to set localized labels for the resources being provisioned. Furthermore you are able to use Resource files within your assemblies to support localization on run time. Yet there is something wrong with localization in SharePoint 2007...
While working with the SharePoint Solution Generator (a utility which ships with Visual Studio 2005 extensions for Windows SharePoint Services 3.0) I have stumbled upon an interesting by-design feature which affects the way you develop Features - at least if you're using or planning to use the SharePoint Solution Generator (SPSolGen).
I've just stumbled upon a little inconvenience within SharePoint object model. As I needed to programmatically add a new View to a list, I have used the StringToSPViewType method of SPViewCollection class to convert a string representation of the view type to its SPViewType equivalent. Unfortunately all what I've got was an Argument Exception: Value does not fall within the expected range. Using the Lutz Roeder's Reflector I've taken a look into the assembly and I've found the reason of this problem.