My question is: how do I add an existing content type (say the OOTB "Contact" content type) to an list instance definition (for "Shared Documents") in my site definition solution?
Background: I have a solution (WSP) that originated from a "Save Site as Template" WSP. In it, there are several features that will provision list instances when the site is created. I have edited some of the definitions for the list instance (both manifest elements.xml and the schema.xml), and newly provisioned sites will have these "updates" - not a problem. However, I want to modify one of the document libraries, so that it has an additional content type, (say "Contact") - then with "feature upgrading", existing sites and newly created sites will have this new content type in that document library.
From a Feature Upgrading (ALM) perspective, how should this be done? I have been scouring sites and books for the answer to this question - and so far I haven't seen any direct answers to this...(although this thread seems close) Many of the answers are about updating content types by adding fields.
I understand I can force this via OM (PowerShell), but I would like to leverage feature versioning for this. I think I'll need to do the bulk in code (programmatically) - but any guidance would be very helpful...