Reputation: 81
I have sucessfully created and deployed a couple of new content types in Visual Studio. One is based on a Document Set and the others are based on Documents. What I want to do is specify the "Default Content Type", "Shared Columns" of the Document Set. I also want to specifiy my addition document types to be in the "Allowed Content Type" list for the Document Set. I know how to do this the the SharePoint UI. How can I accomplish this through my Visual Studio Project?
Upvotes: 1
Views: 1847
Reputation: 81
I Found the Solution, with thanks to Google connecting me to people smarter then me. In the Content Type of the Document Set, you need to specify the XMLDocuments elements.
<XmlDocuments>
<!-- List of all fields [site columns] shared between all content types and the document set. -->
<XmlDocument NamespaceURI="http://schemas.microsoft.com/office/documentsets/sharedfields">
<sf:SharedFields xmlns:sf="http://schemas.microsoft.com/office/documentsets/sharedfields" LastModified="1/1/2010 08:00:00 AM">
<!-- Add shared fields here using the syntax below-->
<!--<SharedField id="00000000-0000-0000-0000-000000000000" />-->
</sf:SharedFields>
</XmlDocument>
<!-- List of all content types that are allowed in the document set. -->
<XmlDocument NamespaceURI="http://schemas.microsoft.com/office/documentsets/allowedcontenttypes">
<act:AllowedContentTypes xmlns:act="http://schemas.microsoft.com/office/documentsets/allowedcontenttypes" LastModified="1/1/2010 08:00:00 AM">
<!-- Add content types that will be used in the document set using the syntax below -->
<!--<AllowedContentType id="00000000-0000-0000-0000-000000000000" />-->
</act:AllowedContentTypes>
</XmlDocument>
<!-- List of all fields [site columns] that should appear on welcome page. -->
<XmlDocument NamespaceURI="http://schemas.microsoft.com/office/documentsets/welcomepagefields">
<wpFields:WelcomePageFields xmlns:wpFields="http://schemas.microsoft.com/office/documentsets/welcomepagefields" LastModified="1/1/2010 08:00:00 AM">
<!-- Add welcome fields here using the syntax below -->
<!--<WelcomePageField id="00000000-0000-0000-0000-000000000000" />-->
</wpFields:WelcomePageFields>
</XmlDocument>
<!-- List of all default documents associated with the content types. -->
<XmlDocument NamespaceURI="http://schemas.microsoft.com/office/documentsets/defaultdocuments">
<dd:DefaultDocuments xmlns:dd="http://schemas.microsoft.com/office/documentsets/defaultdocuments" AddSetName="TRUE" LastModified="1/1/2010 08:00:00 AM">
<DefaultDocument idContentType="0x010100c462526dfcb94db3ab99dc52649a7f66" name="Template.docx" />
</dd:DefaultDocuments>
</XmlDocument>
<XmlDocument NamespaceURI="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms">
<FormTemplates xmlns="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms">
<Display>ListForm</Display>
<Edit>ListForm</Edit>
<New>NewForm</New>
</FormTemplates>
</XmlDocument>
Upvotes: 1