Running SharePoint 2007, WSS 3.0. Deployment is done using WSPBuilder 1.06.
Question: I have two WSP solutions for two different levels of complexity in our SharePoint sites. One WSP has a feature ("C") that contains 2 sets of Fields. The other WSP has two separate features ("A" and "B") that reference those same sets of Fields with the same Guid and Display Name, but different internal names. What is it that determines why feature "A" has priority for internal names over "C", but "C" has priority for the fields in "B"? And why does this priority exist when I don't even activate the feature "C" in the first place?
Our project site system runs two kinds of sites - full sites that have everything and lightweight sites that setup the same libraries but do not have the workflows and other automation aspects present in the full site. This is maintained as a series of features in two DLLs - "Solutions" and "Lite" respectively.
Solutions was first developed to support one content type (drawings), but then upgraded to support a second content type (vendors) via a new feature. The field types have an internal name corresponding to the content type, like "dwgNumber" for Drawing Number. Lite was developed afterwards, and I created clones of those two content types and stored them in a single feature. Perhaps this was a bad idea on my part, but I decided to save myself effort and re-used the Guids for the fields from Solutions. At the same time, I simplified the internal names to just strip the spaces from the display name, so you have "DrawingNumber" for Drawing Number.
This was all fine until I had to deploy a new site that uses Solutions. When I activated the first feature for drawings, things were fine. But when I activated the feature for vendors, everything broke down. Looking at the site, I noticed that the internal names used for the vendors were the settings for Lite - but I never even activated Lite! The most perplexing part is that the fields from the drawings feature are not overridden, but they are deployed as part of the same solution.
I've since did a minor fix by uninstalling the WSP for Lite, then reactivating the Solutions feature for vendors, and then reinstalling Lite. I may eventually resort to just using the same set of internal names within the Lite solution as well, but I would really like to know why there is this weird inconsistent set of priorities.