Tuesday, September 23, 2008

Sharepoint list or library corruption bug: Do not set the “required” value on any Sharepoint column

I don’t generally post on Sharepoint bugs, though I run into a lot of them at work. I’ll make an exception here because this is a nasty bug, and I wasn’t able to locate any descriptions of via Google. So if anyone else runs into it, this post might be helpful.

This bug manifested with a Sharepoint 2007 document library. This library had custom fields (columns, attributes, metadata, etc) like “group”, “tags”, “author” etc.

One day we were unable to see or edit those custom columns in the standard (web) view. It was as though they had vanished. We could see them in the Access/Excel-like “data sheet” view, so the data was there. We could even edit the values in that view.

It wasn't easy for our IT group to figure out what had happened. It seems that under some circumstances setting a field as "required", when rows already exist with null values for the field, will corrupt a Sharepoint list.

It can only be repaired, with difficulty using, Sharepoint Designer.

There is no fix date from Microsoft this bug. For the time being the required attribute value should not be used in a Sharepoint list.

There are worse things about Sharepoint (the world’s most inane file share and document management system) but they’re design flaws, not bugs. Up to now this is the nastiest SP 2007 bug I’ve personally experienced.


Anonymous said...

I have same problem. i can't see or edit metadata fields.

I have custom content type with custom columns. Document corrupts when metadata is modified and then document is edited with Word, Excel...

After that metadata fields are gone. I can only see document name field. SharePoint tells that content type for document is "Folder".

This is strange. We have no idea how to fix this.

Grace said...


Could you explain a little more on how you fixed this issue with SharePoint Designer? I am having the same issue on many libraries and need so help!


JGF said...

Alas, so long ago I don't remember. It worked, but I can't say how!