I was hammered by a bug found by our client. They were trying to reorder fields of a custom list and for some reason SharePoint threw the following error.
After hours and hours of investigation I finally found out what the problem is.
There were spaces in the name property of the fields. In theory SharePoint should have converted the spaces into “_x0020_” and everything should be okay. However reordering fields of this custom list produces the error above.
SharePoint does not like:
<Field ID="{176C37CB-99E2-4730-8B61-C994151094B8}" Name="Field 1 With Spaces" StaticName="Field1WithSpaces" SourceID="http://schemas.microsoft.com/sharepoint/v3" Group="FESA.SPS2010.Internet" DisplayName="Field 1 With Spaces" Type="Note" NumLines="10" RichText="TRUE" Description="Field 1 With Spaces" RichTextMode="FullHtml"></Field>
<Field ID="{DC7451BC-BF4C-43F1-B443-E297190C008A}" Name="Field 2 With Spaces" StaticName="Field2WithSpaces" SourceID="http://schemas.microsoft.com/sharepoint/v3" Group="FESA.SPS2010.Internet" DisplayName="Field 2 With Spaces" Type="Note" NumLines="10" Description="Field 2 With Spaces" RichText="TRUE" RichTextMode="FullHtml" />
But it likes:
<Field ID="{176C37CB-99E2-4730-8B61-C994151094B8}" Name="Field1WithoutSpaces" StaticName="Field1WithoutSpaces" SourceID="http://schemas.microsoft.com/sharepoint/v3" Group="FESA.SPS2010.Internet" DisplayName="Field 1 Without Spaces" Type="Note" NumLines="10" RichText="TRUE" Description="Field 1 Without Spaces" RichTextMode="FullHtml"></Field>
<Field ID="{DC7451BC-BF4C-43F1-B443-E297190C008A}" Name="Field2WithoutSpaces" StaticName="Field2WithoutSpaces" SourceID="http://schemas.microsoft.com/sharepoint/v3" Group="FESA.SPS2010.Internet" DisplayName="Field 2 Without Spaces" Type="Note" NumLines="10" Description="Field 2 Without Spaces" RichText="TRUE" RichTextMode="FullHtml" />
So the lesson is not to have any spaces (or any invalid characters) in the name of the Fields.
Have a great day everyone.