<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6581861420345779687</id><updated>2012-01-10T05:34:01.039-08:00</updated><category term='RunWithElevatedPrivilegs'/><category term='listtemplate'/><category term='lifecycle'/><category term='sharepoint'/><category term='consumer'/><category term='new blog'/><category term='webpart'/><category term='provider'/><category term='welcome'/><category term='case-sensitive'/><category term='list'/><category term='FormDigestSettings'/><category term='attribute'/><category term='0x81070201'/><category term='wss'/><category term='field'/><category term='Security Validation'/><category term='hide'/><category term='id'/><category term='exception'/><category term='definition'/><category term='title'/><category term='connectionprovider'/><category term='custom list definition'/><title type='text'>SharePoint for Dummies (like me)</title><subtitle type='html'>Developing Microsoft SharePoint Solutions: From the greatest bits to the most anoying pieces...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://spdummies.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581861420345779687/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://spdummies.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Umhambi</name><uri>http://www.blogger.com/profile/16210376114551904111</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_Zm-WCJrHwzg/R58oIaeL7AI/AAAAAAAAAAQ/v24cF2Rhn2M/S220/IMG_0717.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6581861420345779687.post-1041998403014870079</id><published>2008-04-10T08:30:00.000-07:00</published><updated>2008-04-10T08:37:26.639-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wss'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='webpart'/><category scheme='http://www.blogger.com/atom/ns#' term='listtemplate'/><category scheme='http://www.blogger.com/atom/ns#' term='list'/><category scheme='http://www.blogger.com/atom/ns#' term='custom list definition'/><title type='text'>Strange issue with deployment of custom editform.aspx</title><content type='html'>&lt;p&gt;I had the same issue (see below) a couple of days ago and spent a couple of hours on finding the reason for it&lt;/p&gt;&lt;p&gt;Here the whole thread with the detailed Solution Description:&lt;/p&gt;&lt;p&gt;&lt;a href="http://forums.microsoft.com/technet/ShowPost.aspx?siteid=17&amp;amp;postid=3154005"&gt;http://forums.microsoft.com/technet/ShowPost.aspx?siteid=17&amp;amp;postid=3154005&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;Input string was not in a correct format. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.FormatException: Input string was not in a correct format.Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.  Stack Trace: [FormatException: Input string was not in a correct format.]   System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer&amp;amp; number, NumberFormatInfo info, Boolean parseDecimal) +2755599   System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +112   System.Convert.ToInt32(String value, IFormatProvider provider) +44   Microsoft.SharePoint.WebControls.ItemHiddenVersion.OnLoad(EventArgs e) +253   System.Web.UI.Control.LoadRecursive() +47   System.Web.UI.Control.LoadRecursive() +131   System.Web.UI.Control.LoadRecursive() +131   System.Web.UI.Control.LoadRecursive() +131   System.Web.UI.Control.LoadRecursive() +131   System.Web.UI.Control.LoadRecursive() +131   System.Web.UI.Control.LoadRecursive() +131   System.Web.UI.Control.LoadRecursive() +131   System.Web.UI.Control.LoadRecursive() +131   System.Web.UI.Control.LoadRecursive() +131   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1436&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;br /&gt;Instead of setting the Zone-Visibility to false, add a DIV around your zone and just hide the DIV with setting style="visibility: hidden". This way round the necessary information will be rendered to the page but not shown to the user. That's it - fixed!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6581861420345779687-1041998403014870079?l=spdummies.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spdummies.blogspot.com/feeds/1041998403014870079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6581861420345779687&amp;postID=1041998403014870079' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581861420345779687/posts/default/1041998403014870079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581861420345779687/posts/default/1041998403014870079'/><link rel='alternate' type='text/html' href='http://spdummies.blogspot.com/2008/04/strange-issue-with-deployment-of-custom.html' title='Strange issue with deployment of custom editform.aspx'/><author><name>Umhambi</name><uri>http://www.blogger.com/profile/16210376114551904111</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_Zm-WCJrHwzg/R58oIaeL7AI/AAAAAAAAAAQ/v24cF2Rhn2M/S220/IMG_0717.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581861420345779687.post-2193820565653988777</id><published>2008-03-28T06:39:00.000-07:00</published><updated>2008-03-28T06:56:46.389-07:00</updated><title type='text'>Content Type ID's</title><content type='html'>You are right - we all know how Content Type Id's are constructred. But let me post it here again:&lt;br /&gt;&lt;br /&gt;The first part of a CT ID is based on a hexadecimal number that identifies its base content type (see list below) followed by 00 as a seperator. The last part of a CT ID is a GUID that uniquely identifies the CT. For each level o inheritance the seperator will be added to the end of the ID plus another GUID.&lt;br /&gt;&lt;br /&gt;So, that's easy and actually not the reason why I wrote this entry. Main reason is, that I always have to look up the base intheritance ID's. So the list below will be my point of contact to get the right ID's easily. Maybe you can use it too:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Basic Types:&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;0x   System&lt;/li&gt;&lt;li&gt;0x01   Item&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;List Types:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;0x0102   Event&lt;/li&gt;&lt;li&gt;0x0103   Issue&lt;/li&gt;&lt;li&gt;0x0104   Announcement&lt;/li&gt;&lt;li&gt;0x0105   Link&lt;/li&gt;&lt;li&gt;0x0106   Contact&lt;/li&gt;&lt;li&gt;0x0107   Message&lt;/li&gt;&lt;li&gt;0x0108   Task&lt;/li&gt;&lt;li&gt;0x0110   BlogPost&lt;/li&gt;&lt;li&gt;0x0111   BlogComment&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Document Types:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;0x0101   Document&lt;/li&gt;&lt;li&gt;0x010101   Form&lt;/li&gt;&lt;li&gt;0x010102   Picture&lt;/li&gt;&lt;li&gt;0x010108   Wiki Document&lt;/li&gt;&lt;li&gt;0x010109   Basic Page&lt;/li&gt;&lt;li&gt;0x01010901   WebPart Page&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Folder Types:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;0x0120   Folder&lt;/li&gt;&lt;li&gt;0x012001   RootOfList&lt;/li&gt;&lt;li&gt;0x012002   Discussion&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6581861420345779687-2193820565653988777?l=spdummies.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spdummies.blogspot.com/feeds/2193820565653988777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6581861420345779687&amp;postID=2193820565653988777' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581861420345779687/posts/default/2193820565653988777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581861420345779687/posts/default/2193820565653988777'/><link rel='alternate' type='text/html' href='http://spdummies.blogspot.com/2008/03/content-type-ids.html' title='Content Type ID&apos;s'/><author><name>Umhambi</name><uri>http://www.blogger.com/profile/16210376114551904111</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_Zm-WCJrHwzg/R58oIaeL7AI/AAAAAAAAAAQ/v24cF2Rhn2M/S220/IMG_0717.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581861420345779687.post-1685233785572706571</id><published>2008-03-23T14:24:00.000-07:00</published><updated>2008-03-23T14:37:31.093-07:00</updated><title type='text'>Microsoft TechDays Switzerland 2008</title><content type='html'>This years TechDays were taking place Wed and Thursday this week in Basel. The Sessions and Tracks were very interesting and again something no .NET developer should miss!&lt;br /&gt;&lt;br /&gt;About the location - hmmm, the whole thing was taking place in sporthalls in the underground and yes I also think there could be better and nicer places for this event - maybe next year.&lt;br /&gt;&lt;br /&gt;For all who did not have time to go to the TechDays I want to say that beginning of next week you will be able to download all presentations from the TechDays Homepage!!! I really recommend the Developer Tracks!!! Have a look&lt;br /&gt;&lt;br /&gt;As usual, here are my "Best of TechDays":&lt;br /&gt;&lt;br /&gt;Best Session:&lt;br /&gt;&lt;strong&gt;Visual Studio 2008 für Web Anwendun&amp;shy;gen&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;from Sacha P. Corti&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;Best Speaker:&lt;br /&gt;&lt;strong&gt;Ingo Rammer&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;thinktecture&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Best News:&lt;br /&gt;&lt;strong&gt;Future of distributed .NET Solutions&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;from Chris Horrocks&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;So let's stay tunned!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6581861420345779687-1685233785572706571?l=spdummies.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spdummies.blogspot.com/feeds/1685233785572706571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6581861420345779687&amp;postID=1685233785572706571' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581861420345779687/posts/default/1685233785572706571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581861420345779687/posts/default/1685233785572706571'/><link rel='alternate' type='text/html' href='http://spdummies.blogspot.com/2008/03/microsoft-techdays-switzerland-2008.html' title='Microsoft TechDays Switzerland 2008'/><author><name>Umhambi</name><uri>http://www.blogger.com/profile/16210376114551904111</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_Zm-WCJrHwzg/R58oIaeL7AI/AAAAAAAAAAQ/v24cF2Rhn2M/S220/IMG_0717.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581861420345779687.post-1121278869264458600</id><published>2008-03-23T13:36:00.000-07:00</published><updated>2008-04-03T06:20:46.921-07:00</updated><title type='text'>Microsoft AJAX Extensions and SharePoint Webparts - what a great team ;-)</title><content type='html'>Alright, here is a new topic for all of you guys need to include AJAX-functionality into your SharePoint Webparts. Just to say it right away: It is a long and anoying way - but when you finally got your AJAX enabled webpart up and running - your feeeeeeeelllll great!!!&lt;br /&gt;&lt;br /&gt;So, lets's keep it short... these are the steps you need to get the Microsoft AJAX Extensions running on your SharePoint installation:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Download and Install the Microsoft ASP.NET AJAX Exentsions from &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ca9d90fa-e8c9-42e3-aa19-08e2c027f5d6&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=ca9d90fa-e8c9-42e3-aa19-08e2c027f5d6&amp;amp;displaylang=en&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Follow the steps posted from Mike Ammerlaan to configure the web.config file(s) of your SharePoint Web Application - I recommend to do only the web.config bits and pieces explained on this blog: &lt;a href="http://sharepoint.microsoft.com/blogs/mike/Lists/Posts/Post.aspx?ID=3"&gt;http://sharepoint.microsoft.com/blogs/mike/Lists/Posts/Post.aspx?ID=3&lt;/a&gt;&lt;/li&gt;&lt;li&gt;As you know, ASP.NET AJAX Framwork needs a Script Manager Object on each side hosting AJAX functionality. Even if the following Function works for most cases, I recommend you put the ScriptManager to your Master Page(s) - I really do. If you dont want to, you can try the following method (call it during your CreateChildControls activity to ensure that at least one Script Manager is present and registred):&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span style="font-family:courier new;font-size:85%;color:#000099;"&gt;private void EnsureScriptManager(){ &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;font-size:85%;color:#000099;"&gt;ScriptManager scriptManager = ScriptManager.GetCurrent(this.Page); &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;font-size:85%;color:#000099;"&gt;if (scriptManager == null) { &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;font-size:85%;color:#000099;"&gt;scriptManager = new ScriptManager();&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;font-size:85%;color:#000099;"&gt;scriptManager.EnablePartialRendering = true; this.Controls.AddAt(0, scriptManager);&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;font-size:85%;color:#000099;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;font-size:85%;color:#000099;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#990000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Et voila - AJAX is ready to be used... but one thing is left to say concerning the Update Panel (which you will most probably use):&lt;/p&gt;&lt;ol&gt;&lt;li&gt;To fix another issue with SharePoint and the Update Panel, I wrote another function to ensure this fix. Same as the previous function you can call it during the CreateChildControls method:&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span style="font-family:courier new;font-size:85%;color:#000099;"&gt;public static void EnsureUpdatePanelFixups(WebControl Parent)&lt;br /&gt;{&lt;br /&gt;// PostBack Fix&lt;br /&gt;// Found here: http://www.capdes.com/2007/02/microsoft_office_sharepoint_se.html&lt;br /&gt;Parent.Page.ClientScript.RegisterStartupScript(typeof(WebControl), "PostbackFix", "_spOriginalFormAction = document.forms[0].action;", true);&lt;br /&gt;&lt;br /&gt;// Panel Fixup&lt;br /&gt;if (Parent.Page.Form != null)&lt;br /&gt;{&lt;br /&gt;if (Parent.Page.Form != null)&lt;br /&gt;{&lt;br /&gt;string formOnSubmitAtt = Parent.Page.Form.Attributes["onsubmit"];&lt;br /&gt;if (!string.IsNullOrEmpty(formOnSubmitAtt) &amp;amp;&amp;amp; formOnSubmitAtt == "return _spFormOnSubmitWrapper();")&lt;br /&gt;{&lt;br /&gt;Parent.Page.Form.Attributes["onsubmit"] = "_spFormOnSubmitWrapper();";&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Hope that helps to give you a first go on Microsoft APS.NET AJAX-enabled Webparts! As you will see, there are more traps and unbelievable shity things you will encounter during your AJAX implementation - but you will finally be very very pleased with the new User Experience!&lt;/p&gt;&lt;p&gt;Have FUN&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6581861420345779687-1121278869264458600?l=spdummies.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spdummies.blogspot.com/feeds/1121278869264458600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6581861420345779687&amp;postID=1121278869264458600' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581861420345779687/posts/default/1121278869264458600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581861420345779687/posts/default/1121278869264458600'/><link rel='alternate' type='text/html' href='http://spdummies.blogspot.com/2008/03/microsoft-ajax-extensions-and.html' title='Microsoft AJAX Extensions and SharePoint Webparts - what a great team ;-)'/><author><name>Umhambi</name><uri>http://www.blogger.com/profile/16210376114551904111</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_Zm-WCJrHwzg/R58oIaeL7AI/AAAAAAAAAAQ/v24cF2Rhn2M/S220/IMG_0717.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581861420345779687.post-6502232076095570071</id><published>2008-02-21T01:00:00.000-08:00</published><updated>2008-02-22T00:23:52.440-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wss'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='FormDigestSettings'/><category scheme='http://www.blogger.com/atom/ns#' term='Security Validation'/><category scheme='http://www.blogger.com/atom/ns#' term='RunWithElevatedPrivilegs'/><title type='text'>The security validation for this page is invalid. Click Back in your Webbrowser, refresh the page, and try your operation again.</title><content type='html'>If you need to work with SPSecurity.RunWithElevatedPrivilegs() to do for example Site or Web manipulations (the normal user has no rights to do it), you run sometimes into the following error:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#ff0000;"&gt;"The security validation for this page is invalid. Click Back in your Webbrowser, refresh the page, and try your operation again."&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#ff0000;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;Now, depending on what operation you want to do exactly, this can be solved by&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;a) Setting &lt;strong&gt;SPWeb.AllowUnsafeUpdates = true&lt;/strong&gt; and/or&lt;br /&gt;b) turning &lt;strong&gt;SPWebApplication.FormDigestSettings.Enabled&lt;/strong&gt; off&lt;br /&gt;&lt;br /&gt;Note that I really recommend to set both values back to AllowUnsafeUpdates = false and FormDigestSettings.Enabled = false after you did your stuff. If not you will leave (especially with having Security Validation turned off) a big security hole.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6581861420345779687-6502232076095570071?l=spdummies.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spdummies.blogspot.com/feeds/6502232076095570071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6581861420345779687&amp;postID=6502232076095570071' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581861420345779687/posts/default/6502232076095570071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581861420345779687/posts/default/6502232076095570071'/><link rel='alternate' type='text/html' href='http://spdummies.blogspot.com/2008/02/security-validation-for-this-page-is.html' title='The security validation for this page is invalid. Click Back in your Webbrowser, refresh the page, and try your operation again.'/><author><name>Umhambi</name><uri>http://www.blogger.com/profile/16210376114551904111</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_Zm-WCJrHwzg/R58oIaeL7AI/AAAAAAAAAAQ/v24cF2Rhn2M/S220/IMG_0717.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581861420345779687.post-205362361616559181</id><published>2008-02-12T03:34:00.000-08:00</published><updated>2008-02-12T03:58:04.051-08:00</updated><title type='text'>Get rid of SharePoint Error page</title><content type='html'>Sometimes it is necessary to get the real ASP.NET Error message instead of a nice formated SharePoint error message like this one:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp2.blogger.com/_Zm-WCJrHwzg/R7GHEAjf0FI/AAAAAAAAAAo/NjGLlB_cmMA/s1600-h/sperror.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5166058750508781650" style="CURSOR: hand" alt="" src="http://bp2.blogger.com/_Zm-WCJrHwzg/R7GHEAjf0FI/AAAAAAAAAAo/NjGLlB_cmMA/s200/sperror.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can change the web.config file of your SharePoint site to display ASP.NET error messages by changing the following&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#cc6600;"&gt;&amp;lt;sharepoint&amp;gt;&amp;lt;safemode maxcontrols="200"&amp;gt;&amp;lt;&lt;strong&gt;callstack="true"&lt;/strong&gt; ...&lt;/span&gt; &lt;/span&gt;&lt;li&gt;&lt;span style="color:#cc6600;"&gt;&lt;span style="font-family:arial;"&gt;AND &amp;lt;system.web&amp;gt;&amp;lt;customerrors &lt;strong&gt;mode="Off"&lt;/strong&gt; ...&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Et Voila:&lt;/p&gt;&lt;p&gt;&lt;a href="http://bp1.blogger.com/_Zm-WCJrHwzg/R7GHXwjf0GI/AAAAAAAAAAw/ZChq3Mc-GN8/s1600-h/asperror.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5166059089811198050" style="CURSOR: hand" alt="" src="http://bp1.blogger.com/_Zm-WCJrHwzg/R7GHXwjf0GI/AAAAAAAAAAw/ZChq3Mc-GN8/s200/asperror.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6581861420345779687-205362361616559181?l=spdummies.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spdummies.blogspot.com/feeds/205362361616559181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6581861420345779687&amp;postID=205362361616559181' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581861420345779687/posts/default/205362361616559181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581861420345779687/posts/default/205362361616559181'/><link rel='alternate' type='text/html' href='http://spdummies.blogspot.com/2008/02/get-rid-of-sharepoint-error-page.html' title='Get rid of SharePoint Error page'/><author><name>Umhambi</name><uri>http://www.blogger.com/profile/16210376114551904111</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_Zm-WCJrHwzg/R58oIaeL7AI/AAAAAAAAAAQ/v24cF2Rhn2M/S220/IMG_0717.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_Zm-WCJrHwzg/R7GHEAjf0FI/AAAAAAAAAAo/NjGLlB_cmMA/s72-c/sperror.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581861420345779687.post-6965550333710371537</id><published>2008-02-04T07:14:00.001-08:00</published><updated>2008-02-04T07:31:56.921-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wss'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='listtemplate'/><category scheme='http://www.blogger.com/atom/ns#' term='case-sensitive'/><category scheme='http://www.blogger.com/atom/ns#' term='definition'/><category scheme='http://www.blogger.com/atom/ns#' term='list'/><title type='text'>Boolean parameters in SharePoint definition files are CASE-SENSITIVE, crazy!</title><content type='html'>This is real SharePoint crap!!!&lt;br /&gt;&lt;br /&gt;I just found out, that boolean Parameters in Definition Files (like List Definition, Content Type Definition, Site Columns Definition et cetera- in general all schema.xml definition files) are CASE SENSITIVE!&lt;br /&gt;&lt;br /&gt;One example:&lt;br /&gt;&lt;span style="color:#cc6600;"&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;Field&lt;br /&gt;&lt;span style="color:#cc6600;"&gt;ID="{...}"&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#cc6600;"&gt;Required="True" &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#cc6600;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#cc6600;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This will not work. The Field will not be defined as required. Reasons: SharePoint understands only TRUE / FALSE values written in capital letters - everything else (including True or true) will be ignored and the default setting will be taken (in case of Required the default is false).&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#cc6600;"&gt;&lt;/span&gt;&lt;br /&gt;In make our example work:&lt;br /&gt;&lt;span style="font-family:courier new;color:#cc6600;"&gt;&amp;lt;Field &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#cc6600;"&gt;ID="{...}" &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#cc6600;"&gt;Required="TRUE"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#cc6600;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This issue applies also to all other boolean parameters, like&lt;br /&gt;Hidden="TRUE" or FROMBASETYPE="TRUE".&lt;br /&gt;&lt;br /&gt;This is something I have never seen before... anyway - that's SharePoint!!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#cc6600;"&gt;&lt;/span&gt;&lt;span style="color:#cc6600;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6581861420345779687-6965550333710371537?l=spdummies.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spdummies.blogspot.com/feeds/6965550333710371537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6581861420345779687&amp;postID=6965550333710371537' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581861420345779687/posts/default/6965550333710371537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581861420345779687/posts/default/6965550333710371537'/><link rel='alternate' type='text/html' href='http://spdummies.blogspot.com/2008/02/boolean-paramaters-in-sharepoint.html' title='Boolean parameters in SharePoint definition files are CASE-SENSITIVE, crazy!'/><author><name>Umhambi</name><uri>http://www.blogger.com/profile/16210376114551904111</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_Zm-WCJrHwzg/R58oIaeL7AI/AAAAAAAAAAQ/v24cF2Rhn2M/S220/IMG_0717.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581861420345779687.post-8417850009915770843</id><published>2008-01-31T23:36:00.000-08:00</published><updated>2008-02-01T00:01:36.522-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wss'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='webpart'/><category scheme='http://www.blogger.com/atom/ns#' term='provider'/><category scheme='http://www.blogger.com/atom/ns#' term='lifecycle'/><category scheme='http://www.blogger.com/atom/ns#' term='consumer'/><title type='text'>Connected Webparts Lifecycle in detail</title><content type='html'>The list below shows you what is going on while your connected Webparts get "alive":&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Begin PreInit&lt;/li&gt;&lt;li&gt;End PreInit&lt;/li&gt;&lt;li&gt;Begin Init&lt;/li&gt;&lt;li&gt;End Init&lt;/li&gt;&lt;li&gt;Begin InitComplete&lt;/li&gt;&lt;li&gt;End InitComplete&lt;/li&gt;&lt;li&gt;Begin LoadState&lt;/li&gt;&lt;li&gt;&lt;span style="color:#990000;"&gt;Provider: CreateChildControls&lt;/span&gt;&lt;/li&gt;&lt;li&gt;End LoadState&lt;/li&gt;&lt;li&gt;Begin ProcessPostData&lt;/li&gt;&lt;li&gt;&lt;span style="color:#3333ff;"&gt;Consumer: CreateChildControls&lt;/span&gt;&lt;/li&gt;&lt;li&gt;End ProcessPostData&lt;/li&gt;&lt;li&gt;Begin PreLoad&lt;/li&gt;&lt;li&gt;End PreLoad&lt;/li&gt;&lt;li&gt;Begin Load&lt;/li&gt;&lt;li&gt;&lt;span style="color:#990000;"&gt;Provider: OnLoad&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#3333ff;"&gt;Consumer: OnLoad&lt;/span&gt;&lt;/li&gt;&lt;li&gt;End Load&lt;/li&gt;&lt;li&gt;Begin ProcessPostDataSecondTry&lt;/li&gt;&lt;li&gt;End ProcessPostDataSecondTry&lt;/li&gt;&lt;li&gt;Begin Raise ChangedEvents&lt;/li&gt;&lt;li&gt;End Raise ChangedEvents&lt;/li&gt;&lt;li&gt;Begin Raise PostBackEvent&lt;/li&gt;&lt;li&gt;&lt;span style="color:#990000;"&gt;Provider: Button Click Event Method is called&lt;/span&gt;&lt;/li&gt;&lt;li&gt;End Raise PostBackEvent&lt;/li&gt;&lt;li&gt;Begin LoadComplete&lt;/li&gt;&lt;li&gt;&lt;span style="color:#990000;"&gt;Provider: Connection Provider Method is called&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#3333ff;"&gt;Consumer: Connection Consumer Method is called&lt;/span&gt;&lt;/li&gt;&lt;li&gt;End LoadComplete&lt;/li&gt;&lt;li&gt;Begin PreRender&lt;/li&gt;&lt;li&gt;&lt;span style="color:#990000;"&gt;Provider: OnPreRender&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#3333ff;"&gt;Consumer: OnPreRender&lt;/span&gt;&lt;/li&gt;&lt;li&gt;End PreRender&lt;/li&gt;&lt;li&gt;Begin PreRenderComplete&lt;/li&gt;&lt;li&gt;End PreRenderComplete&lt;/li&gt;&lt;li&gt;&lt;span style="color:#990000;"&gt;Provider: SaveViewState&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#3333ff;"&gt;Consumer: SaveViewState&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Begin SaveState&lt;/li&gt;&lt;li&gt;&lt;span style="color:#990000;"&gt;Provider: SaveViewState&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#3333ff;"&gt;Consumer: SaveViewState&lt;/span&gt;&lt;/li&gt;&lt;li&gt;End SaveState&lt;/li&gt;&lt;li&gt;Begin SaveStateComplete&lt;/li&gt;&lt;li&gt;End SaveStateComplete&lt;/li&gt;&lt;li&gt;Begin Render&lt;/li&gt;&lt;li&gt;&lt;span style="color:#990000;"&gt;Provider: RenderControl&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#990000;"&gt;Provider: Render&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#990000;"&gt;Provider: RenderBeginTag&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#990000;"&gt;Provider: RenderContents&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#990000;"&gt;Provider: RenderEndTag&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#3333ff;"&gt;Consumer: RenderControl&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#3333ff;"&gt;Consumer: Render&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#3333ff;"&gt;Consumer: RenderBeginTag&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#3333ff;"&gt;Consumer: RenderContents&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#3333ff;"&gt;Consumer: RenderEndTag&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6581861420345779687-8417850009915770843?l=spdummies.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spdummies.blogspot.com/feeds/8417850009915770843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6581861420345779687&amp;postID=8417850009915770843' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581861420345779687/posts/default/8417850009915770843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581861420345779687/posts/default/8417850009915770843'/><link rel='alternate' type='text/html' href='http://spdummies.blogspot.com/2008/01/connected-webparts-lifecycle-in-detail.html' title='Connected Webparts Lifecycle in detail'/><author><name>Umhambi</name><uri>http://www.blogger.com/profile/16210376114551904111</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_Zm-WCJrHwzg/R58oIaeL7AI/AAAAAAAAAAQ/v24cF2Rhn2M/S220/IMG_0717.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581861420345779687.post-5614878262351003795</id><published>2008-01-30T05:49:00.000-08:00</published><updated>2008-01-30T06:13:49.073-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wss'/><category scheme='http://www.blogger.com/atom/ns#' term='title'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='definition'/><category scheme='http://www.blogger.com/atom/ns#' term='list'/><category scheme='http://www.blogger.com/atom/ns#' term='hide'/><category scheme='http://www.blogger.com/atom/ns#' term='field'/><title type='text'>Hidding Title Field in your Custom List Definition</title><content type='html'>Most of the time you want to get rid of the anyoing Default Field 'Title' you automatically get from the the Base List (Custom List) you are using in your Custom List Definition. Now there is not really a way to remove or delete this field, but you can hide it from your List by using the following tag:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#cc6600;"&gt;&amp;lt;Field&lt;br /&gt;ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}"&lt;br /&gt;Name="Title"&lt;br /&gt;StaticName="Title"&lt;br /&gt;DisplayName="Title"&lt;br /&gt;Type="Text"&lt;br /&gt;&lt;strong&gt;FromBaseType="TRUE"&lt;br /&gt;Required="FALSE"&lt;br /&gt;Hidden="TRUE"&lt;br /&gt;&lt;/strong&gt;SourceID="http://schemas.microsoft.com/sharepoint/v3"&lt;br /&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Note, that I tried to hide the Title Field by just applying the Hidden="True" parameter. That did not work. I really had to provide FromBaseType="True" and Required="False" as well to make it work. Hope that helps you if you get in troubles trying to hide the field.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6581861420345779687-5614878262351003795?l=spdummies.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spdummies.blogspot.com/feeds/5614878262351003795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6581861420345779687&amp;postID=5614878262351003795' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581861420345779687/posts/default/5614878262351003795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581861420345779687/posts/default/5614878262351003795'/><link rel='alternate' type='text/html' href='http://spdummies.blogspot.com/2008/01/hidding-title-field-in-your-custom-list.html' title='Hidding Title Field in your Custom List Definition'/><author><name>Umhambi</name><uri>http://www.blogger.com/profile/16210376114551904111</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_Zm-WCJrHwzg/R58oIaeL7AI/AAAAAAAAAAQ/v24cF2Rhn2M/S220/IMG_0717.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581861420345779687.post-7445909635079488089</id><published>2008-01-30T03:49:00.000-08:00</published><updated>2008-01-30T10:04:39.120-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wss'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='listtemplate'/><category scheme='http://www.blogger.com/atom/ns#' term='definition'/><category scheme='http://www.blogger.com/atom/ns#' term='exception'/><category scheme='http://www.blogger.com/atom/ns#' term='list'/><category scheme='http://www.blogger.com/atom/ns#' term='0x81070201'/><title type='text'>HRESULT: 0x81070201 Exception</title><content type='html'>Okay okay, this is actually something very basic, but it happend now a couple of times to me. If you work on a Feature that defines a custom SharePoint List, you can run into the following Error while activating it (in this case during Site Provisioning by definitions in onet.xml):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;strong&gt;The element 'MyList' of type 'ListInstance' for feature 'MyListFeature' (id: 794958c5-fede-4e1f-aa96-d9fcd087945e) threw an exception during activation: Exception from HRESULT: 0x81070201&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The reason for this error is, that SharePoint can't find the related schema.xml file for the list to define. This can happen, if&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;You simply forgot to write an schema.xml file&lt;/li&gt;&lt;br /&gt;&lt;li&gt;or, what is more realistic, the Name Attribute in ListTemplate is not the same as the Folder Name you have the schema.xml File stored in.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The Name-value of the ListTemplate tag must match the name of the folder you have your schema.xml file stored in:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#33cc00;"&gt;&lt;span style="color:#cc6600;"&gt;&amp;lt;ListTemplate&lt;br /&gt;Name="&lt;strong&gt;MyListDefinition&lt;/strong&gt;"&lt;br /&gt;Category="Custom Lists"&lt;br /&gt;DisplayName="MyList"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#33cc00;"&gt;&lt;span style="color:#cc6600;"&gt;...&lt;/span&gt;&lt;span style="font-size:0;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp3.blogger.com/_Zm-WCJrHwzg/R6Bw0qeL7CI/AAAAAAAAAAc/Pe1EkekcXmY/s1600-h/schema.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5161249223022996514" style="CURSOR: hand" alt="" src="http://bp3.blogger.com/_Zm-WCJrHwzg/R6Bw0qeL7CI/AAAAAAAAAAc/Pe1EkekcXmY/s320/schema.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;color:#33cc00;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6581861420345779687-7445909635079488089?l=spdummies.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spdummies.blogspot.com/feeds/7445909635079488089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6581861420345779687&amp;postID=7445909635079488089' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581861420345779687/posts/default/7445909635079488089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581861420345779687/posts/default/7445909635079488089'/><link rel='alternate' type='text/html' href='http://spdummies.blogspot.com/2008/01/hresult-0x81070201-exception.html' title='HRESULT: 0x81070201 Exception'/><author><name>Umhambi</name><uri>http://www.blogger.com/profile/16210376114551904111</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_Zm-WCJrHwzg/R58oIaeL7AI/AAAAAAAAAAQ/v24cF2Rhn2M/S220/IMG_0717.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_Zm-WCJrHwzg/R6Bw0qeL7CI/AAAAAAAAAAc/Pe1EkekcXmY/s72-c/schema.jpg' height='72' width='72'/><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581861420345779687.post-7189938333761102612</id><published>2008-01-16T06:13:00.000-08:00</published><updated>2008-01-29T23:44:44.007-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wss'/><category scheme='http://www.blogger.com/atom/ns#' term='connectionprovider'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='webpart'/><category scheme='http://www.blogger.com/atom/ns#' term='id'/><category scheme='http://www.blogger.com/atom/ns#' term='provider'/><category scheme='http://www.blogger.com/atom/ns#' term='attribute'/><category scheme='http://www.blogger.com/atom/ns#' term='consumer'/><title type='text'>Webpart beeing Provider and Consumer at the same time</title><content type='html'>This is basically a easy task to do, but the first time I really had to create such a webpart I made a tiny mistake during the implementation of the Provider/Consumer Interfaces and I ran into one of this terrible SharePoint errors.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The Problem:&lt;/strong&gt;&lt;br /&gt;I created a Webpart (based on System.Web.UI.WebControls.WebParts.WebPart) ...no problem&lt;br /&gt;I added the bits needed to Consume from another WebPart (I have to say that I was using a own defined Interface, pretty simple one) ...no problem&lt;br /&gt;I implemented another own defined Interface to act as a Provider WebPart for other webparts too... no problem&lt;br /&gt;Building Solution, deploying it, adding the Webparts to a page ...no problem&lt;br /&gt;Connecting my Webpart to a Provier Webpart ...no problem&lt;br /&gt;Now, connecting a consumer to my Webpart&lt;strong&gt;... BIG PROBLEM!&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The message I got trying to connect the a consumer webpart to my webpart was pretty strange: "There is a problem with one ore more connections, please check one of the webparts for more details" -&gt; but there was no information to find -&gt; thanks SharePoint...&lt;br /&gt;&lt;br /&gt;anyway, I tried a hell of things till I found out what was actually the problem.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The Solution:&lt;/strong&gt;&lt;br /&gt;It is quit easy - To act as a Provider and Consumer Webpart at the same type, in the Consumer- as well as in the Provider-Implementation, the ConnectionProviderAttribute ID must be defined. I usually just defined the DisplayName by taking the first overload of ConnectionProvider. But in case of having multiple ways of communication, the provider and consumer attributes muts be uniquely signed.&lt;br /&gt;&lt;br /&gt;Does not work:&lt;br /&gt;&lt;span style="color:#006600;"&gt;&lt;span style="font-family:courier new;"&gt;[ConnectionProvider("A parameter value")]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public IMyProvider GetMyProvider()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;return this;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Works:&lt;br /&gt;&lt;span style="font-family:courier new;color:#006600;"&gt;[ConnectionProvider("A parameter value",&lt;strong&gt;"ParamValue1"&lt;/strong&gt;)]&lt;br /&gt;public IMyProvider GetMyProvider()&lt;br /&gt;{&lt;br /&gt;return this;&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In the example above, the Provider Implementation gets a unique ID called "ParamValue1". However, note that the consuming Webpart must use the same ID-value to establish the connection. Otherwise, it will not work.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6581861420345779687-7189938333761102612?l=spdummies.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spdummies.blogspot.com/feeds/7189938333761102612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6581861420345779687&amp;postID=7189938333761102612' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581861420345779687/posts/default/7189938333761102612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581861420345779687/posts/default/7189938333761102612'/><link rel='alternate' type='text/html' href='http://spdummies.blogspot.com/2008/01/webpart-beeing-provider-and-consumer-at.html' title='Webpart beeing Provider and Consumer at the same time'/><author><name>Umhambi</name><uri>http://www.blogger.com/profile/16210376114551904111</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_Zm-WCJrHwzg/R58oIaeL7AI/AAAAAAAAAAQ/v24cF2Rhn2M/S220/IMG_0717.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581861420345779687.post-935820909902986518</id><published>2008-01-04T05:07:00.000-08:00</published><updated>2008-01-29T05:40:44.311-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wss'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='new blog'/><category scheme='http://www.blogger.com/atom/ns#' term='welcome'/><title type='text'>New Blog</title><content type='html'>Hi and welcome to my new blog.&lt;br /&gt;&lt;br /&gt;Since the beginning of 2008 I am working for a new company. So I thought: New Company - New Blog!&lt;br /&gt;&lt;br /&gt;In this BLOG I will mainly write about my daily work, which is all about developing Windows SharePoint Services (WSS) and Microsoft Office SharePoint Server (MOSS) solutions for customers in Switzerland.&lt;br /&gt;&lt;br /&gt;Hope to server you soon with some interesting posts!&lt;br /&gt;&lt;br /&gt;Have fun&lt;br /&gt;Umhambi (Xhosa: Traveler)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6581861420345779687-935820909902986518?l=spdummies.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spdummies.blogspot.com/feeds/935820909902986518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6581861420345779687&amp;postID=935820909902986518' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581861420345779687/posts/default/935820909902986518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581861420345779687/posts/default/935820909902986518'/><link rel='alternate' type='text/html' href='http://spdummies.blogspot.com/2008/01/new-blog.html' title='New Blog'/><author><name>Umhambi</name><uri>http://www.blogger.com/profile/16210376114551904111</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_Zm-WCJrHwzg/R58oIaeL7AI/AAAAAAAAAAQ/v24cF2Rhn2M/S220/IMG_0717.jpg'/></author><thr:total>0</thr:total></entry></feed>
