Another small detour before I’ll present what to do about this mess.
It should be stressed that any modification of the site content type through the web or object model, will disconnect the site content type from the underlying xml metadata file. STSAdm I’ve made zero attempts to optimize the code.
The Power Shell worked and the Site Column was successfully created using the method. This was achieved by modifying the script to remove the xmlns attribute :- $remove Namespace String = 'xmlns=" [xml]$element File = Get-Content .\myelement.xml; $field Xml = $element File.
Whilst researching the different options for the upgrade process I stumbled over a problem when using Power Shell to add a field to the Site Collection. The field’s schema was displayed using the following script:- node to this child node. Replace($remove Namespace String, ""); $added Field Name = $contenttypehub.
This problem really only appears when you are using the Field within a Content Type that is being published to other site collections as part of a Content Type Hub. However, when it came to pushing the changes out to the other site collections using the Managed Metadata’s Content Type Subscriber timer job the following errors were logged to the Share Point ULS Log:- $contenttypehub = Get-SPSite -Identity [xml]$element File = Get-Content .\myelement.xml; $field Xml = $element File. Unfortunately Share Point is not expecting this additional attribute as part of the Field’s Schema Xml and it causes the validation of the Xml to fail. The solution was to modify the string being passed into the Add Field From Xml() function.
There are two policies: Live Update Settings and Live Update Content.
Live Update Settings policy controls which channels are enabled and other settings, such as scheduling.
Some things to note: it doesn't matter what the Site Collection template that you use but I would suggest using a blank template since you dont get any added overhead of some of the lists that are created.
1) Create a Site Collection and enable the 'Content Type Syndication Hub' feature in Site Collection Settings.
If it happens you my reestablish the link as described here. It not only means that you should be careful about what you do to your content types, but it also means that there is no simple way to propagate the changes code wise – we can’t just update the site content type (re-add fields) and have the changes propagate through the object model. It doesn’t really matter how long it takes, does it?
😦 Finally I’m ready to present the code I used to propagate changes to my content types. Give it 10 minutes till a couple of hours for huge site collection (I’ve tested with about 400 sub sites).
Share Point does not check what fields you’ve added/deleted/changed since you last deployed your content type feature, so you don’t have the “luxury” (it bloody well work!
) of choosing whether or not to propagate changes down to inherited content types as in the web interface or object model. I’ll take a small detour here to explain the concept of list content types. the pages document library for publishing webs) a new content type that you are assigning to the list and with the same name.
Primary key type compatibility The “object_id” field doesn’t have to be the same type as the primary key fields on the related models, but their primary key values must be coercible to the same type as the “object_id” field by its which doesn’t have a maximum length defined, however this may incur significant performance penalties depending on your database backend.