SharePoint – The column name that you entered is already in use or reserved.

I encountered this problem in a WSS 3.0 environment. Hopefully this can help newer versions of SharePoint as well.

The scenario

My customer has a old WSS 3.0 environment with a huge site collection. It’s a root-site with 200 sub sites with sub sites. This is a free for all SharePoint with no boundaries. Which makes the maintenance a pain in the ass.

The problem

Someone (with to high permissions) renamed the built in field “Title” to “DayReportDate” on the root-site and published it over all sites changing all content types that inherit from Object.. which is well, all. And users on sub sites discovered this pretty quickly and changed their child content types title field back to “Title”. This caused a huge problem since when trying to rename the root-site title field back to “Title”, SharePoint would say “The column name that you entered is already in use or reserved.” even if it’s just reserved on one of the sub sites.

Everyone panicked because their title field was changed to “DayReportDate” and more than 200 sites where affected by this mistake. Having this problem for 6 months they decided that someone with SharePoint experience should take a look at the problem so the case landed on my desk. Yippie!

A problem for me was that I had no server access, so I could not create a console application (or likewise) using the SharePoint server API to correct it. And since it was WSS 3.0 there would be no PowerShell either. So I simply had to fix it on the client side.

I found two solutions.

Solution / workaround

1 (preferred)

First and the by far simplest solution was by JavaScript.

Pull up which ever developer tool that is associated you browser.

Run the following JavaScript in the console.

doesFieldNameConflict = function(){};

This will replace the conflict check function.

Click OK.

The warning will not appear.

2

The second and the one I used since I came up with the first one afterwards (which is a bummer).
This one is based on using the SharePoint web service webs.asmx.

Create a new console application

Add a web reference
(I used a Web Reference instead of a Service Reference)
http://sharepointsever/_vti_bin/Webs.asmx
I called my namespace SPServicesWebs.

This will reference to Field with internal name “Title” and rename it with DisplayName “Title”.

After this is done, you can edit the field in you site collection root and just click OK to publish the change.

HTH

 

About Tobias Eriksson