We're working on a SharePoint 2010 publishing site that has been deployed to our client's environment. We need to add 5 new site columns and add them to one of the content types (that's based on Page).
Typically we would do this through the feature upgrade route, but we're seeing the same issues that I'll be describing in this question, so we decided to step back and try something really simple.
We added the site columns declaratively through CAML and upgraded our WSP. We've always found that new site columns don't appear immediately in the Site Columns collection, deactivating and reactivating the containing feature fixes that.
The next step is to add the columns to the content type using the UI. We do this and check the checkbox that says "upgrade all content types based on this content type". This takes an unusually long time, approximately 20 to 25 minutes. Afterwards, the columns appear on the content type.
However, when I go to a page library deep in the site that contains pages based on this content type, I don't see the columns. If I go the Page Library settings and choose the content type that's bound to the Pages library (through a content type binding), the columns do not appear in the list of columns of the content type.
If I try to add the columns, I get a SharePoint exception that they already exist. The problem is the corresponding Publishing page layout doesn't see the columns on the content type.
We see the exact same behavior when trying to do this via a feature upgrade, so we decided to try this simple approach instead to try and isolate the problem.
Appreciate any tips!