Nick Grattan's Blog

About Microsoft SharePoint, .NET, Natural Language Processing and Machine Learning

Problem Solved: Amnesia Problem: Multiple Content Types on Libraries

with 6 comments

In this blog post I describe a problem whereby document libraries having multiple content types use the default content type when documents are saved regardless of the selected content type.

Well, thanks to Kevin at Dublin City Council, (that’s Dublin, Ireland) here’s a solution to this problem. It’s all to do with how you define the template for the content type using “Advanced Settings” for a content type:

ct3.PNG

First, if you “Upload a new document template” the problem described above does not occur. The correct content type will always be selected regardless of how many content types there are associated with the document library. However, your document template is not under version control and becomes more difficult to update using this option.

I normally use the “Enter the URL of an existing document template” and add the URL to a document library containing content type templates (let’s call it “Content Type Templates Library”). That way, if the content type template is updated in this document library the new version will immediately be used. This is the situation where the wrong content type will be selected.

To solve the problem (and this is where Kevin comes in), you need to associate the content types with the “Content Type Templates Library”. The documents representing the content type templates need to have the content type they are being used in. Let me give an example:

Say you’ve got two content types: “CT1” and “CT2” and these use document templates called “DT1.doc” and “DT2.doc” respectively. The documents “DT1.doc” and “DT2.doc” are stored in a document library called “Content Type Templates Library”. Now, you need to associate content types “CT1” and “CT2” with “Content Type Templates Library”. Further, “DT1.doc” must use “CT1” and “DT2.doc” must use “CT2”.

Once this has been setup, the content types “CT1” and “CT2” can be associated with a document library in which users will create documents. Now, new documents created by users will have the correct content type associated with them.

Written by Nick Grattan

October 30, 2009 at 8:27 am

6 Responses

Subscribe to comments with RSS.

  1. Nick, I’d say the problem is part solved. If you set things up as you describe, it works OK, but the content type associated doc column fields only appear in the task pane AFTER the document is saved for the first time.

    In addition, this approach only works if you use a document (.doc) as the template for new docs. If you try to use a Word template (.dot) then the content type amnesia returns.

    I’ve not tested this yet with Word 2007 templates (.dotx), and using the DIP instead of the task pane. In our case the majority of our users are still using Office 2003, so it really doesn’t help us if these problems are fixed in by installing the Office 2007 client software.

    Greg

    November 11, 2009 at 1:58 pm

  2. I’ve encountered exactly the same issue – when I created my Content Types as a Feature and deployed them to my Site, any Lists that were using them were not picking up the correct Content Types.

    After a bit of playing, I found that if I re-applied the DocumentTemplate property for the Content Type and reset the children, everythings worked!

    I made a note of it here: http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopment/thread/c06282b6-43a7-436f-9d2c-b4ff9b3cb5b9

    Ryan

    April 8, 2010 at 11:02 am

    • Ryan, Thanks for the tip and the link. Regards, Nick.

      Nick Grattan

      April 8, 2010 at 11:38 am

      • In addition, adding the content type to the templates library causes it to appear on the template library’s New button, when you only want it to appear on the New button for the document library. Having it on the former makes no sense, but deselecting it from the button order also hides it from the dropdown for the Content Type field if you need to associate it to your template there.

        – Ben

        Ben

        July 13, 2012 at 5:01 pm

      • Ben, Thanks for your comment, regards, Nick.

        Nick Grattan

        July 14, 2012 at 9:33 am


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: