SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I created a site definition to use as the base for project workspaces. I then staple features to the definition as needed. In one of the features I instantiate lists and document repositories. I now have the requirement to add an additional instance of a document repository.

Adding the provisioning of the list to the definition isn't a problem, and understand the existing sites will need to be brought up to date manually.

What I would like to be able to do is update the feature I have stapled, redeploy, deactivate on each site and then reactivate to have the site operate with the new feature. But from the experiments I've done and the articles I've been reading, it just doesn't seem to work that way.

I could change the feature to instantiate the lists in a feature reciever only if they do not currently exist, but I would like to keep it in CAML if I can as that is easier to see what is going on from the project level view of the solution.

This is getting fairly close to a best practices question, but what steps should I go thru to accomplish the above? What pitfalls should I be aware of while doing it?


share|improve this question
up vote 1 down vote accepted

By using feature upgrade you can use UpgradeActions in your feature manifest to apply a manifest for upgrade only. You can also define code that is triggered in a FeatureUpgrade event.

Check out Chris O'Brien's article series here.

share|improve this answer
That's of course for SP2010+. – Alex Angas Apr 15 '11 at 3:28
ah yeah. Tagging version should be mandatory ;-) – Anders Rask Apr 15 '11 at 6:42
ha ha! – Alex Angas Apr 15 '11 at 21:26
ha ha! :) – Alex Angas Apr 15 '11 at 21:41

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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