Have you ever found yourself in a situation when you were working with the Content Query Web Part (CQWP) and you wished it could provide you with some more information? While many SharePoint developers create they custom aggregation solutions you should know better than that. Content Query Web Part can provide you with almost any kind of information that you need and all that with only a few lines of code!
Recently I have made a Live Writer plugin which helps you create search engines optimized names for your blog posts (slugs). While I was working on a new MOSS 2007 Web Content Management (WCM) solution I have noticed that the standard page names generated by SharePoint while creating Publishing Pages can be optimized for better findability.
While working on new functionality for Imtech Fields Explorer I have noticed that there are Web Services in SharePoint 2007 which are missing the DISCO and the WSDL files. If you ever tried to attach a web reference to such Web Service you know that it will fail. While you might think that it's impossible, I have found a way of creating a WSDL file for an existing Web Service.
When using SharePoint search in a Web Content Management (WCM) solution you are very likely to create your scope which will include Publishing Pages only. As other pages like Application Pages and Lists' Forms are not accessible by anonymous visitors you don't want them to appear in the search results on the public site. While creating what I call a 'public scope' is rather straight-forward there is one thing you have to keep in mind to make it work as expected.
While testing the newest feature of Imtech Fields Explorer - generated Content Types and Site Columns wrapper classes I have discovered that there were some issues while using these classes for referring to Site Columns. To avoid problems while referring to Site Columns from custom code I have decided to use SPField.Id instead of SPField.InternalName. While generating wrapper classes Imtech Fields Explorer v220.127.116.11 will now use the InternalName for the property name and Id for the value: