- 0 Comments
- January 15, 2015
- by Kim Ryan
- Leave a comment
SharePoint: Delete a Read-Only Site Column
Today I was asked a very interesting question, which turned out to have a simple solution. A user had created a custom content type and wanted to delete one of the site columns, but she could not click on the column. The column was apparently set to read-only. That’s all the information I was given.
By applying my SharePoint detective skills, I was able to determine that someone had created an InfoPath form with a site column, set it to Read-Only, and promoted it to a site collection content type. At first, I thought I could undo it by performing the same procedure in InfoPath, but in reverse; remove read-only and publish the form, re-promoting the field to SharePoint. However InfoPath turned out to be a dead end. The read-only option was not available for the field.
Next, I tried SharePoint Designer, but I could not find the field there at all. For some reason, it was not listed in the custom content type site collection columns.
After this, I went into the forums and found quite a bit of discussion on using PowerShell to update and delete site columns as well as a few people who suggested updating the SQL Content database itself. Since I did not want to try updating the database (read: risky, unsupported by Microsoft), I used PowerShell to retrieve the field’s XML schema and then tried to get the field by internal name and then System GUID. Both of these returned a null array, which was strange, since I was copying these values straight from the XML schema.
After all that, I read something about a similar problem solved with SharePoint Manager. I delved down into the site collection and found at least 5 site columns (fields) with the same name. However, only one of them was set to read-only. I switched the field to read-only “false,” saved my changes, refreshed SharePoint, and – voilà! – I could now select the site column in the content type. I clicked on the site column, hit Delete, OK, and problem solved.
ANSWER: Try SharePoint Manager first. You may be surprised by all the things you can do with it!