I've used AC's WCM Custom Commands for STSADM successfully in the past and they're extremely handy. In short, I create my site columns and content types in the SharePoint UI and then run Andrew's GenSiteColumnsXml and GenContentTypesXml to dump the XML required for incorporation in a feature. Today I hit a wee snag when attempting to activate a feature containing fields and content types generated from these commands: the operation wouldn't complete until terminated forcefully and the CPU was meanwhile running at 100% (infinite loop anyone?).
Luckily JoeB came across the same problem in the past and was kind enough to post his fix in the comments on Andrew's blog (although I also noticed another commenter noted the issue in production after implementing JoeB's fix...). Andrew says these commands were built using the 80-20 rule: they'll get you 80% of the way there and you're on for the rest. Fair enough—the commands are extremely handy and I reckon they go well beyond the 80% mark. That said, these are some of the things I fix up after generating the output; I'll list JoeB's fix here too:
Fields
This makes updating the feature easier:
- Add the DisplaceOnUpgrade="TRUE" attribute
I've read these aren't meant to be included explicitly but the documentation, useful as it is, indicates they're optional anyway:
- Remove the SourceId attribute
- Remove the StaticName attribute
These can go without any consequence I've noticed:
- Remove the Version attribute
- Remove the Required="FALSE" attribute
These seem to come out if you muck around with the fields too much in the UI:
- Remove the PITarget attribute
- Remove the PrimaryPITarget attribute
- Remove the PIAttribute
- Remove the PrimaryPIAttribute
- Remove the Aggregation attribute
- Remove the Node attribute
- Remove the ContentType field altogether (SharePoint Manager 2007 indicates it's added automatically even if not specified)
Content Types
JoeB's fix to the 100% CPU issue:
- Add NamespaceURI="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms" to the XmlDocument element
(Note you may also be able to remove the XmlDocuments node altogether).
No comments:
Post a Comment
Spam comments will be deleted
Note: only a member of this blog may post a comment.