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?