Skip to main content

Posts

Showing posts from April, 2010

XrmToolBox: AutoNumberUpdater - new StateCode filter

*.dwp and *.webpart confusion about Web Part implementation and usage in SharePoint

Recently I was really confused about which type of web part deployment file extension I should use. After some research I figured the following out (which might be interesting for all SharePoint newbies): .dwp is a web part description xml file used prior and up to SharePoint 2007/2010, therefore is still supported .webpart is the newer extension which came with MOSS 2007 So whats the true difference: .DWP: It uses the following namespace xmlns=http://schemas.microsoft.com/WebPart/v2 by default. The markup looks something like: <? xml version ="1.0" ? > < WebPart xmlns ="http://schemas.microsoft.com/WebPart/v2" > < Assembly > AssemblyName(with no .dll extension), Version=VersionNumber, Culture=Culture, PublicKeyToken=PublicKeyToken </ Assembly > < TypeName > WebPartNamespace.WebPartClassName </ TypeName > < Title > DefaultWebPartTitle </ Title > < Description > WebPartDescr

SP Error: A Web Part you attempted to change is either invalid or has been removed by another user.

Today I tried to get a custom Sharepoint web part to work. It was no fun because I had a pretty simple (once you figured it out) and tedious error. I added my custom web part on a standard SharePoint web part page and tried to edit the web part properties. I tried to just click on OK, Apply or Cancel I always got the following annoying message: A Web Part you attempted to change is either invalid or has been removed by another user. After spending a couple of hours, even with an experienced collegue, I finally found an interesting article: http://williamvanstrien.blogspot.com/2010/01/alluserswebpart-and-spwebapplicationapp.html William pointed out that it is a really bad thing to set the ID of a webpart control: "... When you add a control within an .aspx file, Visual Studio automatically add a default 'ID' property to the control. For the default WebPart however this is not needed, the property is actually set when creating a publishing page off this PageLayout. But