<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>David Wise's Sharepoint blog</title><link>http://www.sharepointblogs.com/dwise/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/DavidWisesSharepointBlog" type="application/rss+xml" /><feedburner:emailServiceId>DavidWisesSharepointBlog</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>Silverlight XAP File Out of Date When Built with Expression Blend</title><link>http://feedproxy.google.com/~r/DavidWisesSharepointBlog/~3/VwUgdCOp7Qs/silverlight-xap-file-out-of-date-when-built-with-expression-blend.aspx</link><pubDate>Thu, 21 May 2009 19:54:51 GMT</pubDate><guid isPermaLink="false">1f6a1193-f4bb-4480-a5ae-b538d8b20f46:52840</guid><dc:creator>DavidWise</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://www.sharepointblogs.com/dwise/rsscomments.aspx?PostID=52840</wfw:commentRss><comments>http://www.sharepointblogs.com/dwise/archive/2009/05/21/silverlight-xap-file-out-of-date-when-built-with-expression-blend.aspx#comments</comments><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The latest project I am working on involves some rather tight integration between Silverlight and SharePoint so I’m getting my feet wet with these tools in the SharePoint-o-Sphere.&lt;/p&gt;  &lt;p&gt;I recently ran into an issue where the .XAP file that is needed for Silverlight would not update properly whenever I built the solution within Expression Blend.&amp;#160; If I switched over to Visual Studio, then it would work perfectly.&amp;#160; A quick search showed no conclusive fix for this issue so I came up with this bute force workaround:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Close Blend &lt;/li&gt;    &lt;li&gt;Open Visual Studio &lt;/li&gt;    &lt;li&gt;go to Project –&amp;gt; Properties –&amp;gt; Build Events and enter the line below in the Post-build event (replacing the web name as needed) &lt;/li&gt; &lt;/ol&gt;  &lt;blockquote&gt;   &lt;p&gt;xcopy /y &amp;quot;$(TargetDir)$(TargetName).xap&amp;quot; &amp;quot;$(SolutionDir)sample.web\ClientBin\&amp;quot;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;After that, the build works fine in both Visual Studio and in Blend.&lt;/p&gt;  &lt;p&gt;I should point out that when I initially created this solution the build worked fine in both Blend and Visual Studio.&amp;#160; The Blend build stopped updating the XAP file when I restructured the solution in order to put the projects into Team Foundation Server.&amp;#160; I cannot find anything in the folder structure itself that points to the old folders or structure so I am not sure where this behavior is coming from.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=52840" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/DavidWisesSharepointBlog/~4/VwUgdCOp7Qs" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.sharepointblogs.com/dwise/archive/2009/05/21/silverlight-xap-file-out-of-date-when-built-with-expression-blend.aspx</feedburner:origLink></item><item><title>Configuring Reflector in Visual Studio 2008</title><link>http://feedproxy.google.com/~r/DavidWisesSharepointBlog/~3/DwsPJ_odt-4/configuring-reflector-in-visual-studio-2008.aspx</link><pubDate>Tue, 28 Apr 2009 16:00:34 GMT</pubDate><guid isPermaLink="false">1f6a1193-f4bb-4480-a5ae-b538d8b20f46:49394</guid><dc:creator>DavidWise</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://www.sharepointblogs.com/dwise/rsscomments.aspx?PostID=49394</wfw:commentRss><comments>http://www.sharepointblogs.com/dwise/archive/2009/04/28/configuring-reflector-in-visual-studio-2008.aspx#comments</comments><description>&lt;p&gt;Red Gate’s &lt;a href="http://www.red-gate.com/products/reflector/" target="_blank"&gt;Reflector&lt;/a&gt; (&lt;a href="http://blog.lutzroeder.com/2008/08/future-of-net-reflector.html" target="_blank"&gt;Formerly by Lutz Roeder&lt;/a&gt;) is one of those tools that you can technically live without but the question then becomes: why?&amp;#160; It is free and makes SharePoint development that much easier.&amp;#160; And to be honest, those of us doing serious development in SharePoint can use a few breaks in this area.&lt;/p&gt;  &lt;p&gt;The main thing that it gives SharePoint developers is the full name of your compiled dll’s (including the PublicKeyToken) in the exact format that you have to use all over SharePoint whenever you reference anything in that library.&amp;#160; &lt;/p&gt;  &lt;p&gt;The only problem is that Reflector doesn’t know where to find your handy DLL, so you have to open Reflector and do File-Open and browse to your newly compiled library.&amp;#160; Except, of course, if you configure it as an External Tool (under Tools on the menu) so that Visual Studio tells it where to find your DLL.&amp;#160; Easy enough.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://farm4.static.flickr.com/3648/3482733063_483237ceee_o.png" alt="" /&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;For those who like copy-paste, those arguments are :&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;quot;$(BinDir)$(TargetName)$(TargetExt)&amp;quot;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Compiling your project and running Reflector from the Tools menu now should now show you a whole list of libraries with your custom dll at the bottom.&amp;#160; Clicking on your dll name will put information like this at the bottom of the Reflector window where you can then highlight it and copy.&amp;#160; Yes, the information is available simply by looking at the GAC but this is much quicker and less prone to typing errors, and is already in the proper format.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://farm4.static.flickr.com/3556/3482807939_d40bb30bb0_o.png" alt="" /&gt; &lt;/p&gt;  &lt;p&gt;The second thing it gives you, which is actually Reflector’s main purpose, is immediate and easy disassembly of a library so you can see the code that is actually being executed when you call functions in Microsoft.SharePoint.dll.&amp;#160; It also opens you up to a whole new world of frustration, as in: “Why in the world did Microsoft not seal a certain webpart class, but then &lt;strong&gt;&lt;em&gt;did&lt;/em&gt;&lt;/strong&gt; seal that webpart’s custom toolpart class”&amp;#160; Yep. You get to see that stuff too.&lt;/p&gt;  &lt;p&gt;Happy reflecting :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=49394" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/DavidWisesSharepointBlog/~4/DwsPJ_odt-4" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.sharepointblogs.com/dwise/archive/2009/04/28/configuring-reflector-in-visual-studio-2008.aspx</feedburner:origLink></item><item><title>SharePoint Advanced Search Scopes Bug</title><link>http://feedproxy.google.com/~r/DavidWisesSharepointBlog/~3/bwYHPYgDVSs/sharepoint-advanced-search-scopes-bug.aspx</link><pubDate>Wed, 03 Dec 2008 18:44:03 GMT</pubDate><guid isPermaLink="false">1f6a1193-f4bb-4480-a5ae-b538d8b20f46:23599</guid><dc:creator>DavidWise</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://www.sharepointblogs.com/dwise/rsscomments.aspx?PostID=23599</wfw:commentRss><comments>http://www.sharepointblogs.com/dwise/archive/2008/12/03/sharepoint-advanced-search-scopes-bug.aspx#comments</comments><description>&lt;p&gt;I have a situation where I need to allow a user to pick from a set of available scopes in the Advanced Search box in SharePoint.&amp;#160; In and of itself, this is not a problem as I can configure the Advanced Search Web Part to do this and then customize the specified Display Group as needed.&amp;#160; Easy.&amp;#160; The problem arises when the user attempts to select multiple scopes in the Advanced Search and hits Submit.&amp;#160; Then I get: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;“Your search cannot be completed because of a service error. Try your search again or contact your administrator for more information”&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;It turns out that the problem is that one of the scopes included in the Display Group contains the Scope Rule to include All Content.&lt;/p&gt;  &lt;h5&gt;The Solution&lt;/h5&gt;  &lt;p&gt;Create a new scope in your Shared Service Provider that will include all of the content via URL includes and such but does not have the All Content scope rule.&amp;#160; Then update the Display Group used for Advanced Search to use the new scope instead of the original scope. Naturally, the complexity of this option will vary greatly based on your environment.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: I cannot take credit for solving this as the original diagnosis and solution is posted &lt;a href="http://social.technet.microsoft.com/Forums/en-US/sharepointsearch/thread/fb78decc-aeb5-4c04-bb75-473c25f8c11d/" target="_blank"&gt;here&lt;/a&gt;.&amp;#160; I’m rewording it and reposting it here in the hopes of making it easier for people to find as tracking down the original solution took quite a while.&amp;#160; The original solution is also rather technical which may cause non-technical admins to gloss over pretty quickly.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=23599" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/DavidWisesSharepointBlog/~4/bwYHPYgDVSs" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.sharepointblogs.com/dwise/archive/2008/12/03/sharepoint-advanced-search-scopes-bug.aspx</feedburner:origLink></item><item><title>Hidden Gem in GMail Themes</title><link>http://feedproxy.google.com/~r/DavidWisesSharepointBlog/~3/Qo_5kGTRj5s/hidden-gem-in-gmail-themes.aspx</link><pubDate>Thu, 20 Nov 2008 17:59:58 GMT</pubDate><guid isPermaLink="false">1f6a1193-f4bb-4480-a5ae-b538d8b20f46:23222</guid><dc:creator>DavidWise</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://www.sharepointblogs.com/dwise/rsscomments.aspx?PostID=23222</wfw:commentRss><comments>http://www.sharepointblogs.com/dwise/archive/2008/11/20/hidden-gem-in-gmail-themes.aspx#comments</comments><description>&lt;p&gt;The other day, our good friends at Google introduced Themes for your GMail.&amp;#160; Big deal you say?&amp;#160; Just some new colors?&amp;#160; Think again.&amp;#160; Specifically think more like DreamScene on the web because these themes change.&amp;#160; I don’t know about all of them, but I picked “Tea House” last night and it was a night scene with a pagoda and rather peaceful.&amp;#160; This morning, I check Gmail and the same theme is now bright and sunny!&lt;/p&gt;  &lt;p&gt;I’ve been watching it throughout the day and the sun that is on the theme has been moving across the sky with the time of day.&amp;#160; A very cool approach to theming on the web and it makes me wonder what some of the other themes do…&lt;/p&gt;  &lt;p&gt;I realize that something like this won’t change the world or help anyone make better widgets but it is a new take on what has normally been a rather boring part of the technology scene and that is refreshing all by itself.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=23222" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/DavidWisesSharepointBlog/~4/Qo_5kGTRj5s" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.sharepointblogs.com/dwise/archive/2008/11/20/hidden-gem-in-gmail-themes.aspx</feedburner:origLink></item><item><title>Curmudgeon, Revisited</title><link>http://feedproxy.google.com/~r/DavidWisesSharepointBlog/~3/7pfCynVNBeg/curmudgeon-revisited.aspx</link><pubDate>Tue, 04 Nov 2008 23:46:56 GMT</pubDate><guid isPermaLink="false">1f6a1193-f4bb-4480-a5ae-b538d8b20f46:22719</guid><dc:creator>DavidWise</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://www.sharepointblogs.com/dwise/rsscomments.aspx?PostID=22719</wfw:commentRss><comments>http://www.sharepointblogs.com/dwise/archive/2008/11/04/curmudgeon-revisited.aspx#comments</comments><description>&lt;p&gt;A while back, I mentioned the &lt;a href="http://www.sharepointblogs.com/dwise/archive/2008/01/23/the-value-of-an-it-curmudgeon.aspx"&gt;value of keeping an IT Curmudgeon around&lt;/a&gt; the office. Due to recent events, I must now amend that post.&lt;/p&gt;  &lt;p&gt;At the time I wrote that, I was working in an office with one and only one such person and immediate evidence matched my past experience.&amp;#160; However, I have now spent two months working in an environment where there were two such people.&amp;#160; Specifically, these two were on opposite sides of me and their preferred method of communication was to yell to each other loud enough to cover the 15 feet that separated them.&amp;#160; You are probably starting to feel my pain now.&lt;/p&gt;  &lt;p&gt;The last two months have been spent listening to these two complain about how standards are not what they used to be, Specs are not properly divided in accordance with guidelines from 1985.&amp;#160; The voluminous merits of fixed-width flat files.&amp;#160; Everything in .Net is so much more difficult than it was in COBOL.&amp;#160; Of course, those mainframes and mini’s were laid out so nicely, making it easy to find programs.&amp;#160; Naturally, text editing was far superior on a mini as well.&amp;#160; Oh, and do you remember when the AS400 came out??? Now THERE was a machine that shook the world … and so on … for two months … 8 to 10 hours per day …&lt;/p&gt;  &lt;p&gt;If your office is equipped with two or more such people, do not place them in close proximity to one another.&amp;#160; Doing so afflicts all people within earshot with IT Reminiscence Aural Syndrome that cripples morale, creativity and productivity.&amp;#160; ITRAS also can damage hearing as those in nearby cubicles have been known to increase the volume on their IPODs to unsafe levels in the hope of blocking out the non-stop stream of I.T. Tall Tales and Legends.&amp;#160; &lt;/p&gt;  &lt;p&gt;Make sure that any and all curmudgeons in your organization are separated by as many layers of acoustic insulation as is available.&amp;#160; If they are not allowed to communicate audibly then their overall damage is diminished greatly.&amp;#160;&amp;#160; If you won’t separate them for yourself then do it for the others around them.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=22719" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/DavidWisesSharepointBlog/~4/7pfCynVNBeg" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.sharepointblogs.com/dwise/archive/2008/11/04/curmudgeon-revisited.aspx</feedburner:origLink></item><item><title>Inside the SharePoint People Picker</title><link>http://feedproxy.google.com/~r/DavidWisesSharepointBlog/~3/XntrrLWPWpg/inside-the-sharepoint-people-picker.aspx</link><pubDate>Thu, 01 May 2008 16:49:00 GMT</pubDate><guid isPermaLink="false">1f6a1193-f4bb-4480-a5ae-b538d8b20f46:16011</guid><dc:creator>DavidWise</dc:creator><slash:comments>18</slash:comments><wfw:commentRss>http://www.sharepointblogs.com/dwise/rsscomments.aspx?PostID=16011</wfw:commentRss><comments>http://www.sharepointblogs.com/dwise/archive/2008/05/01/inside-the-sharepoint-people-picker.aspx#comments</comments><description>&lt;p&gt;SharePoint provides a handy control commonly known as a &amp;quot;people picker&amp;quot; that allows users to search for and select users defined at some specified scope.&amp;nbsp; This control is normally associated with Personnel field in a SharePoint List.&amp;nbsp; However, what happens when you need to add this functionality to some custom component and need to access it programmatically?&amp;nbsp; It gets a lot more complicated!&lt;/p&gt;
&lt;p&gt;&lt;img alt="Fli5A" src="http://static.flickr.com/3070/2291874452_d224ed2cfe.jpg" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;This article is meant as more of a repository of knowledge that I&amp;#39;ve discovered while working with this control rather than a &amp;quot;how-to&amp;quot;.&amp;nbsp; If you are looking for How-To articles, try these: &lt;a href="http://blogs.msdn.com/ekraus/archive/2008/02/06/use-peopleeditor-people-picker-in-sharepoint-custom-app-dev.aspx" target="_blank"&gt;Eric Kraus&lt;/a&gt; or &lt;a href="http://www.sharepoint-tips.com/2007/10/using-sharepoint-people-picker.html" target="_blank"&gt;SharePoint Tips&lt;/a&gt;.&amp;nbsp;&amp;nbsp; Likewise, please let me know if you have any additional information about the actual workings of this poorly documented control.&lt;/p&gt;
&lt;h3&gt;Where to find the control&lt;/h3&gt;
&lt;p&gt;The control is actually called a &amp;quot;&lt;font face="Courier New"&gt;PeopleEditor&lt;/font&gt;&amp;quot; and is in the &amp;#39;&lt;font face="Courier New" size="2"&gt;Microsoft.SharePoint.WebControls&lt;/font&gt;&amp;#39; namespace.&amp;nbsp; You will need to add a reference to &lt;font face="Courier New"&gt;&amp;#39;Microsoft.Sharepoint.dll&amp;#39;&lt;/font&gt; to your project in Visual Studio, which is something you probably already have if you are writing anything that works with SharePoint.&lt;/p&gt;
&lt;h3&gt;What is it?&lt;/h3&gt;
&lt;p&gt;The PeopleEditor is simply a standard UserControl with it&amp;#39;s own hierarchy of elements.&amp;nbsp; If you were to walk the tree of controls used, you would see the structure shown below&amp;nbsp; (control IDs are in &lt;em&gt;&lt;font color="#008000"&gt;green italics&lt;/font&gt;&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" size="1"&gt;Microsoft.SharePoint.WebControls.PeopleEditor &lt;br /&gt;|-System.Web.UI.HtmlControls.HtmlInputHidden (&lt;strong&gt;&lt;em&gt;&lt;font color="#008000"&gt;hiddenSpanData&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;) &lt;br /&gt;|-System.Web.UI.HtmlControls.HtmlInputHidden (&lt;strong&gt;&lt;em&gt;&lt;font color="#008000"&gt;OriginalEntities&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;) &lt;br /&gt;|-System.Web.UI.HtmlControls.HtmlInputHidden (&lt;strong&gt;&lt;em&gt;&lt;font color="#008000"&gt;HiddenEntityKey&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;) &lt;br /&gt;|-System.Web.UI.HtmlControls.HtmlInputHidden (&lt;strong&gt;&lt;em&gt;&lt;font color="#008000"&gt;HiddenEntityDisplayText&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;) &lt;br /&gt;|-System.Web.UI.WebControls.Table (&lt;strong&gt;&lt;em&gt;&lt;font color="#008000"&gt;OuterTable&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;) &lt;br /&gt;|- |-System.Web.UI.WebControls.TableRow &lt;br /&gt;|- |- |-System.Web.UI.WebControls.TableCell &lt;br /&gt;|- |- |- |-System.Web.UI.WebControls.Table &lt;br /&gt;|- |- |- |- |-System.Web.UI.WebControls.TableRow &lt;br /&gt;|- |- |- |- |- |-System.Web.UI.WebControls.TableCell &lt;br /&gt;|- |- |- |- |- |- |-System.Web.UI.HtmlControls.HtmlGenericControl (&lt;strong&gt;&lt;em&gt;&lt;font color="#008000"&gt;upLevelDiv&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;) &lt;br /&gt;|- |- |- |- |- |- |-System.Web.UI.WebControls.TextBox (&lt;strong&gt;&lt;em&gt;&lt;font color="#008000"&gt;downlevelTextBox&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;) &lt;br /&gt;|- |- |-System.Web.UI.WebControls.TableCell &lt;br /&gt;|- |- |- |-System.Web.UI.WebControls.HyperLink (&lt;strong&gt;&lt;em&gt;&lt;font color="#008000"&gt;checkNames&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;) &lt;br /&gt;|- |- |- |-System.Web.UI.LiteralControl &lt;br /&gt;|- |- |- |-System.Web.UI.WebControls.HyperLink (&lt;strong&gt;&lt;em&gt;&lt;font color="#008000"&gt;browse&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;) &lt;br /&gt;|- |- |- |-System.Web.UI.LiteralControl &lt;br /&gt;|- |- |- |-System.Web.UI.HtmlControls.HtmlInputButton (&lt;strong&gt;&lt;em&gt;&lt;font color="#008000"&gt;CreateItem&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;) &lt;br /&gt;|- |-System.Web.UI.WebControls.TableRow &lt;br /&gt;|- |- |-System.Web.UI.WebControls.TableCell &lt;br /&gt;|- |- |- |-System.Web.UI.WebControls.PlaceHolder &lt;br /&gt;|- |- |- |- |-System.Web.UI.WebControls.Label (&lt;strong&gt;&lt;em&gt;&lt;font color="#008000"&gt;errorLabel&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;) &lt;br /&gt;|- |- |- |- |-System.Web.UI.WebControls.Table &lt;br /&gt;|- |-System.Web.UI.WebControls.TableRow &lt;br /&gt;|- |- |-System.Web.UI.WebControls.TableCell &lt;br /&gt;|- |- |- |-System.Web.UI.WebControls.Label&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Of particular interest are &lt;em&gt;upLevelDiv&lt;/em&gt; and &lt;em&gt;downlevelTextBox&lt;/em&gt; as those are the controls used when a person is manually entering a name.&lt;/p&gt;
&lt;h3&gt;Developing With It&lt;/h3&gt;
&lt;p&gt;The default behavior and styling is sufficient in most cases.&amp;nbsp; However, if you need to do more than the very basics with the control then I strongly recommend that you subclass it so that you can hook into the control behavior at a much deeper level.&amp;nbsp; Some of the things you get with this approach are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Control over Formatting.&amp;nbsp; Microsoft hard-codes much of the formatting in the control and buries it behind protected methods so that you can&amp;#39;t touch it from the outside.&amp;nbsp; Microsoft applies the style between the PreRender() event but before the SaveViewState() event.&amp;nbsp; In order to change the style used, you will need to override the Render() event and apply your style changes immediately before the actual control is rendered. &lt;/li&gt;
&lt;li&gt;OnChange event.&amp;nbsp; There is none exposed but by subclassing it you can create your own and then hook into the RaisePostDataChangedEvent() method in order to raise your own. &lt;/li&gt;
&lt;li&gt;Access to the actual controls used.&amp;nbsp; All of the controls used by the people picker are available as protected properties which means that your subclass has direct access to them without having to walk the hierarchy. &lt;/li&gt;
&lt;li&gt;Future Changes.&amp;nbsp; By subclassing this control at the beginning and coding to your new class, you are laying the foundation so that you don&amp;#39;t have to redo tons of code later on in the event that you find yourself needing some of the protected behaviors. &lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Quirks&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Normally, you will want to work with the .Entities collection as that has the most information available about a selection but there is a great big &amp;quot;Gotcha&amp;quot; here.&amp;nbsp; You need to reference .CommaSeparatedAccounts property before calling .Entities because the collection seems to only get populated after that property is referenced. &lt;/li&gt;
&lt;li&gt;Another Gotcha is that the control will do an Active Directory lookup of all the names you enter in .CommaSeparatedAccounts so it can be a bit of a performance hit - especially if one of those names isn&amp;#39;t in AD.&amp;nbsp; In my environment, populating this with one valid name takes 0.1 seconds.&amp;nbsp; Not much, but if you have several of these controls populated with several names then that quickly adds up to real time. &lt;/li&gt;
&lt;li&gt;The .Entities collection is sometimes null so you have to be careful when working with it.&amp;nbsp; Given that normal development practices dictate that all public collections exist but have a .Count of zero, I have to assume that this is either developer oversight or an indication of some internal state.&amp;nbsp; In either case, watch what you are doing when working with this and always check it against null before referencing properties of it. &lt;/li&gt;
&lt;li&gt;The RaisePostDataChangedEvent event seems to fire whenever the page is posted back a second time even if the value hadn&amp;#39;t changed.&amp;nbsp; &lt;/li&gt;
&lt;li&gt;Since this is actually a SharePoint control, it expects a few things to be in place - specifically that SharePoint&amp;#39;s &amp;quot;core.js&amp;quot; be included on the page. &lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Styling the Control&lt;/h3&gt;
&lt;p&gt;Microsoft embeds the formatting for the control deep inside and then makes use of the .Style attribute rather than the .CssClass attribute which makes styling it somewhat problematic as the .Style attribute will override anything in your CSS.&amp;nbsp; To make this a little bit worse, this control renders differently in IE than in other browsers like Firefox so you will have to solve styling for both browsers.&lt;/p&gt;
&lt;p&gt;Here is what the control renders as in Internet Explorer (I&amp;#39;ve highlighted the key styling areas and their associated class) &lt;br /&gt;&lt;br /&gt;&lt;img alt="Fli8E" src="http://static.flickr.com/2386/2291995082_57c5e34e94.jpg" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Here is how it renders in Firefox.&amp;nbsp; Note that the resolved user name shown is the Domain ID instead of the user name like in IE.&amp;nbsp; Also, this is a simple textbox instead of the textbox/div combo that IE uses. &lt;/p&gt;
&lt;p&gt;&lt;img alt="Fli29B" src="http://static.flickr.com/3202/2314836697_cf2f42d670.jpg" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Tracking down what style is used where is made considerably easier with tools like the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=E59C3964-672D-4511-BB3E-2D5E1DB91038&amp;amp;displaylang=en" target="_blank"&gt;Developer Toolbar&lt;/a&gt; for IE and &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/1843" target="_blank"&gt;FireBug&lt;/a&gt; for Firefox - both free.&amp;nbsp; These tools allow you to inspect page elements as they are currently rendered, showing the hierarchy of styles, controls and such.&amp;nbsp; They are invaluable if you will be doing considerable tweaking to the layout of the People Picker.&lt;/p&gt;
&lt;h3&gt;Validation&lt;/h3&gt;
&lt;p&gt;There is an internal validator that allows you to validate the names entered (both on client and on Page Postback) and it works like any other validator in Asp.Net.&amp;nbsp; You can enable this by setting the .ValidatorEnabled property to &amp;quot;True&amp;quot;.&lt;/p&gt;
&lt;p&gt;It is worth noting that this is merely an implementation of the IValidator interface so it cannot be cast as one of the standard Validator types (CustomValidator, RangeValidator, etc.).&amp;nbsp; This can be problematic if you are trying to work with it via the Page.Validators() collection as the IValidator interface doesn&amp;#39;t really provide enough information to be useful.&amp;nbsp; In my case, I had to cast it as my subclassed version of the PeopleEditor control and then get the values I needed that way.&lt;/p&gt;
&lt;h3&gt;Helpful Links&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.peopleeditor_members.aspx" target="_blank"&gt;PeopleEditor on MSDN&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=16011" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/DavidWisesSharepointBlog/~4/XntrrLWPWpg" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.sharepointblogs.com/dwise/archive/2008/05/01/inside-the-sharepoint-people-picker.aspx</feedburner:origLink></item><item><title>SharePoint Dev Tip - Restart the Timer</title><link>http://feedproxy.google.com/~r/DavidWisesSharepointBlog/~3/gRe2pcln3QM/sharepoint-dev-tip-restart-the-timer.aspx</link><pubDate>Tue, 25 Mar 2008 16:00:11 GMT</pubDate><guid isPermaLink="false">1f6a1193-f4bb-4480-a5ae-b538d8b20f46:14514</guid><dc:creator>DavidWise</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://www.sharepointblogs.com/dwise/rsscomments.aspx?PostID=14514</wfw:commentRss><comments>http://www.sharepointblogs.com/dwise/archive/2008/03/25/sharepoint-dev-tip-restart-the-timer.aspx#comments</comments><description>&lt;p&gt;The SharePoint Timer service is handy for what it does but it occasionally gets very hungry and devours hundreds of megs of RAM and keeps it for hours.&amp;#160; This isn&amp;#39;t a problem on most production environments because of the memory those machines typically have but it can be a killer on a memory challenged dev Virtual Machine.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://farm4.static.flickr.com/3019/2360775169_cbc38cbcd8_o.jpg" alt="" /&gt; &lt;/p&gt;  &lt;p&gt;The most common symptoms that I&amp;#39;ve run across is that starting Visual Studio in Debug Mode takes 2-3 times as long as normal and stepping through the code is painfully slow.&amp;#160; When this happens, I restart the timer and all is well again.&lt;/p&gt;  &lt;p&gt;I used to do this from the Control Panel but found that there is a much more efficient method: use a batch file with the commands below and just run it periodically.&amp;#160; I have a shortcut to this in my Quick Launch menu and run it before starting any development.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Courier New"&gt;net stop &amp;quot;Windows SharePoint Services Timer&amp;quot;        &lt;br /&gt;net start &amp;quot;Windows SharePoint Services Timer&amp;quot;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Of course, if you happen to be doing work that doesn&amp;#39;t rely on the Timer functionality (which is most likely the case) then you could always turn off the service and avoid the problem entirely.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=14514" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/DavidWisesSharepointBlog/~4/gRe2pcln3QM" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.sharepointblogs.com/dwise/archive/2008/03/25/sharepoint-dev-tip-restart-the-timer.aspx</feedburner:origLink></item><item><title>Devistafication</title><link>http://feedproxy.google.com/~r/DavidWisesSharepointBlog/~3/z9Rsmep01qA/devistafication.aspx</link><pubDate>Tue, 26 Feb 2008 23:04:15 GMT</pubDate><guid isPermaLink="false">1f6a1193-f4bb-4480-a5ae-b538d8b20f46:13185</guid><dc:creator>DavidWise</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://www.sharepointblogs.com/dwise/rsscomments.aspx?PostID=13185</wfw:commentRss><comments>http://www.sharepointblogs.com/dwise/archive/2008/02/26/devistafication.aspx#comments</comments><description>&lt;p&gt;There is a trend out there where people are taking perfectly good machines running Windows Vista and then uninstalling it in order to install the venerable Windows XP.&amp;#160; This process hasn&amp;#39;t had a name up until now but I think I have come up with a good term for it : Devistafication.&amp;#160; &lt;/p&gt;  &lt;p&gt;Here is how I would define it:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;de-vis&amp;#39;ta-fy&lt;/strong&gt;:       &lt;br /&gt;&lt;em&gt;tr.v&lt;/em&gt;. &lt;strong&gt;de-vis&amp;#39;ta-fied, &lt;strong&gt;de-vis&amp;#39;ta-fy&lt;/strong&gt;-ing, &lt;strong&gt;de-vis&amp;#39;ta-fies          &lt;br /&gt;&lt;/strong&gt;&lt;/strong&gt;The act of removing Windows Vista from a computer and then installing a different operating system, such as Windows XP.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;de-vis&amp;#39;ta-fi-ca-tion&lt;/strong&gt;&amp;#160; &lt;em&gt;n        &lt;br /&gt;&lt;/em&gt;&lt;strong&gt;de-vis&amp;#39;ta-fi-er&lt;/strong&gt;&amp;#160; &lt;em&gt;n&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I hope this helps to ease the language burden often associated with this task :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=13185" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/DavidWisesSharepointBlog/~4/z9Rsmep01qA" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.sharepointblogs.com/dwise/archive/2008/02/26/devistafication.aspx</feedburner:origLink></item><item><title>Vital Hotfix for Sluggish Design View in Visual Studio 2008</title><link>http://feedproxy.google.com/~r/DavidWisesSharepointBlog/~3/CmbDHZ9hWHc/vital-hotfix-for-html-editor-in-visual-studio-2008.aspx</link><pubDate>Wed, 13 Feb 2008 21:55:34 GMT</pubDate><guid isPermaLink="false">1f6a1193-f4bb-4480-a5ae-b538d8b20f46:12681</guid><dc:creator>DavidWise</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://www.sharepointblogs.com/dwise/rsscomments.aspx?PostID=12681</wfw:commentRss><comments>http://www.sharepointblogs.com/dwise/archive/2008/02/13/vital-hotfix-for-html-editor-in-visual-studio-2008.aspx#comments</comments><description>&lt;p&gt;Microsoft has released a &lt;a href="https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=10826" target="_blank"&gt;Hotfix&lt;/a&gt; for the incredibly annoying performance issues when working in the Design view of an Asp.Net form that contained custom user controls.&lt;/p&gt;  &lt;p&gt;The installation info is on the &lt;a href="http://blogs.msdn.com/webdevtools/archive/2008/02/09/downloadable-hotfix-performance-and-editor-fixes-for-microsoft-visual-studio-2008-and-visual-web-developer-express-2008.aspx" target="_blank"&gt;MSDN Blog&lt;/a&gt; and is pretty self explanatory.&amp;#160; It takes a few minutes to install but it is worth the wait.&amp;#160; Before the patch, simply switching to Design view for one of my Asp.Net forms could take upwards of 30 seconds.&amp;#160; After the patch, it takes around 3 seconds and half of that is the pulling together the nested master pages behind the form.&amp;#160; &lt;/p&gt;  &lt;p&gt;I&amp;#39;ve also noticed that the properties window now switches almost immediately when I click on a control.&amp;#160; Before, it would take 5-10 seconds to change and sometimes never did.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=12681" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/DavidWisesSharepointBlog/~4/CmbDHZ9hWHc" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.sharepointblogs.com/dwise/archive/2008/02/13/vital-hotfix-for-html-editor-in-visual-studio-2008.aspx</feedburner:origLink></item><item><title>The Battle for Nothing... or is it Null?</title><link>http://feedproxy.google.com/~r/DavidWisesSharepointBlog/~3/bK08QZh9_PY/the-battle-for-nothing-or-is-it-null.aspx</link><pubDate>Fri, 01 Feb 2008 02:33:38 GMT</pubDate><guid isPermaLink="false">1f6a1193-f4bb-4480-a5ae-b538d8b20f46:12185</guid><dc:creator>DavidWise</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://www.sharepointblogs.com/dwise/rsscomments.aspx?PostID=12185</wfw:commentRss><comments>http://www.sharepointblogs.com/dwise/archive/2008/01/31/the-battle-for-nothing-or-is-it-null.aspx#comments</comments><description>&lt;p&gt;I have worked in numerous programming languages and the one thing that I find most irritating is that every language feels the need to reinvent Nothing - literally - and then applies their own rules to it.&lt;/p&gt;  &lt;p&gt;In VB, &lt;em&gt;Nothing&lt;/em&gt; is &lt;em&gt;Nothing&lt;/em&gt;.&amp;#160; In C# and JavaScript, &lt;em&gt;Nothing&lt;/em&gt; is &lt;em&gt;null&lt;/em&gt;.&amp;#160; Ruby&amp;#39;s &lt;em&gt;Nothing&lt;/em&gt; is &lt;em&gt;nil&lt;/em&gt;.&amp;#160; &lt;em&gt;Nothing&lt;/em&gt; can also be &lt;em&gt;Null&lt;/em&gt; or &lt;em&gt;Empty&lt;/em&gt; or &lt;em&gt;undefined&lt;/em&gt;, although it can sometimes be &lt;em&gt;NaN&lt;/em&gt;, which is not necessarily &lt;em&gt;Empty&lt;/em&gt; or &lt;em&gt;Null&lt;/em&gt;.&amp;#160; Something that is &lt;em&gt;undefined&lt;/em&gt; is sometimes &lt;em&gt;null&lt;/em&gt; and sometimes not but something that is &lt;em&gt;null&lt;/em&gt; is rarely &lt;em&gt;undefined&lt;/em&gt;. &lt;/p&gt;  &lt;p&gt;Throw in the mix how badly empty strings are handled where &amp;quot;&amp;quot; is not &lt;em&gt;Empty&lt;/em&gt; or &lt;em&gt;null&lt;/em&gt;, but is an &lt;em&gt;EmptyString&lt;/em&gt; and could be &lt;em&gt;NaN&lt;/em&gt;.&amp;#160; It could also be a &lt;em&gt;NullString&lt;/em&gt;, which is still not a &lt;em&gt;null&lt;/em&gt; or even a &lt;em&gt;Null &lt;/em&gt;and certainly not an &lt;em&gt;Empty&lt;/em&gt; or &lt;em&gt;undefined&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Nothing/Null/null/nul/nil&lt;/em&gt; is a basic part of any programming language.&amp;#160; Is there any chance that we could pick one term, like &lt;em&gt;Null&lt;/em&gt; (or &lt;em&gt;null&lt;/em&gt; even), and use it across languages?&lt;/p&gt;  &lt;p&gt;It&amp;#39;s just a word, what is the big deal?&amp;#160; The word itself is trivial but the need to use a new term for something so basic is the root of my aggravation.&amp;#160; Each language feels that they have to use their own terms to be &amp;quot;cool&amp;quot;, yet are just rebranding well established concepts without adding functionality.&amp;#160; That isn&amp;#39;t innovation, that&amp;#39;s marketing.&amp;#160; It&amp;#39;s &amp;quot;New and Improved&amp;quot; without being either.&lt;/p&gt;  &lt;p&gt;All it accomplishes is that it adds one more tiny step in the learning curve for that language and slows adoption.&amp;#160; Further, assuming that the &amp;quot;cool&amp;quot; factor won out in other areas, then there will be hundreds of other such tiny steps as well, all without any added benefit.&lt;/p&gt;  &lt;p&gt;Tell you what, I&amp;#39;m going to create my own programming language called Presidents.Net, where all of my core data types are named after past Presidents.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;private Jefferson ProcessRequest(Washington pRefID, Jackson pAmount)      &lt;br /&gt;{       &lt;br /&gt;&amp;#160;&amp;#160; Lincoln User = getUserID(pRefID);       &lt;br /&gt;&amp;#160;&amp;#160; Eisenhower AccountNumber = getAccount(User);       &lt;br /&gt;&amp;#160;&amp;#160; ...       &lt;br /&gt;&amp;#160;&amp;#160; return applyTransaction(AccountNumber, pAmount);       &lt;br /&gt;}&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;What is the value added?&amp;#160; Nil, or ... null ... or ... Polk.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=12185" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/DavidWisesSharepointBlog/~4/bK08QZh9_PY" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.sharepointblogs.com/dwise/archive/2008/01/31/the-battle-for-nothing-or-is-it-null.aspx</feedburner:origLink></item><item><title>The Value of an IT Curmudgeon</title><link>http://feedproxy.google.com/~r/DavidWisesSharepointBlog/~3/KMpw8t_CNcc/the-value-of-an-it-curmudgeon.aspx</link><pubDate>Wed, 23 Jan 2008 16:27:34 GMT</pubDate><guid isPermaLink="false">1f6a1193-f4bb-4480-a5ae-b538d8b20f46:11679</guid><dc:creator>DavidWise</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://www.sharepointblogs.com/dwise/rsscomments.aspx?PostID=11679</wfw:commentRss><comments>http://www.sharepointblogs.com/dwise/archive/2008/01/23/the-value-of-an-it-curmudgeon.aspx#comments</comments><description>&lt;p&gt;They have stories from the dawn of computing, about the problems with tape backup, data layouts using bitmasking to save single bytes wherever possible and can regale you with tales of horror about the era of punchcards.&amp;#160; While they can expound for hours on middling details of tech found only in museums, they are surprisingly quiet on the merits of any recent technologies.&amp;#160; One could say that their value is historical but I think they serve a far greater purpose.&lt;/p&gt;  &lt;p&gt;They are &lt;a href="http://despair.com/mis24x30prin.html" target="_blank"&gt;warning posts&lt;/a&gt;, put in place to remind you about the perils of complacency.&amp;#160; About what &lt;em&gt;will&lt;/em&gt; happen to you if you let your skills lapse or get too comfortable with any one particular technology.&amp;#160; This field moves too fast and they are glimpses into your own future if you stop moving with it.&lt;/p&gt;  &lt;p&gt;Talk with them.&amp;#160; Listen to them.&amp;#160; Consider them the career equivalent of a car wreck.&amp;#160; They hit the brick wall so you don&amp;#39;t have to.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=11679" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/DavidWisesSharepointBlog/~4/KMpw8t_CNcc" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.sharepointblogs.com/dwise/archive/2008/01/23/the-value-of-an-it-curmudgeon.aspx</feedburner:origLink></item><item><title>Accessing SharePoint List Data as XML</title><link>http://feedproxy.google.com/~r/DavidWisesSharepointBlog/~3/ZGQV5d9j83Y/accessing-sharepoint-list-data-as-xml.aspx</link><pubDate>Thu, 10 Jan 2008 12:02:44 GMT</pubDate><guid isPermaLink="false">1f6a1193-f4bb-4480-a5ae-b538d8b20f46:9865</guid><dc:creator>DavidWise</dc:creator><slash:comments>41</slash:comments><wfw:commentRss>http://www.sharepointblogs.com/dwise/rsscomments.aspx?PostID=9865</wfw:commentRss><comments>http://www.sharepointblogs.com/dwise/archive/2008/01/10/accessing-sharepoint-list-data-as-xml.aspx#comments</comments><description>&lt;p&gt;The other day, I found myself in need of a way to access SharePoint list data as XML but the only method available to me was a simple http GET.&amp;#160; This is not too bad, but what can I get from SharePoint via GET?&amp;#160; RSS is too limited and scraping the page is too painful and error-prone to even contemplate.&amp;#160; &lt;/p&gt;  &lt;p&gt;It turns out that there is an option available in 2007 that was carried forward from SharePoint 2003 / FrontPage days: owssvr.dll.&amp;#160; But this isn&amp;#39;t some forgotten FrontPage artifact, it is still a central part of SharePoint.&amp;#160; In fact, if you pull up a list view and then view the source looking for owssvr.dll, you will see that this is the mechanism behind both the &lt;em&gt;Export to Spreadsheet&lt;/em&gt; and &lt;em&gt;Open with Access&lt;/em&gt; options on the list &lt;em&gt;Actions&lt;/em&gt; menu.&lt;/p&gt;  &lt;h3&gt;How It Works&lt;/h3&gt;  &lt;p&gt;Simply put together a URL like this: &lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;http://MyServer/[site]/_vti_bin/owssvr.dll?Cmd=Display&amp;amp;List={listGuid}&amp;amp;XMLDATA=TRUE&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;This will only return the fields that are defined on the default view of the list.&amp;#160; If you need specific fields then you need to create a view with those fields and pass the View ID as well, like this:&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;http://.../owssvr.dll?Cmd=Display&amp;amp;List={listGuid}&amp;amp;view={viewGuid}&amp;amp;XMLDATA=TRUE&lt;/font&gt;     &lt;br /&gt;&lt;/p&gt;  &lt;h3&gt;Specifying Fields to be Returned&lt;/h3&gt;  &lt;p&gt;There is also a &lt;em&gt;&lt;strong&gt;Query&lt;/strong&gt;&lt;/em&gt; parameter that lets you specify which fields are to be included in the resulting XML, regardless of how the view is defined.&amp;#160; For example, if you wanted just to bring back the &lt;em&gt;Title&lt;/em&gt; and &lt;em&gt;Status&lt;/em&gt; Fields, you would add the field names separated by spaces (URL Encoded, of course) like &amp;quot;&lt;em&gt;&amp;amp;Query=Title%20Status&lt;/em&gt;&amp;quot;.&amp;#160; If you want to return all fields, use an asterisk (*) instead of field names.&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;http://.../owssvr.dll?Cmd=Display&amp;amp;List={listGuid}&amp;amp;query=Title%20Status&amp;amp;XMLDATA=TRUE&lt;/font&gt;     &lt;br /&gt;&lt;/p&gt;  &lt;h3&gt;Filtering Data&lt;/h3&gt;  &lt;p&gt;Regardless of whether you pass a view or use the default it will still use the filter defined by that view.&amp;#160; Not bad, but you can trim this data even more by including a filter of your own using the &lt;em&gt;&lt;strong&gt;FilterField&lt;/strong&gt;&lt;/em&gt;n and &lt;em&gt;&lt;strong&gt;FilterValue&lt;/strong&gt;&lt;/em&gt;n arguments in the querystring.&amp;#160; These are the same values that are passed when you use the filter options in the column headers of a view which makes it pretty easy to track down exactly what needs to be passed.&amp;#160; Simply pull up the view that is your starting point and use the column filters to create your desired filter.&amp;#160; Once you have it, grab all of the &lt;em&gt;FilterField&lt;/em&gt; and &lt;em&gt;FilterValue&lt;/em&gt; items from the querystring and add them on to yours.&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;http://.../owssvr.dll?Cmd=Display&amp;amp;List={listGuid}&amp;amp;query=Title%20Status&amp;amp;XMLDATA=TRUE&amp;amp;FilterField1=Status&amp;amp;FilterValue1=In%20Progress&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;For a full list of what can be done with this technique, check out the &lt;a href="http://msdn2.microsoft.com/en-us/library/ms478653.aspx" target="_blank"&gt;URL Protocol&lt;/a&gt; or the older &lt;a href="http://msdn2.microsoft.com/en-us/library/ms947915.aspx" target="_blank"&gt;Using the URL Protocol&lt;/a&gt; on MSDN.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=9865" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/DavidWisesSharepointBlog/~4/ZGQV5d9j83Y" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.sharepointblogs.com/dwise/archive/2008/01/10/accessing-sharepoint-list-data-as-xml.aspx</feedburner:origLink></item><item><title>InfoPath 2007 / WCF Nasty Gotcha</title><link>http://feedproxy.google.com/~r/DavidWisesSharepointBlog/~3/f2m4kI9kdlk/infopath-2007-wcf-nasty-gotcha.aspx</link><pubDate>Mon, 31 Dec 2007 21:11:54 GMT</pubDate><guid isPermaLink="false">1f6a1193-f4bb-4480-a5ae-b538d8b20f46:10396</guid><dc:creator>DavidWise</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://www.sharepointblogs.com/dwise/rsscomments.aspx?PostID=10396</wfw:commentRss><comments>http://www.sharepointblogs.com/dwise/archive/2007/12/31/infopath-2007-wcf-nasty-gotcha.aspx#comments</comments><description>&lt;p&gt;I&amp;#39;ve spent the better part of two days tracking down an extremely nasty bug in InfoPath that corrupts an InfoPath form completely and almost terminally after connecting to a WCF (Windows Communication Foundation) web service.&amp;#160; Each time you try to open the form in design mode, InfoPath kicks out the error below and then refuses to open the form.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;quot;InfoPath cannot open the following form: &lt;em&gt;C:\long\path\to\form.xsn&lt;/em&gt;.&amp;#160; The XML Schema file specified in the form definition (.xsf) file for dataObject &amp;#39;&lt;em&gt;xyz&lt;/em&gt;&amp;#39; cannot be used&amp;quot;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Once this happens, there is no way to get InfoPath to edit the form again.&amp;#160; However, there is a fix.    &lt;br /&gt;&lt;/p&gt;  &lt;h3&gt;The Fix - Recovering your work&lt;/h3&gt;  &lt;p&gt;First, we have to get you so you can edit your form again.&amp;#160; Since the actual error hides itself completely during the initial design session it is possible to lose a lot of work, depending on how much you worked on the form during the session where you connected it to the web service.&amp;#160; Either way, you have to fix both problems in order to get the form working properly anyway.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Create a new folder and copy your &amp;quot;corrupt&amp;quot; .XSN file to that folder.&amp;#160; &lt;/li&gt;    &lt;li&gt;Rename it from .XSN to .CAB (Yes, .XSN is really just a .CAB)&lt;/li&gt;    &lt;li&gt;Use a compression utility that can read CAB files (like &lt;a href="http://www.winzip.com/prodpagewz.htm" target="_blank"&gt;WinZIP&lt;/a&gt;) to unpack the contents of the file into that folder.&amp;#160; &lt;/li&gt;    &lt;li&gt;Open the Manifest.xsf file in a text editor (NOT in InfoPath) and look for &amp;quot;&amp;lt;xsf:dataObjects&amp;gt;&amp;quot;&amp;#160; under that node, you will see several &amp;lt;xsf:dataObject&amp;gt; nodes.&amp;#160; &lt;/li&gt;    &lt;li&gt;Delete all &amp;lt;xsf:dataObject&amp;gt; nodes that point to WCF web services.&amp;#160; You can spot these easily because they usually have &amp;quot;.svc&amp;quot; somewhere in the &lt;em&gt;wsdlUrl&lt;/em&gt; attribute of the &amp;lt;xsf:webServiceAdapter...&amp;gt; child node. &lt;/li&gt;    &lt;li&gt;Save the Manifest.xsf file.&amp;#160; &lt;/li&gt;    &lt;li&gt;Now right-click on the manifest.xsf and select &amp;#39;Design&amp;#39;.&amp;#160; This should open InfoPath and will give you a warning that the form has been moved. &lt;/li&gt;    &lt;li&gt;Click ok. At this point, the form should open in design properly.&amp;#160; You should also see &amp;quot;[Read-Only]&amp;quot; in the title bar. &lt;/li&gt;    &lt;li&gt;Go through all views in your form and disconnect any controls that were bound to the WCF data sources.&amp;#160; Sometimes this is as simple as converting them from whatever type they are to text boxes. &lt;/li&gt;    &lt;li&gt;Click File -&amp;gt; Save As and save the file to the folder where you want the file to reside.&amp;#160; This will automatically save it as an .XSN file again. &lt;/li&gt;    &lt;li&gt;Close InfoPath (very important- don&amp;#39;t just close the form) &lt;/li&gt;    &lt;li&gt;Browse to the the new folder and find the new .XSN file &lt;/li&gt;    &lt;li&gt;Right-click on it and select &amp;#39;Design&amp;#39;. &lt;/li&gt;    &lt;li&gt;Click &amp;#39;Preview&amp;#39; to preview the form.&amp;#160; If you get the error &amp;quot;InfoPath cannot open the selected form&amp;quot;, it means that one of your controls is still bound to one of the data sources you removed earlier.&amp;#160; Check your controls again and also check any Rules you may have defined under &lt;em&gt;Tools -&amp;gt; Form Options -&amp;gt; Open and Save -&amp;gt; Open behavior&lt;/em&gt;. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;At this point, you should now be back editing your form as normal, just without the web service data.&amp;#160; &lt;strong&gt;Warning: do NOT reconnect to the web service until the next part of the fix is completed.&amp;#160; Doing so immediately lands you back at step 1!&lt;/strong&gt; &lt;/p&gt;  &lt;h3&gt;The Fix - Fixing the Web Service&lt;/h3&gt;  &lt;p&gt;This will require the help of the author of the web service who will probably deny that there is an error and try to blame InfoPath because it works in all of his loosely typed test applications.&amp;#160; You must convince them that the problem really is with the way the service is defined.&amp;#160; Perhaps this entry will help, perhaps not.&amp;#160; Either way, he will have to do something with his web service if he wants that data exposed in your form because it won&amp;#39;t work as it is right now.&amp;#160; I was lucky that the developer of the web service was every bit as curious about this error as I was so we were able to troubleshoot this from both ends.&lt;/p&gt;  &lt;p&gt;The root of the problem is that one or more of the underlying data types is defined with an improper Namespace in the [DataContract] attribute or one that doesn&amp;#39;t match all of the others.&amp;#160; InfoPath is extremely particular and if the namespaces don&amp;#39;t match precisely, it will cause the error mentioned at the start of the article.&amp;#160; It is case-sensitive. &lt;/p&gt;  &lt;p&gt;To track down exactly where the problem lies involves a little bit of detective work and some of the files extracted from Step 3.&amp;#160; When you created the Data Connection to the web service call in InfoPath you gave it a name like &amp;#39;GetSomeDataFromJoe&amp;#39;.&amp;#160; If you look in the folder from Step 3, you should see 4 or 5 files called &lt;em&gt;GetSomeDataFromJoeXX.xsd&lt;/em&gt; where XX is a number between 1 and 99.&amp;#160; These are the actual schema files that InfoPath pulled down when you connected to the web service.&amp;#160; Send these to the developer.&amp;#160; If he looks through them, he will find one (usually the second in the series) that shows the data types found in the web service.&amp;#160; One or more of the types he is using should be missing completely from the XSD files which means that those are the ones with the broken namespace.&lt;/p&gt;  &lt;p&gt;After fixing this, the developer will need to build and then publish the web service before you can attempt to connect to it again. &lt;/p&gt;  &lt;h3&gt;Putting it All Back Together&lt;/h3&gt;  &lt;p&gt;Now that the developer has assured you that the fix has been made you will need to reconnect to the web service. To reconnect safely, try it this way:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Backup your current working form (.xsn) from the first part of the fix - just in case the developer hasn&amp;#39;t gotten the fix quite right yet. &lt;/li&gt;    &lt;li&gt;Open the form for design in InfoPath &lt;/li&gt;    &lt;li&gt;Reconnect to the web services &lt;/li&gt;    &lt;li&gt;Save the form and close InfoPath &lt;/li&gt;    &lt;li&gt;Reopen the form in InfoPath.&amp;#160; &lt;/li&gt;    &lt;li&gt;Switch to Design mode. &lt;/li&gt;    &lt;li&gt;If it opens properly then the developer cleaned up his namespaces and it is safe to reconnect your controls to the web service data. &lt;/li&gt;    &lt;li&gt;If you still get the &amp;quot;... XML Schema file ... cannot be used&amp;quot; error, then the problem is still in the web service.&amp;#160; Delete the .XSN (because it is now corrupted again) and restore it from your backup.&amp;#160; If you jumped ahead and reconnected without backing up, then you get to do this whole thing all over again starting with Step 1 under &amp;quot;Recovering Your Work&amp;quot;.&amp;#160; &lt;/li&gt; &lt;/ol&gt;  &lt;h3&gt;Behind the Scenes (IMO)&lt;/h3&gt;  &lt;p&gt;The reason for the error is because of the way that InfoPath pulls the schema for a WCF web service.&amp;#160; When it connects and pulls down the schema info from the WSDL, it also pulls down all of the schemas for the data types used in the service.&amp;#160; In this case, the namespace of one of those schemas didn&amp;#39;t match precisely so it couldn&amp;#39;t be found later on, which is logical and expected behavior. &lt;strong&gt;&lt;em&gt;However&lt;/em&gt;&lt;/strong&gt;, InfoPath itself ignores that error during the session in which you originally connect to the web service.&amp;#160; It is not until you close InfoPath and then go back in that you get bitten by it.&amp;#160; What would be nice is if InfoPath kicked out the error when you connected to the service rather than laying a trap for you later on.&lt;/p&gt;  &lt;p&gt;The truly curious part of all of this is that despite having an invalid schema, you can still open the &amp;quot;corrupt&amp;quot; .xsn file for data entry in InfoPath and it works perfectly.&amp;#160; One would think that something as substantial as a broken schema would kill the form no matter what. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=10396" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/DavidWisesSharepointBlog/~4/f2m4kI9kdlk" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.sharepointblogs.com/dwise/archive/2007/12/31/infopath-2007-wcf-nasty-gotcha.aspx</feedburner:origLink></item><item><title>Proper Disposal of Objects in SharePoint</title><link>http://feedproxy.google.com/~r/DavidWisesSharepointBlog/~3/DwhbdAyoUE8/proper-disposal-of-objects-in-sharepoint.aspx</link><pubDate>Thu, 13 Dec 2007 22:41:52 GMT</pubDate><guid isPermaLink="false">1f6a1193-f4bb-4480-a5ae-b538d8b20f46:9845</guid><dc:creator>DavidWise</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://www.sharepointblogs.com/dwise/rsscomments.aspx?PostID=9845</wfw:commentRss><comments>http://www.sharepointblogs.com/dwise/archive/2007/12/13/proper-disposal-of-objects-in-sharepoint.aspx#comments</comments><description>&lt;p&gt;I just ran across &lt;a href="http://msdn2.microsoft.com/en-us/library/aa973248.aspx" target="_blank"&gt;this article&lt;/a&gt; on MSDN that is a fantastic read.&amp;#160; If you do any work where you manipulate SharePoint objects via code, especially &lt;em&gt;SPSite&lt;/em&gt; and &lt;em&gt;SPWeb&lt;/em&gt; then you &lt;strong&gt;&lt;em&gt;must&lt;/em&gt;&lt;/strong&gt; read this.&amp;#160; The article is outlines many of the gotcha&amp;#39;s lurking in the object model that you may not be aware of.&amp;#160; There is also &lt;a href="http://msdn2.microsoft.com/en-us/library/bb687949.aspx" target="_blank"&gt;another article&lt;/a&gt; that touches on object disposal as well but lists a few other areas to watch for.&lt;/p&gt;  &lt;p&gt;If you are seeing performance, memory and stability issues in a SharePoint server that is running custom code then that code should be probably be reviewed while the above articles are fresh in mind.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=9845" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/DavidWisesSharepointBlog/~4/DwhbdAyoUE8" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.sharepointblogs.com/dwise/archive/2007/12/13/proper-disposal-of-objects-in-sharepoint.aspx</feedburner:origLink></item><item><title>Bizarre InfoPath Dialog</title><link>http://feedproxy.google.com/~r/DavidWisesSharepointBlog/~3/eaB1CRO4XPs/bizarre-infopath-dialog.aspx</link><pubDate>Wed, 12 Dec 2007 20:27:34 GMT</pubDate><guid isPermaLink="false">1f6a1193-f4bb-4480-a5ae-b538d8b20f46:9788</guid><dc:creator>DavidWise</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://www.sharepointblogs.com/dwise/rsscomments.aspx?PostID=9788</wfw:commentRss><comments>http://www.sharepointblogs.com/dwise/archive/2007/12/12/bizarre-infopath-dialog.aspx#comments</comments><description>&lt;p&gt;I&amp;#39;m trying to open a local copy of an InfoPath form that was originally opened from SharePoint.&amp;#160; The actual .xsn file that I&amp;#39;ve been working with is on my local file system and that is where I&amp;#39;m opening it from.&amp;#160; However, when I open it, I get the dialog below:&lt;/p&gt;  &lt;p&gt;&lt;img alt="Fli118" src="http://static.flickr.com/2241/2105607123_c569675aa0.jpg" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Ok.... so ... I know the template on my local machine is the one I want to open and I know that it is different than what is in SharePoint, so I naively click on the &amp;quot;Keep Form Template on Your Computer&amp;quot; button, thinking that it will, you know, keep the one that is on my computer rather than the one in SharePoint.&amp;#160; Silly me.&amp;#160; That option actually opens the original template from SharePoint, which is a &amp;quot;replace&amp;quot; of my local copy in my way of thinking of things.&lt;/p&gt;  &lt;p&gt;Now, I realize that a very careful reading of the actual message (which nobody actually does until after the fact) will somewhat point you to the right answer, but having to click &amp;quot;Replace...&amp;quot; in order to &lt;em&gt;keep&lt;/em&gt; local changes and &amp;quot;Keep...&amp;quot; to &lt;em&gt;replace&lt;/em&gt; local changes is just a little bit counter-intuitive. Maybe a &amp;quot;use this one&amp;quot; button under each option might have been clearer?&amp;#160; Just a thought...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=9788" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/DavidWisesSharepointBlog/~4/eaB1CRO4XPs" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.sharepointblogs.com/dwise/archive/2007/12/12/bizarre-infopath-dialog.aspx</feedburner:origLink></item><item><title>SharePoint Service Pack 1 Links</title><link>http://feedproxy.google.com/~r/DavidWisesSharepointBlog/~3/CzQRBwY7zSE/sharepoint-service-pack-1-links.aspx</link><pubDate>Tue, 11 Dec 2007 22:29:00 GMT</pubDate><guid isPermaLink="false">1f6a1193-f4bb-4480-a5ae-b538d8b20f46:9732</guid><dc:creator>DavidWise</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://www.sharepointblogs.com/dwise/rsscomments.aspx?PostID=9732</wfw:commentRss><comments>http://www.sharepointblogs.com/dwise/archive/2007/12/11/sharepoint-service-pack-1-links.aspx#comments</comments><description>&lt;p&gt;Microsoft has finally released the much awaited Service Pack 1 for SharePoint.&amp;#160; Unfortunately, not all of the links provided on the Microsoft download pages seem to go to the right places.&amp;#160; Here are the actual links that I&amp;#39;ve found.    &lt;br /&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;SharePoint Service Pack 1 &lt;a href="http://technet.microsoft.com/en-us/office/sharepointserver/bb735839.aspx" target="_blank"&gt;Resource Center&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Planning and Deployment Guide (&lt;a title="Planning and deploying SP1 for Microsoft Office SharePoint Server" href="http://go.microsoft.com/fwlink/?LinkID=105621&amp;amp;clcid=0x409"&gt;Word Document&lt;/a&gt;)&lt;/p&gt;    &lt;p&gt;Windows SharePoint Services 3.0 SP1 - &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=4191A531-A2E9-45E4-B71E-5B0B17108BD2&amp;amp;displaylang=en" target="_blank"&gt;Download&lt;/a&gt; / &lt;a href="http://support.microsoft.com/kb/942388/" target="_blank"&gt;List of Fixes&lt;/a&gt; / &lt;a href="http://download.microsoft.com/download/B/6/8/B68D9814-88A2-4B27-9866-3893367F277C/WindowsSharePointService30_Changes_all.xls" target="_blank"&gt;Excel&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Microsoft 2007 Office Servers (includes MOSS) SP1 - &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ad59175c-ad6a-4027-8c2f-db25322f791b&amp;amp;DisplayLang=en" target="_blank"&gt;Download&lt;/a&gt; / &lt;a href="http://support.microsoft.com/kb/942390/" target="_blank"&gt;List of Fixes&lt;/a&gt; / &lt;a href="http://download.microsoft.com/download/B/C/F/BCFBEC81-ED9E-40A3-BBF0-1410B67A365A/2007%20Office%20Servers%20Service%20Pack%201%20Changes_all.xls" target="_blank"&gt;Excel&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;SharePoint Designer SP1 - &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=B57C805D-2821-4625-A6F1-80725267F887&amp;amp;displayLang=en" target="_blank"&gt;Download&lt;/a&gt; / &lt;a href="http://support.microsoft.com/kb/937162" target="_blank"&gt;List of Fixes&lt;/a&gt; / &lt;a href="http://download.microsoft.com/download/B/C/F/BCFBEC81-ED9E-40A3-BBF0-1410B67A365A/Office%202007%20Service%20Pack%201%20Changes_all.xls" target="_blank"&gt;Excel&lt;/a&gt; (includes Office 2007 SP1)&lt;/p&gt;    &lt;p&gt;Revised SP1 SDK for &lt;a href="http://msdn2.microsoft.com/en-us/library/ms441339.aspx" target="_blank"&gt;WSS&lt;/a&gt; / &lt;a href="http://msdn2.microsoft.com/en-us/library/ms550992.aspx" target="_blank"&gt;MOSS&lt;/a&gt; / &lt;a href="http://msdn2.microsoft.com/en-us/library/bb861881.aspx" target="_blank"&gt;AJAX in SharePoint&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;System Center Operations Manager 2007 Packs - &lt;a href="http://blogs.msdn.com/sharepoint/archive/2007/12/10/announcing-new-system-center-operations-manager-2007-packs-for-wss-3-0-and-moss-2007.aspx" target="_blank"&gt;Announcement&lt;/a&gt; / &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=E4600FD9-F53D-4DED-88BF-6BB1932794F9&amp;amp;displaylang=en" target="_blank"&gt;Download&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The Excel versions of the fixes are far more useful as they include the actual problem fixed rather than links to hotfixes that you have to sift through.&lt;/p&gt;  &lt;p&gt;Update: Fixed the Excel links as Microsoft changed all of them overnight.&amp;#160; They also split out the changes for WSS from the main Excel file for Office Servers.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=9732" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/DavidWisesSharepointBlog/~4/CzQRBwY7zSE" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.sharepointblogs.com/dwise/archive/2007/12/11/sharepoint-service-pack-1-links.aspx</feedburner:origLink></item><item><title>What the Heck is RSS?</title><link>http://feedproxy.google.com/~r/DavidWisesSharepointBlog/~3/paxrgYopEjI/what-the-heck-is-rss.aspx</link><pubDate>Thu, 29 Nov 2007 23:15:55 GMT</pubDate><guid isPermaLink="false">1f6a1193-f4bb-4480-a5ae-b538d8b20f46:9292</guid><dc:creator>DavidWise</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://www.sharepointblogs.com/dwise/rsscomments.aspx?PostID=9292</wfw:commentRss><comments>http://www.sharepointblogs.com/dwise/archive/2007/11/29/what-the-heck-is-rss.aspx#comments</comments><description>&lt;p&gt;The intent is for this to be one of those links that you send to your family when they ask: &amp;quot;What is RSS? Why would I care about such a thing?&amp;quot;. If you are already familiar enough with RSS to know what it means, then this article is not for you. Move along.&amp;#160; Nothing new to see here. You can go about your business.&amp;#160; These are not the droids you are looking for.&lt;/p&gt;  &lt;p&gt;Good, now that they&amp;#39;re gone, lets get down to business.&lt;/p&gt;  &lt;h3&gt;Why do I care about RSS?&lt;/h3&gt;  &lt;p&gt;Definitions can wait; this is the meat of it. RSS is basically a way to get the news you want from the sources you want in the format you want, when you want it. Think of it as your own personalized Associated Press service. There is even a little bit of dark pleasure involved as you are the editor in this whole process and you can &amp;quot;fire&amp;quot; sources you dislike by unsubscribing to their feed (explained later). Don&amp;#39;t lie, I&amp;#39;m sure there are a few columnists in your local paper you&amp;#39;d like to fire and with RSS, you can!&lt;/p&gt;  &lt;h3&gt;Much more than news&lt;/h3&gt;  &lt;p&gt;It is true that the most common use for RSS is news feeds, but it can be used for anything that might be of interest to other people. Some sites use it for &lt;a href="http://www.microsoft.com/presspass/rss/Pressreleases.xml" target="_blank"&gt;press releases&lt;/a&gt;, some for &lt;a href="http://www.codeplex.com/CKS/Project/ProjectRss.aspx?ProjectRSSFeed=codeplex%3a%2f%2fworkitem%2fCKS" target="_blank"&gt;bug reports&lt;/a&gt;, some for &lt;a href="http://web.mit.edu/newsoffice/topic/mitrobotics-rss.xml" target="_blank"&gt;articles of interest&lt;/a&gt;, others are &lt;a href="http://www.makezine.com/blog/index.rss" target="_blank"&gt;just for fun&lt;/a&gt; and, of course, there are some focused on the &lt;a href="http://content.dealnews.com/dealnews/rss/last-twenty.xml" target="_blank"&gt;latest and greatest deals&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Best of all, you can include sources that most newspapers can&amp;#39;t or won&amp;#39;t use. Opinions, technical journals, Alumnus organizations, hobbies, etc. Almost anything that you have an interest in has an RSS feed available somewhere for it.&lt;/p&gt;  &lt;h3&gt;Ok, got it. Now what is it?&lt;/h3&gt;  &lt;p&gt;RSS stands for Really Simple Syndication and it simply is an agreed upon way for web sites to make anything of interest available to anyone that might be interested in it. These items are available in things called &amp;quot;feeds&amp;quot; that are nothing more than a bunch of news items grouped together.&lt;/p&gt;  &lt;p&gt;Think of a feed as something like a newspaper. You &amp;quot;subscribe&amp;quot; to your daily paper, and you &amp;quot;subscribe&amp;quot; to a feed. There&amp;#39;s just no messy ink to smear or double-collecting paperboys to deal with. The difference is that a newspaper is actually what is known as an &amp;quot;aggregate feed&amp;quot; meaning that it is a bunch of different topics (news, politics, sports, entertainment) all bundled into one big paper. If all you read is sports, then the rest of the paper just gets in your way. Likewise, on a properly designed site, you can get an aggregate feed of everything, or you can subscribe to just the sports. Try telling your local paper to only deliver the sports section and see what response you get! &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.foxnews.com/story/0,2933,147142,00.html" target="_blank"&gt;FoxNews&lt;/a&gt; and &lt;a href="http://www.cnn.com/services/rss/" target="_blank"&gt;CNN&lt;/a&gt; are both good examples of this. You can subscribe to only what you are interested in and ignore the rest. Yes, that means you can almost completely filter Britney Spears out of your news. &lt;/p&gt;  &lt;p&gt;Hopefully, I have your attention about why you should be interested in RSS. The next steps are the mechanics of actually setting yourself set up to be able to read feeds.&lt;/p&gt;  &lt;h3&gt;How do I get a started?&lt;/h3&gt;  &lt;p&gt;First off, you need some software called a reader (a.k.a. Feed Reader, RSS Reader). This software is available in two formats: online and desktop application. The largest online reader is &lt;a href="http://www.google.com/reader/view/" target="_blank"&gt;Google Reader&lt;/a&gt; and it happens to be free. The interface is a little strange, but it works for a lot of people.&lt;/p&gt;  &lt;p&gt;There are several free desktop reader applications out there as well, such as &lt;a href="http://www.feedreader.com/features.php" target="_blank"&gt;FeedReader&lt;/a&gt; and &lt;a href="http://www.sharpreader.net/" target="_blank"&gt;SharpReader&lt;/a&gt;, but I strongly recommend &lt;a href="http://www.jetbrains.com/omea/reader/" target="_blank"&gt;Omea&lt;/a&gt; because it has plenty of features to grow with. Technically, Internet Explorer 7 has a reader built into it as well, but it is so limited that you will probably outgrow it in the next 10 minutes.&lt;/p&gt;  &lt;p&gt;The next thing you need is a feed to subscribe to. Think about your interests; What sites do you visit regularly? Where do you get your news from? Go to some of those sites and look for one of the RSS feed icons (&lt;img alt="rss_icon_Small" src="http://static.flickr.com/2202/2074030171_e070def46a.jpg" border="0" /&gt;&amp;#160;&lt;img alt="xml" src="http://static.flickr.com/2003/2074030193_e070def46a.jpg" border="0" /&gt;&amp;#160;&lt;img alt="rss" src="http://static.flickr.com/2350/2074822552_336a01b9e8.jpg" border="0" /&gt;). Some sites hide the feed link in text in footers and you have to actually search for &amp;quot;RSS&amp;quot;, &amp;quot;XML&amp;quot;, &amp;quot;feed&amp;quot; or &amp;quot;subscribe&amp;quot; in the page to find the link for it. Annoying, but if it is a site you like, it&amp;#39;s worth hunting for.&lt;/p&gt;  &lt;p&gt;Clicking on the link or the icon should bring up a page that only has the news items in it, usually with no advertising or even site identification. In some cases, you will bring up a page that almost looks like computer code. Don&amp;#39;t worry, this is the actual feed that the reader uses but you won&amp;#39;t have to see it in this form again. In other cases, the link is actually a list of feeds available, in which case, click on one of the feeds that interest you. Now go to the address bar of your browser and copy the URL. You will need this in order to tell your reader what to subscribe to.&lt;/p&gt;  &lt;p&gt;Next, you need to actually subscribe to the feed. The term subscribe is a bit of a misnomer here in that you don&amp;#39;t really subscribe to anything in the traditional sense as that implies that you are having something delivered. Instead, you are telling your reader to keep checking this feed and to let you know when it changes. You don&amp;#39;t have to provide any personal information or any money to subscribe, not even your email address. The feed you are subscribed to has almost no information about you.&lt;/p&gt;  &lt;p&gt;The actual mechanics of subscribing depend on the reader you have chosen to use, but they all have an option called something like &amp;quot;Add Subscription&amp;quot;, &amp;quot;Add feed&amp;quot; or &amp;quot;new feed&amp;quot; or even simply &amp;quot;subscribe&amp;quot;, usually found on the File menu. Click that and paste in the URL you copied earlier, accept any defaults listed for the other options and click OK. Don&amp;#39;t worry about those other options for now, they aren&amp;#39;t too important and the defaults are usually good enough for most people.&lt;/p&gt;  &lt;p&gt;Your reader should now load the feed from the site and give you a list of news items from that site that you can pick and choose from to read. This is great, but you don&amp;#39;t get much benefit from one feed! Go find more! Be sure to look for RSS feed options on all of the sites that you visit regularly. Subscribe to anything that interests you - you can always unsubscribe later.&lt;/p&gt;  &lt;p&gt;Here is where it gets fun: as long as your reader is open, it will periodically check your feeds and update with the latest articles. Depending on the reader, it might also put a little popup on the screen with the latest news or play a little sound. All automatically. You no longer have to try to remember all the sites you were interested in or keep track of changes or anything. If it is new, it will be in your reader waiting for you. If you close your reader, it will simply look for new items the next time you open it.&lt;/p&gt;  &lt;h3&gt;I WANT MORE CONTROL!!!&lt;/h3&gt;  &lt;p&gt;Ok, ok, sheesh. All you &amp;quot;Type A&amp;quot; people out there. Fine, you want control? You&amp;#8217;ve got it! Remember those options I told you not to worry about when you subscribed to the feed? Take another look at them (in most readers, right-click on the feed and click on &amp;quot;properties&amp;quot;). The main one that most people change is the update frequency. Most feeds are ok with the default, which is usually 8 hours, but some feeds (like FoxNews and CNN) update very regularly. Change that value to 1 hour to get frequent updates and satisfy your inner news junkie. Odds are that you can also rename the feed to something more meaningful than the default name of the feed. Some readers offer dozens of properties that you can fiddle with.&lt;/p&gt;  &lt;h3&gt;Ok, you got me hooked but what if I want to change readers?&lt;/h3&gt;  &lt;p&gt;Ah, but you don&amp;#39;t want to lose all those feeds you set up, right? Fear not! Nearly every reader on the planet has an Import and Export feature that supports OPML. What is OPML? You don&amp;#39;t really care, other than to know it is an agreed upon way of listing all the feeds you have subscribed to. You Export your feeds as OPML from your current reader. Then Import it into your new one. Voila! You might have to go mark everything as read again because the new reader doesn&amp;#39;t know where you left off reading, but that&amp;#39;s about it.&lt;/p&gt;  &lt;h3&gt;What reader do you use, personally?&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://www.jetbrains.com/omea/reader/" target="_blank"&gt;Omea&lt;/a&gt;. I find it easy enough to get started with and it has plenty of features so that when I find myself thinking: &amp;quot;If only I could&amp;#8230;&amp;quot;, odds are good that Omea already supports whatever I had in mind. It was just in there waiting for me to realize I needed that feature :) With the 158 feeds that I watch, I end up needing a lot of features that I hadn&amp;#39;t imagined needing when I first started using RSS.&lt;/p&gt;  &lt;h3&gt;And, in conclusion...&lt;/h3&gt;  &lt;p&gt;Hopefully, that is enough to get you into the exciting world of information via RSS. Once you start using it, you will have a hard time going back to reading sites to get your news or even (gasp) picking up a printed paper with its &amp;quot;ancient&amp;quot; 12 hour old news :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=9292" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/DavidWisesSharepointBlog/~4/paxrgYopEjI" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.sharepointblogs.com/dwise/archive/2007/11/29/what-the-heck-is-rss.aspx</feedburner:origLink></item><item><title>Connecting SQL Reporting Services to a SharePoint List</title><link>http://feedproxy.google.com/~r/DavidWisesSharepointBlog/~3/J_Pp8Suree0/connecting-sql-reporting-services-to-a-sharepoint-list-redux.aspx</link><pubDate>Wed, 28 Nov 2007 21:06:17 GMT</pubDate><guid isPermaLink="false">1f6a1193-f4bb-4480-a5ae-b538d8b20f46:9193</guid><dc:creator>DavidWise</dc:creator><slash:comments>69</slash:comments><wfw:commentRss>http://www.sharepointblogs.com/dwise/rsscomments.aspx?PostID=9193</wfw:commentRss><comments>http://www.sharepointblogs.com/dwise/archive/2007/11/28/connecting-sql-reporting-services-to-a-sharepoint-list-redux.aspx#comments</comments><description>&lt;p&gt;There is a multitude of blogs that discuss how to access SharePoint data from SQL Reporting Services, so why another?&amp;#160; Simply because I had not found one that exposed all of the land mines I seem to hit when doing this.&amp;#160; So, I thought I&amp;#39;d try my hand at creating a detailed guide-map to the mine field.    &lt;br /&gt;&lt;/p&gt;  &lt;h3&gt;The Requirements&lt;/h3&gt;  &lt;p&gt;In order to do this, you must have :&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Visual Studio 2005 (I&amp;#39;m sure this works in 2008 as well, but I haven&amp;#39;t tried it yet) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/sql/technologies/reporting/default.mspx" target="_blank"&gt;SQL Reporting Extensions&lt;/a&gt;.&amp;#160; These are installed by default when you install SQL Server &lt;/li&gt;    &lt;li&gt;A SharePoint list exposed Anonymously or via Windows Integrated Authentication (more below)      &lt;br /&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Accessing the List&lt;/h3&gt;  &lt;p&gt;The Report Designer requires that the Data Source either require no authentication or uses Windows Integrated authentication.&amp;#160; Other options are available when defining the Data Source but you will not be able to use them as they are not supported for web services by the designer.&lt;/p&gt;  &lt;p&gt;Note: If your SharePoint list requires Windows Authentication then your development machine *must* be in the same domain or a trusted domain as the SharePoint server.&amp;#160; If you are developing on a system that is not in the domain of the SharePoint list you are attempting to access, you will not be able to proceed.&amp;#160; Brutal, but there you have it.    &lt;br /&gt;&lt;/p&gt;  &lt;h3&gt;The Steps&lt;/h3&gt;  &lt;p&gt;Start Visual Studio&lt;/p&gt;  &lt;p&gt;Select &lt;em&gt;File&lt;/em&gt; -&amp;gt; &lt;em&gt;New Project&lt;/em&gt; -&amp;gt; &lt;em&gt;Business Intelligence Projects&lt;/em&gt; -&amp;gt; &lt;em&gt;Report Server Project&lt;/em&gt;.&amp;#160; Name and save the project.&lt;/p&gt;  &lt;p&gt;&lt;img height="214" src="http://farm3.static.flickr.com/2355/2066690534_54a7cbe052_o.jpg" width="601" alt="" /&gt; &lt;/p&gt;  &lt;p&gt;In Solution explorer, right-click on &lt;em&gt;Shared Data Sources&lt;/em&gt; and select &lt;em&gt;Add New Data Source&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;img alt="FliE3" src="http://static.flickr.com/2420/2066287849_9d86deba29.jpg" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;Make sure you specify the Type as XML and put the proper URL to your server&amp;#39;s list.asmx web service page.&amp;#160; This is usually simply &lt;em&gt;http://&amp;lt;server&amp;gt;/&amp;lt;path&amp;gt;/_vti_bin/lists.asmx&lt;/em&gt;, replacing &lt;em&gt;&amp;lt;server&amp;gt;&lt;/em&gt; with your server name and &lt;em&gt;&amp;lt;path&amp;gt;&lt;/em&gt; with the path to the site with the list you are trying to access.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://farm3.static.flickr.com/2171/2066298701_8c564b3caa_o_d.jpg" alt="" /&gt; &lt;/p&gt;  &lt;p&gt;Click the Credentials tab and make sure you set it to Windows Authentication (default) or No Credentials (if your SharePoint site allows anonymous access).&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;img alt="FliEC" src="http://static.flickr.com/2058/2066318391_8e06164a58.jpg" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div&gt;   &lt;br /&gt;The other options are not supported by the Designer and will throw an error along the lines of &amp;quot;An error occurred while executing the query...&amp;quot; when you try to fetch the data.     &lt;br /&gt;    &lt;br /&gt;&lt;img height="157" src="http://farm3.static.flickr.com/2001/2067127532_141c834cc0_o_d.jpg" width="601" alt="" /&gt; &lt;/div&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;div&gt;Now that you have the data source defined, you will need to define the report.&amp;#160; To do this, right-click on the &lt;em&gt;Reports&lt;/em&gt; folder and select &lt;em&gt;Add&lt;/em&gt;-&amp;gt; &lt;em&gt;New Item&lt;/em&gt;, then add a Report.&amp;#160; Do not use the &lt;em&gt;Add New Report&lt;/em&gt; option on the right-click menu as that forces you to use the report wizard which can&amp;#39;t properly connect to the web service to get data.&lt;/div&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;p&gt;&lt;img height="111" alt="Fli11F" src="http://static.flickr.com/2176/2069699966_3f5469a930.jpg" width="357" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="margin:0px 0px 0px 10px;" height="101" alt="Fli120" src="http://static.flickr.com/2386/2068905889_2e0eceb98e.jpg" width="304" border="0" /&gt;&lt;/p&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;div&gt;Open the report and click on the Data tab and select &lt;em&gt;&amp;lt;New Dataset...&amp;gt;&lt;/em&gt; from the Dataset dropdown     &lt;br /&gt;    &lt;br /&gt;&lt;/div&gt;  &lt;div&gt;&lt;img alt="Fli140" src="http://static.flickr.com/2234/2069911478_ce8e4d5bd6.jpg" border="0" /&gt;&lt;/div&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;div&gt;Now enter a name for your dataset and make sure to pick the Data Source you created a few steps earlier.&amp;#160; The most essential thing on this form is to set the &lt;em&gt;Query string&lt;/em&gt; properly.&amp;#160; It should be :&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;pre&gt;&amp;lt;Query&amp;gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;Method Namespace=&lt;a href="http://schemas.microsoft.com/sharepoint/soap/"&gt;http://schemas.microsoft.com/sharepoint/soap/&lt;/a&gt; &lt;br /&gt;            Name=&amp;quot;GetListItems&amp;quot;/&amp;gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;SoapAction&amp;gt;http://schemas.microsoft.com/sharepoint/soap/GetListItems&lt;br /&gt;&amp;lt;/SoapAction&amp;gt;&lt;br /&gt;&amp;lt;/Query&amp;gt;&lt;/pre&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;img height="383" src="http://farm3.static.flickr.com/2337/2069111571_5fd42fdeb2_o_d.jpg" width="601" alt="" /&gt; &lt;/p&gt;

&lt;p&gt;From there, click on the Parameters tab enter your parameters.&amp;#160; See the Parameters section below for more information.&lt;/p&gt;

&lt;p&gt;&lt;img alt="Fli142" src="http://static.flickr.com/2250/2069137403_8b375fea6c.jpg" border="0" /&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;h3&gt;Parameters&lt;/h3&gt;

  &lt;p&gt;There are 5 parameters that can be passed: &lt;em&gt;listName&lt;/em&gt;, &lt;em&gt;viewName&lt;/em&gt;, &lt;em&gt;query&lt;/em&gt;, &lt;em&gt;rowLimit&lt;/em&gt; and &lt;em&gt;queryOptions &lt;/em&gt;and yes, they &lt;strong&gt;&lt;em&gt;must&lt;/em&gt;&lt;/strong&gt; be this exact case.&amp;#160; The catch here is that if you define all those parameters you will get data in the Data view, but then the Preview will fail with a multitude of messages, usually along the lines of &amp;quot;The Value expression for the parameter ... contains an error ... &amp;quot;.&amp;#160; To get around this, define only the parameters you are actually passing values for.&amp;#160; &lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;&lt;em&gt;listName&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;This tells the web service where to get the data from and it is the only required parameter.&amp;#160; You can give it either a list name or a Guid.&amp;#160; If you are unsure how to get the Guid, fire up &lt;a href="http://www.codeplex.com/SPCamlViewer"&gt;Stramit CAML Viewer&lt;/a&gt; and browse to the list or simply click &lt;em&gt;Settings&lt;/em&gt;-&amp;gt;&lt;em&gt;List Settings&lt;/em&gt; while viewing the list.&amp;#160; The list Guid will be URL encoded in the querystring after &amp;#39;List=&amp;quot;.&amp;#160; You can quickly &lt;a href="http://meyerweb.com/eric/tools/dencoder/"&gt;decode it here&lt;/a&gt;.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;&lt;em&gt;viewName&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;The &lt;em&gt;viewName&lt;/em&gt; tells the web service what view of &lt;em&gt;listName&lt;/em&gt; to query in order to pull back data.&amp;#160; This is not required but strongly recommended because the Report Designer mangles the &lt;em&gt;query&lt;/em&gt; parameter with severely limits your options for filtering data from the designer side of this process.&amp;#160; This is also an extremely picky parameter and I have yet to be able to get it to work consistently with a actual name of a view and have had to always use a Guid.&lt;/p&gt;

  &lt;p&gt;Note: If you do not specify a &lt;em&gt;viewName&lt;/em&gt;, it will use whatever view is defined as the default for the list as the filter/sort for the data.&amp;#160; This is usually the &lt;em&gt;All Items&lt;/em&gt; view and will likely include way more data than you want.&lt;/p&gt;

  &lt;p&gt;&lt;em&gt;&lt;strong&gt;query&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

  &lt;p&gt;Do not use this parameter.&amp;#160; It is extremely useful for people calling the web service from code but does not work with the report designer.&amp;#160; I suspect that designer does some extra encoding of the CAML that this parameter normally accepts which confuses the web service to no end.&amp;#160; If someone finds a way to actually use this parameter from designer, please let me know!&lt;/p&gt;

  &lt;p&gt;&lt;em&gt;&lt;strong&gt;rowLimit&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

  &lt;p&gt;The number of items to return.&amp;#160; SharePoint defaults to 100 so if you need more than this, you will need to include this parameter along with a number exceeding the number of rows you are likely to get.&lt;/p&gt;

  &lt;p&gt;&lt;em&gt;&lt;strong&gt;queryOptions&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

  &lt;p&gt;Do not use this parameter for the same reason as &lt;em&gt;query&lt;/em&gt;: it gets improperly encoded by the report designer. 

    &lt;br /&gt;

    &lt;br /&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;
  &lt;br /&gt;Click OK and then try to get your list of fields by clicking the Refresh Fields icon ( &lt;img alt="Fli143" src="http://static.flickr.com/2233/2069939164_2e6a04e1a6.jpg" border="0" /&gt; ) in the data view.&amp;#160; A small + should appear next to your report name.&amp;#160; Click on that to see all the fields it found.&amp;#160; If you don&amp;#39;t see all the fields you were expecting, be sure to read the tip in the &lt;em&gt;Annoyances&lt;/em&gt; section at the end of this posting.&lt;/p&gt;

&lt;p&gt;Last step - get some data by clicking the Run icon ( &lt;img alt="Fli1EA" src="http://static.flickr.com/2198/2072069706_db9ce43416.jpg" border="0" /&gt; ) on the Data tab.&amp;#160; It should pop up a dialog with the parameters you defined earlier.&amp;#160; Make sure all the parameters and values are there that you expect and click OK.&lt;/p&gt;

&lt;p&gt;That&amp;#39;s pretty much it.&amp;#160; I do have some general thoughts on the whole process that I&amp;#39;ve tacked on below.&amp;#160; Hopefully, this covers most of the quirks and oddities associated with this process.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h3&gt;General Troubleshooting&lt;/h3&gt;

&lt;p&gt;I cannot recommend &lt;a href="http://www.fiddlertool.com/fiddler/"&gt;Fiddler&lt;/a&gt; highly enough.&amp;#160; With this running on the dev machine you can easily see everything that is going on in the actual SOAP calls that are responsible for those vague errors that the designer throws out.&amp;#160; (click to see details) 

  &lt;br /&gt;

  &lt;br /&gt;&lt;a title="Sample Fiddler capture" href="http://farm3.static.flickr.com/2254/2070146280_7d29ef5b16_o_d.jpg" target="_blank"&gt;&lt;img alt="Fli154" src="http://static.flickr.com/2254/2070146280_db3ff32069.jpg" border="0" /&gt;&lt;/a&gt; 

  &lt;br /&gt;&lt;/p&gt;

&lt;h3&gt;Guid&amp;#39;s versus Names&lt;/h3&gt;

&lt;p&gt;Ok, so do I reference the list using the Guid or name?&amp;#160; There isn&amp;#39;t an easy answer here as this is the classic catch 22.&amp;#160; The Guid is the ID of the item regardless of the name and is the natural thing for developers to want to use.&amp;#160; Unfortunately, if you are in an environment where code is migrated from a Dev farm through test/qa and then to Production, that Guid will change in each environment.&amp;#160; The Name is much friendlier and works across environments, but names have a tendency to change over time which will break your report.&amp;#160; Choose what works best in your environment. 
  &lt;br /&gt;&lt;/p&gt;

&lt;h3&gt;A Word About Formatting&lt;/h3&gt;

&lt;p&gt;SQL Reports has no clue what to do with many of the columns used in SharePoint, so you might end up having to write some code to handle these.&amp;#160; The first you will probably see of this are the SharePoint fields that contain lookup values because these will show up on your report as something like &amp;quot;&lt;em&gt;245#;My real name&lt;/em&gt;&amp;quot;.&amp;#160; Pretty nasty.&lt;/p&gt;

&lt;p&gt;What you can do is add the snippet of code below to the Code section of the report.&amp;#160; To get there choose the Layout view, then Click on &lt;em&gt;Report&lt;/em&gt; -&amp;gt; &lt;em&gt;Report Properties&lt;/em&gt; from the main menu.&amp;#160; Click on the &lt;em&gt;Code&lt;/em&gt; tab and paste the code below in the window&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre&gt;function GetNameFromSP(pFullID as string) as string
  dim strRet as string
  dim iPos as integer

  if pFullID = nothing then return &amp;quot;&amp;quot;
  if pFullID = &amp;quot;&amp;quot; then return &amp;quot;&amp;quot;
  iPos = Instr(pFullID, &amp;quot;;&amp;quot;)
  if iPos &amp;lt; 1 then return pFullID

  return Mid(pFullID, iPos +2)
end function&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;Then right-click on the field in the report that you want to fix this with and select &lt;em&gt;Expression&lt;/em&gt;.&amp;#160; In the Expression Builder window, set it to the following: &lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre&gt;=&lt;strong&gt;Code.GetNameFromSP(&lt;/strong&gt;&lt;em&gt;&amp;lt;your field reference&amp;gt;&lt;/em&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;It is possible to use a .Net assembly for this function as well, but that is way beyond the scope of this article.&amp;#160; Besides, this method doesn&amp;#39;t require any special installation steps on the target server.&amp;#160; If you are creating dozens of reports where you need this behavior or others like it, then it makes sense to look into the assembly approach. 
  &lt;br /&gt;

  &lt;br /&gt;&lt;/p&gt;

&lt;h3&gt;A Word About Sorting&lt;/h3&gt;

&lt;p&gt;Odds are that the second place that you will hit the formatting snag mentioned above is when attempting to sort the report by one of the fields containing such values as it will sort by the ID part of the value string and not the name.&amp;#160; The easy fix is to use the same Expression as above in the Sorting and Grouping section of the report, which now allows you to sort on the real name. 
  &lt;br /&gt;&lt;/p&gt;

&lt;h3&gt;Annoyances About the Report Designer in Visual Studio&lt;/h3&gt;

&lt;p&gt;Overall, working with the Report Designer in Visual Studio goes pretty good, but there are some soggy areas that you are bound to step in eventually.&amp;#160; I&amp;#39;m pretty sure these are related to working with either web services in general as a data source, or SharePoint web services specifically as I&amp;#39;m not seeing a lot of people reporting this problem over the net.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;Vanishing Parameters&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;For reasons known only to designer itself, it will occasionally completely delete your list of parameters.&amp;#160; If you suddenly start getting errors or the wrong data and haven&amp;#39;t changed anything substantial, make sure your parameters are still defined.&amp;#160; Just make sure you have them written down somewhere where you can refer to them in order to enter them again.&amp;#160; I guarantee you will hit this one at least once.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Erroneous Errors&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;Sometimes something gets stuck in memory and designer will keep throwing an error when you try to get data or preview what should be a good data call.&amp;#160; Nine times out of ten, just closing the report and re-opening it will take care of this.&amp;#160; It&amp;#39;s very easy to lose an hour or more chasing a problem that isn&amp;#39;t really there from this.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Now you have data, Now you don&amp;#39;t&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;Fetching the data / previewing the report will work occasionally fail one attempt, then work perfectly the next with *no* changes in between.&amp;#160; This is a minor irritation and can usually be fixed by closing and re-opening the report.&amp;#160; After a while, you get used to trying everything twice.&amp;#160; If it fails on the second attempt, you probably really have an error.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Missing Columns&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;When you build the list of columns available for the report in Designer, it takes only the data in the first row of data returned.&amp;#160; If any of those columns are null, it won&amp;#39;t include the column.&amp;#160; Make sure all the vital columns have data when you create the report and you should be fine, even if that means manually editing them for a short time to put temporary data in.&amp;#160; &lt;strong&gt;Update&lt;/strong&gt;: &lt;a href="http://blogs.msdn.com/mariae/" target="_blank"&gt;Maria&lt;/a&gt; has offered &lt;a href="http://blogs.msdn.com/mariae/archive/2007/12/13/querying-sharepoint-list-from-reporting-services-returns-only-not-null-columns.aspx" target="_blank"&gt;a solution&lt;/a&gt; to this.&amp;#160; I&amp;#39;m not able to try it at this moment but it looks promising - thanks Maria!&lt;/p&gt;

  &lt;p&gt;Note: if you know of fixes to any of the above, please, please post it in the comments!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h3&gt;Some Helpful Links&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a title="http://rockstarguys.com/blogs/colin/archive/2006/11/10/accessing-sharepoint-list-items-with-sql-server-2005-reporting-services.aspx" href="http://rockstarguys.com/blogs/colin/archive/2006/11/10/accessing-sharepoint-list-items-with-sql-server-2005-reporting-services.aspx"&gt;Accessing SharePoint List Items with SQL Server 2005 Reporting Services&lt;/a&gt; very good checklist approach to this topic &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/bb283155.aspx" target="_blank"&gt;How to: Publish a Report to a SharePoint Library from Report Designer&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://www.fiddlertool.com/fiddler/"&gt;Fiddler&lt;/a&gt; - Good for snooping on web service requests to find the root causes of those errors &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://www.codeplex.com/SPCamlViewer" target="_blank"&gt;Stramit CAML viewer&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;Reporting Services: &lt;a href="http://msdn2.microsoft.com/en-us/library/aa964129.aspx" target="_blank"&gt;Using XML and Web Service Data Sources&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=9193" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/DavidWisesSharepointBlog/~4/J_Pp8Suree0" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.sharepointblogs.com/dwise/archive/2007/11/28/connecting-sql-reporting-services-to-a-sharepoint-list-redux.aspx</feedburner:origLink></item><item><title>New SharePoint Resource Center</title><link>http://feedproxy.google.com/~r/DavidWisesSharepointBlog/~3/fOCHN0TYpoo/new-sharepoint-resource-center.aspx</link><pubDate>Mon, 19 Nov 2007 15:48:24 GMT</pubDate><guid isPermaLink="false">1f6a1193-f4bb-4480-a5ae-b538d8b20f46:8893</guid><dc:creator>DavidWise</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://www.sharepointblogs.com/dwise/rsscomments.aspx?PostID=8893</wfw:commentRss><comments>http://www.sharepointblogs.com/dwise/archive/2007/11/19/new-sharepoint-resource-center.aspx#comments</comments><description>&lt;p&gt;It looks like Microsoft has finally put together the first installment of a true Resource Center focused on SharePoint.&amp;#160; It has direct links to a lot of existing content that was previously scattered all over MSDN, some of which you might not have seen before.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://msdn2.microsoft.com/en-us/sharepoint/bb964529.aspx" href="http://msdn2.microsoft.com/en-us/sharepoint/bb964529.aspx"&gt;http://msdn2.microsoft.com/en-us/sharepoint/bb964529.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;It is still kind of light on content but we can hope that Microsoft will continue the effort and turn this into a key launch point for all things SharePoint related.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=8893" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/DavidWisesSharepointBlog/~4/fOCHN0TYpoo" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.sharepointblogs.com/dwise/archive/2007/11/19/new-sharepoint-resource-center.aspx</feedburner:origLink></item><item><title>Hello, Live Writer!</title><link>http://feedproxy.google.com/~r/DavidWisesSharepointBlog/~3/3cpns24izD4/hello-live-writer.aspx</link><pubDate>Fri, 16 Nov 2007 23:35:54 GMT</pubDate><guid isPermaLink="false">1f6a1193-f4bb-4480-a5ae-b538d8b20f46:8805</guid><dc:creator>DavidWise</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://www.sharepointblogs.com/dwise/rsscomments.aspx?PostID=8805</wfw:commentRss><comments>http://www.sharepointblogs.com/dwise/archive/2007/11/16/hello-live-writer.aspx#comments</comments><description>&lt;p&gt;I started using &lt;a href="http://windowslivewriter.spaces.live.com/blog/cns!D85741BB5E0BE8AA!174.entry" target="_blank"&gt;Windows Live Writer&lt;/a&gt; late last week to author my blog entries and have to say that I am very impressed.&amp;#160; In fact, the last 3 posts on this blog were all done with it.&amp;#160; Once configured, it is fast, extremely easy to use and focuses solely on the task of editing and posting blog entries.&amp;#160; This means that there is no menu/UI clutter from a bunch of bloat (yet) so it is pretty easy to find what you are looking for.&lt;/p&gt;  &lt;p&gt;Some of the cool things I&amp;#39;ve found so far:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Save drafts locally &lt;/li&gt;    &lt;li&gt;Save drafts on the blog site as an unpublished post &lt;/li&gt;    &lt;li&gt;Publish blog entries to the blog site (kind of required!) &lt;/li&gt;    &lt;li&gt;&lt;em&gt;Web Preview&lt;/em&gt; mode that shows the post using styles and layout from your actual blog site &lt;/li&gt;    &lt;li&gt;Edit and post entries to different blogs from the same editor&lt;/li&gt;    &lt;li&gt;Auto-upload embedded images (if the site supports it)&lt;/li&gt;    &lt;li&gt;Insert images from several sites (I use &lt;a href="http://gallery.live.com/liveItemDetail.aspx?li=9cc421ec-b22e-45b6-98c4-3fae3846705e&amp;amp;bt=9&amp;amp;pl=8" target="_blank"&gt;Flickr&lt;/a&gt; and &lt;a href="http://www.codeplex.com/smugmug4writer" target="_blank"&gt;SmugMug&lt;/a&gt; but there is a &lt;a href="http://blogs.infosupport.com/files/folders/ernow/entry10562.aspx" target="_blank"&gt;Community Server&lt;/a&gt; plug-in as well) &lt;/li&gt;    &lt;li&gt;Ability to scale images using the thumbnails created by the Image Hosting site&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;img alt="Sample Insert menu" src="http://static.flickr.com/2413/2037910935_23f5458cd1.jpg" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;To make blogging even easier, I&amp;#39;ve discovered a few related goodies that work well with pretty much any blog editor.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;An add-in for SnagIt that uploads my screen captures to &lt;a href="http://www.techsmith.com/snagit/accessorycategory.asp?catID=1" target="_blank"&gt;Flickr&lt;/a&gt; right from the SnagIt editor &lt;/li&gt;    &lt;li&gt;A &amp;quot;Send To ...&amp;quot; utility for both &lt;a href="http://www.flickr.com/tools/" target="_blank"&gt;Flickr&lt;/a&gt; and &lt;a href="http://www.shahine.com/garage/content/SendToSmugMug.aspx" target="_blank"&gt;SmugMug&lt;/a&gt; that will upload an image file from the right-click menu &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Wonderfulness (?) aside, this is still a &amp;quot;dot OH!&amp;quot; product from Microsoft so there are a few small bugs yet to be worked out as well as the occasional crash but it is a strong enough product that I can easily overlook those. I&amp;#39;ve been spoiled now and can&amp;#39;t see myself ever going back to Word or OneNote to compose my blog posts.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=8805" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/DavidWisesSharepointBlog/~4/3cpns24izD4" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.sharepointblogs.com/dwise/archive/2007/11/16/hello-live-writer.aspx</feedburner:origLink></item><item><title>Creating a Generic Dictionary</title><link>http://feedproxy.google.com/~r/DavidWisesSharepointBlog/~3/BktYD4l_gi0/creating-a-generic-dictionary.aspx</link><pubDate>Fri, 16 Nov 2007 22:01:00 GMT</pubDate><guid isPermaLink="false">1f6a1193-f4bb-4480-a5ae-b538d8b20f46:8804</guid><dc:creator>DavidWise</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://www.sharepointblogs.com/dwise/rsscomments.aspx?PostID=8804</wfw:commentRss><comments>http://www.sharepointblogs.com/dwise/archive/2007/11/16/creating-a-generic-dictionary.aspx#comments</comments><description>&lt;p&gt;It is great when you are in a field where you can learn at least one new thing every day.&amp;nbsp; For example, I&amp;#39;ve been using generics since they became available in .Net 2.0 and yet, somehow, this was the first time I&amp;#39;ve seen this particular way to use one of them:&lt;/p&gt;&lt;span&gt;&lt;br /&gt;Dictionary&lt;/span&gt;&amp;lt;&lt;span&gt;string&lt;/span&gt;, &lt;span&gt;object&lt;/span&gt;&amp;gt; oProps = &lt;span&gt;new&lt;/span&gt; &lt;span&gt;Dictionary&lt;/span&gt;&amp;lt;&lt;span&gt;string&lt;/span&gt;, &lt;span&gt;object&lt;/span&gt;&amp;gt;(); 
&lt;p&gt;&lt;br /&gt;This creates a strongly-typed dictionary object and that uses a string as the key and an object as a value.&amp;nbsp; Super simple and wonderfully powerful yet I had missed that in all of my readings and experimentation.&amp;nbsp; This just made my day!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=8804" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/DavidWisesSharepointBlog/~4/BktYD4l_gi0" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.sharepointblogs.com/dwise/archive/2007/11/16/creating-a-generic-dictionary.aspx</feedburner:origLink></item><item><title>Lesson Learned While Customizing Newform.aspx</title><link>http://feedproxy.google.com/~r/DavidWisesSharepointBlog/~3/XwV5FwE2Hu0/lesson-learned-while-customizing-newform-aspx.aspx</link><pubDate>Wed, 14 Nov 2007 22:34:00 GMT</pubDate><guid isPermaLink="false">1f6a1193-f4bb-4480-a5ae-b538d8b20f46:8712</guid><dc:creator>DavidWise</dc:creator><slash:comments>13</slash:comments><wfw:commentRss>http://www.sharepointblogs.com/dwise/rsscomments.aspx?PostID=8712</wfw:commentRss><comments>http://www.sharepointblogs.com/dwise/archive/2007/11/14/lesson-learned-while-customizing-newform-aspx.aspx#comments</comments><description>&lt;p&gt;Whenever you customize the default list forms (NewForm.aspx, Dispform.aspx, or EditForm.aspx) in SharePoint designer, never, ever, under penalty of torture using Ed Wood movies, ever, I mean ever, delete the default ListFormWebPart that is on those pages.&amp;nbsp; Doing this will subtly corrupt how your list is defined in SharePoint and can cause you all sorts of grief.&lt;/p&gt;
&lt;p&gt;&lt;a title="FliE6" href="http://www.flickr.com/photos/18846542@N03/2022649548/" target="_blank"&gt;&lt;img height="99" alt="Supporting Files" src="http://static.flickr.com/2231/2022649548_38543bcafd.jpg" width="100" align="right" border="0" /&gt;&lt;/a&gt;The most minor problem I&amp;#39;ve seen is that you lose the ability to specify the Supporting Files for the list.&amp;nbsp; Oh sure, it will look like you can set them and it will even save and refresh properly in Designer.&amp;nbsp; However, SharePoint will simply ignore that and go right along showing the default files instead.&lt;/p&gt;
&lt;p&gt;The bigger problem is that deleting the ListFormWebPart from the NewForm.aspx page can effectively disconnect the &amp;quot;New&amp;quot; option on the list toolbar resulting in the ever annoying &amp;quot;Invalid page URL&amp;quot; dialog box when anyone clicks on it.&amp;nbsp; This is a &lt;a title="Link to issue on Microsoft.com" href="http://support.microsoft.com/?id=935504" target="_blank"&gt;known issue&lt;/a&gt; and the only way to fix it is to delete and recreate the list.&amp;nbsp; Not Fun.&lt;/p&gt;
&lt;p&gt;&lt;a title="FliEB" href="http://www.flickr.com/photos/18846542@N03/2022925130/"&gt;&lt;img style="MARGIN:5px 10px 5px 0px;" height="216" alt="FliEB" src="http://static.flickr.com/2125/2022925130_04e649ad4a.jpg" width="300" align="left" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Instead, save yourself some grief when editing these pages and just leave those web parts on there and add a new DataFormWebPart above or below it and customize that to your liking.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;N&lt;/strong&gt;&lt;strong&gt;ote&lt;/strong&gt;: make sure that you insert the new web part into the existing WebPartZone or else you will lose the &amp;#39;Edit Page&amp;#39; option for that page on the Site Actions menu.&lt;/p&gt;
&lt;p&gt;Once you have the customizations you want in place, you will need to hide (not delete!) the original ListFormWebPart.&amp;nbsp; To do this in Designer, simply change the &lt;em&gt;IsVisible&lt;/em&gt; element in the WebPart XML to &amp;#39;false&amp;#39;&lt;/p&gt;
&lt;p&gt;&lt;a title="FliF2" href="http://www.flickr.com/photos/18846542@N03/2022597829/"&gt;&lt;img alt="FliF2" src="http://static.flickr.com/2221/2022597829_8f85d97368.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Alternatively, you can hide it using a browser as well.&amp;nbsp; Simply browse the page and edit it, either by using SiteActions -&amp;gt; Edit Page or by adding &amp;quot;&amp;amp;PageView=Shared&amp;amp;toolpaneview=2&amp;quot; to the querystring in the browser. &lt;/p&gt;
&lt;p&gt;&lt;a title="FliF0" href="http://www.flickr.com/photos/18846542@N03/2023313682/"&gt;&lt;img style="MARGIN:5px;" alt="FliF0" src="http://static.flickr.com/2412/2023313682_dc1012e788.jpg" align="right" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="MARGIN:5px;" alt="FliF1" src="http://static.flickr.com/2013/2023320940_fa95b67b94.jpg" align="left" border="0" /&gt;Then edit the web part properties for the original ListFormWebPart and hide it&lt;/p&gt;
&lt;p&gt;&lt;a title="FliF0" href="http://www.flickr.com/photos/18846542@N03/2023313682/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This keeps the original web part on the page which keeps SharePoint happy.&amp;nbsp; Your users only see the customized list view that you want them to see, which keeps everyone else happy.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=8712" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/DavidWisesSharepointBlog/~4/XwV5FwE2Hu0" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.sharepointblogs.com/dwise/archive/2007/11/14/lesson-learned-while-customizing-newform-aspx.aspx</feedburner:origLink></item><item><title>Handy SnagIt Trick</title><link>http://feedproxy.google.com/~r/DavidWisesSharepointBlog/~3/TtBKexCOsEk/handy-snagit-trick.aspx</link><pubDate>Wed, 14 Nov 2007 22:26:00 GMT</pubDate><guid isPermaLink="false">1f6a1193-f4bb-4480-a5ae-b538d8b20f46:8718</guid><dc:creator>DavidWise</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://www.sharepointblogs.com/dwise/rsscomments.aspx?PostID=8718</wfw:commentRss><comments>http://www.sharepointblogs.com/dwise/archive/2007/11/14/handy-snagit-trick.aspx#comments</comments><description>&lt;p&gt;I&amp;#39;ve been using &lt;a href="http://www.techsmith.com/screen-capture.asp" target="_blank"&gt;SnagIt&lt;/a&gt; for years and absolutely love it.&amp;nbsp; Recently, I needed to grab a picture of menus but also needed to apply some effects to the unimportant areas so as to draw more attention to the menus themselves.&amp;nbsp; I stumbled a bit with the freehand selection tool, largely because I can&amp;#39;t draw a straight line for diddly.&amp;nbsp; The rectangular selector was *so* close to what I wanted but it kept bringing in parts of the image that I didn&amp;#39;t want to highlight.&amp;nbsp; Out of curiosity, I tried the old Shift trick and it worked exactly like I&amp;#39;d hoped!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;img style="MARGIN:0px 5px 5px 10px;" alt="FliEB" src="http://static.flickr.com/2125/2022925130_04e649ad4a.jpg" align="right" border="0" /&gt;What is the Shift Trick?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Use the Selection tool of your choice and make the first selection &lt;/li&gt;
&lt;li&gt;Hold Shift and make another selection such that it partially overlaps with the first.&amp;nbsp; &lt;/li&gt;
&lt;li&gt;SnagIt will merge the two selections &lt;/li&gt;
&lt;li&gt;repeat as needed &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;This allows for some really odd selection shapes but is quite handy when you need to outline complex areas.&amp;nbsp; In this picture, I was able to select just the menus and then dim and blur the background.&lt;/p&gt;
&lt;p&gt;(and for the record, yes, I could have applied the Torn Edge effect to the selected area which resulted in torn edges on each of the menus.&amp;nbsp; Interesting, but lost clarity)&lt;/p&gt;
&lt;p&gt;Just for fun, I wanted to see what I could do with this - pretty neat, actually.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://www.smugmug.com/photos/221502023-O.jpg" border="0" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=8718" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/DavidWisesSharepointBlog/~4/TtBKexCOsEk" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.sharepointblogs.com/dwise/archive/2007/11/14/handy-snagit-trick.aspx</feedburner:origLink></item><item><title>Finally! A Good RSS Reader!</title><link>http://feedproxy.google.com/~r/DavidWisesSharepointBlog/~3/MaztjobbQ5Q/GoodRssReader.aspx</link><pubDate>Fri, 09 Nov 2007 00:21:00 GMT</pubDate><guid isPermaLink="false">1f6a1193-f4bb-4480-a5ae-b538d8b20f46:8399</guid><dc:creator>DavidWise</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://www.sharepointblogs.com/dwise/rsscomments.aspx?PostID=8399</wfw:commentRss><comments>http://www.sharepointblogs.com/dwise/archive/2007/11/08/GoodRssReader.aspx#comments</comments><description>&lt;p&gt;A few days ago, my journey through the vast wasteland of dysfunctional RSS readers took an unexpected turn for the better.&amp;nbsp; After my most recent experiment (FeedReader) ate its own database, I decided to take a look at one that I have been seeing a &lt;strong&gt;&lt;em&gt;lot&lt;/em&gt;&lt;/strong&gt; of in my blog stats - &lt;a class="" href="http://www.jetbrains.com/omea/reader/index.html"&gt;JetBrains Omea Reader&lt;/a&gt;.&amp;nbsp; So far, I really like what I see.&amp;nbsp; The tool is visually appealing and is the first Reader I&amp;#39;ve tried in years that didn&amp;#39;t leave me saying: &amp;quot;Oh, how I wish SharpReader was being updated...&amp;quot; &lt;/p&gt;
&lt;p&gt;It has everything I expect from an RSS Reader and does most of it pretty well and pretty darned fast.&amp;nbsp; One of the nicest features I&amp;#39;ve found is the ability to create a View based on search criteria, allowing you to keep an eye on any hot items/keywords that you might be interested in, automatically.&amp;nbsp; Now I can easily keep tabs on how &lt;a class="" href="http://jopx.blogspot.com/2007/11/visual-studio-2008-available-on-msdn-by.html"&gt;Visual Studio is going to take over World of Warcraft&lt;/a&gt;&amp;nbsp;add-in development.&lt;/p&gt;
&lt;p&gt;As a bonus, Omea also has a good Usenet News reader built into it.&amp;nbsp; This is something I had pretty much given up on since Anawave Gravity (the greatest Usenet reader of all time) was killed off.&lt;/p&gt;
&lt;p&gt;I have tried quite a few RSS readers over the past few years but none quite fit what I was looking for.&amp;nbsp; Here are a few of them: &lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://www.sharpreader.net/"&gt;SharpReader&lt;/a&gt; - My personal favorite because of its speed and the tight focus on the tasks related to RSS but it has not been updated in quite some time.&amp;nbsp; It also suffers from the rather annoying habit of corrupting its own database every few months or so.&amp;nbsp; It recovers from this but it does require that I go through and mark thousands of entries as read.&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://www.google.com/reader"&gt;Google Reader&lt;/a&gt; - fast but far too few options for managing large numbers of feeds.&amp;nbsp; Nice if you only have a few feeds or if you need access to feeds from multiple computers that you might not have control over (i.e. kiosk/walkups/guest machines).&amp;nbsp; The UI does take a little bit to get used to.&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://www.newsgator.com/"&gt;NewsGator&lt;/a&gt; - As a consultant, I rarely have Outlook open as most of my clients either use Notes or don&amp;#39;t allow consultants to have accounts on their Exchange servers.&amp;nbsp; As such, I really don&amp;#39;t like being that tightly tied to an app I never use (Outlook).&amp;nbsp; It also had WAY too few features for me to use to manage the number of feeds that I have.&amp;nbsp; I have read that it does work very well for consultants who travel a great deal because it caches feeds so that&amp;nbsp;they can then be read while disconnected, like while on a plane.&amp;nbsp; My only travel is the drive to work and I&amp;#39;m pretty sure the other drivers would get a little upset if I was reading news feeds during that time.&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://www.feedreader.com/"&gt;FeedReader&lt;/a&gt; - good generic reader but pretty shallow on the features.&amp;nbsp; It lasted several months but then terminally corrupted its database&amp;nbsp; - no recovery whatsoever. &lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://www.jetbrains.com/omea/reader/index.html"&gt;Omea&lt;/a&gt; - This is day three for this reader so only time will tell.&amp;nbsp; So far, it is very good.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=8399" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/DavidWisesSharepointBlog/~4/MaztjobbQ5Q" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.sharepointblogs.com/dwise/archive/2007/11/08/GoodRssReader.aspx</feedburner:origLink></item><item><title>#RENDER FAILED in View With Totals and Grouping</title><link>http://feedproxy.google.com/~r/DavidWisesSharepointBlog/~3/egHAzK2VDP4/RenderFailedTotalsGroup.aspx</link><pubDate>Mon, 05 Nov 2007 16:30:00 GMT</pubDate><guid isPermaLink="false">1f6a1193-f4bb-4480-a5ae-b538d8b20f46:8225</guid><dc:creator>DavidWise</dc:creator><slash:comments>25</slash:comments><wfw:commentRss>http://www.sharepointblogs.com/dwise/rsscomments.aspx?PostID=8225</wfw:commentRss><comments>http://www.sharepointblogs.com/dwise/archive/2007/11/05/RenderFailedTotalsGroup.aspx#comments</comments><description>&lt;p style="FONT-SIZE:11pt;MARGIN:0in;FONT-FAMILY:Calibri;"&gt;After searching the net, it appears that the generic &amp;quot;RENDER FAILED&amp;quot; message (below) appears when customizing certain views for a multitude of reasons, each with its own unique combination factors and its own solution.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;So, here is one more set of parameters / solution&amp;nbsp;to add to the chorus.&lt;/p&gt;
&lt;p style="FONT-SIZE:11pt;MARGIN:0in;FONT-FAMILY:Calibri;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="FONT-SIZE:11pt;MARGIN:0in;FONT-FAMILY:Calibri;"&gt;&lt;img src="http://dwise.smugmug.com/photos/217738632-L.jpg" alt="" /&gt;&lt;a href="http://dwise.smugmug.com/photos/217738632-L.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="FONT-SIZE:11pt;MARGIN:0in;FONT-FAMILY:Calibri;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="FONT-SIZE:11pt;MARGIN:0in;FONT-FAMILY:Calibri;"&gt;I had a view that was grouping on a&amp;nbsp;single field and also had to provide the AVERAGE of a number field.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;When trying this with the default Group By settings, I would get the &amp;lt;!-- #RENDER FAILED --&amp;gt; error message.&lt;/p&gt;
&lt;p style="FONT-SIZE:11pt;MARGIN:0in;FONT-FAMILY:Calibri;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="FONT-SIZE:11pt;MARGIN:0in;FONT-FAMILY:Calibri;"&gt;&lt;img style="WIDTH:222px;HEIGHT:104px;" height="104" src="http://dwise.smugmug.com/photos/217738629-M.jpg" width="222" alt="" /&gt;&lt;a href="http://dwise.smugmug.com/photos/217738629-M.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="FONT-SIZE:11pt;MARGIN:0in;FONT-FAMILY:Calibri;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="FONT-SIZE:11pt;MARGIN:0in;FONT-FAMILY:Calibri;"&gt;The fix was obscure but simple.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;Change the &lt;strong&gt;Group By&lt;/strong&gt; options to Expanded and the problem was solved.&lt;/p&gt;
&lt;p style="FONT-SIZE:11pt;MARGIN:0in;FONT-FAMILY:Calibri;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="FONT-SIZE:11pt;MARGIN:0in;FONT-FAMILY:Calibri;"&gt;&lt;img style="WIDTH:190px;HEIGHT:51px;" height="51" src="http://dwise.smugmug.com/photos/217738631-M.jpg" width="190" alt="" /&gt;&lt;a href="http://dwise.smugmug.com/photos/217738631-M.jpg"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=8225" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/DavidWisesSharepointBlog/~4/egHAzK2VDP4" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.sharepointblogs.com/dwise/archive/2007/11/05/RenderFailedTotalsGroup.aspx</feedburner:origLink></item></channel></rss>
