Suppose we have a defined a list schema in a site which is in production and has data in to it. it is for a client & maintained by the admin of the client.

Now I want to add a column to it. What is the best approach to do that. adding new feature every time is not good option for production environment. What other option?


Options I would see an upgrade feature (http://blogs.msdn.com/b/sanjaynarang/archive/2012/02/06/feature-upgrade-adding-fields-to-content-types-and-sharepoint-application-lifecycle-management.aspx or the series of Chris O'Brien http://www.sharepointnutsandbolts.com/2010/06/feature-upgrade-part-1-fundamentals.html), which could

  1. If your list is based on a content type - upgrading solution with the new CT definition could solve the issue simply upon Update
  2. If your list has columns directly added, of course adding a column programatically, again via the same Upgrade feature.

Bottom line, you should plan really upgrade cycles to handle minor/major releases, while considering solution breakers, particularly when changing schema frequently. Rather plan base-content types and derive children so you could support more flexibility.

|improve this answer|||||
  • 1
    And in conjunction with content type hubs, if you don't create features to upgrade the definitions, you can add the fields through the UI and update the entire farm. – Eric Alexander May 10 '13 at 16:45
  • In short Feature upgrade is the best option? Pl reply – Mdh22 May 12 '13 at 12:07
  • Feature upgrade would allow you to control what and how gets deployed. – Marius Constantinescu - MVP May 12 '13 at 17:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.