SharePoint 2010 Content Type Hub

by Marcel Medina 1. August 2010 07:52

Hi folks,

In this article we will check out a new feature in SharePoint Server 2010 called Content Type Hub, which allows the centralisation and sharing of Content Types through the Metadata Service Application. You will understand how it works, how to configure it, how to publish and consume Content Types and also some troubleshooting.

How it works

Widely discussed when using MOSS 2007, the Content Type Sharing was always problematic, because once the Content Types are created in a single Site Collection, they cannot be shared among other Site Collections (there is no OOTB resource for that).

This new feature is available through the Metadata Services Application, which maps the Site Collection in which the Content Types are shared, working like a Hub.

The Figure 1 below displays how a Content Type Hub works:

 MSA
Figure 1 – The operation of a Content Type Hub (Publisher x Subscribers)

The concept of its operation is very simple, basically the Content Type Hub publishes the Content Types and through the Metadata Service Application they are replicated to the Subscribers. These subscribers can be Site Collections that are in different Web Applications even in different Farms (if you wish it).

Content Types Synchronism is done by 2 Timer Jobs that are executed in the background. They are:

  • Content Type Hub – Responsible for managing the Content Types to be published.
  • Content Type Subscriber – Responsible for publishing the Content Types from the Hub to the Content Type Gallery of the Site Collection.

Configuration

Site Collection (Content Type Hub)

A Site Collection needs to be created firstly to serve as the Content Type Hub, in order to do that go to the Central Administration > Application Management > Create Site Collections and create a new Site Collection, according the Figure 2:

 sitecol
Figure 2 – Site Collection Creation

Shortly after that, enable the Feature Content Type Syndication Hub for the Site Collection in the Site Actions > Site Settings > Site collection features, according the Figure 3:

 feature1
Figure 3 – Feature Activation - Content Type Syndication Hub

Note: At the moment this Feature is activated the Site Collection is provisioned as the Content Type Hub.

Metadata Service Application

The Metadata Application Service is a service for sharing metadata, whose main feature is the storage of keywords and term sets (which is not discussed in this paper) and as optional feature to serve as a Hub for Content Types.

In the Farm is possible to have zero or more Metadata Service Applications and this criterion depends entirely on the Design of your solution. In this approach we need only one running service application whose connection will consume only one Content Type Hub. In order to consume more than one Content Type Hub, you need to create another service application for that. This is applicable in case you want to create different scopes for Content Types, e.g. the separation of Content Type Hubs for consumption in an Intranet Web Site and the other one in an Internet Web Site.

Here we are addressing only the planning of the Metadata Application Service as a Hub for Content Types, but if you're interested in exploring more about this service application, see the references in this article.

The Metadata Service Application can be created through Central Administration > Application Management > Manage Service Applications > New > Managed Metadata Service. The Figures 4 and 5 display the necessary data for that:

 metadata3
Figure 4 – Creating a new Metadata Service Application (1/2)

 metadata4
Figure 5 – Creating a new Metadata Service Application (2/2)

Note: An important point to be commented is that once the URL Configuration for the Content Type Hub is set, this cannot be changed by the user interface. If you want to change it after the Service Application is created, use this approach for updating the Metadata Service Application.

As we will not use the Metadata Service Application for storing keywords and term sets, disable the default storage location of this service application in Central Administration > Application Management > Manage Service Applications by selecting the Managed Metadata Service Connection and clicking Properties, according the Figure 6:

 metadataconn
Figure 6 – Settings of the Metadata Service Connection (1/2)

Shortly after that, uncheck the checkboxes according the Figure 7:

metadataconn2
Figure 7 – Settings of the Metadata Service Connection (2/2)

OBS: Only one default storage location for keywords and term sets is allowed in a Web Application, thus let these options available until you decide to use them.

Publishing

The Site Columns and Content Types referenced in the posts Creating Site Columns Programmatically via XML and Creating Content Types Programmatically via XML are going to be used in the Hub, because they will serve us as examples of Content Types to be published.

Note: Just deploy the Site Columns using the script provided. Use another approach for deploying the Content Types, according to this post SharePoint Lesson Series – Lesson 2 – Content Types – Part I (not migrated yet. Ask me for the material if you are interested.)

Once these objects are created, start publishing the Content Types. This task can be done manually or programmatically. I'll show you both.

It is worth remembering that, only for purposes of understanding, Content Type Syndication is the definition to the way that Content Types are organized and shared between Lists and Libraries, which is precisely what we are doing with their publishing using the Content Type Hub.

Manual

In this type of publishing go to Site Actions > Site Settings > Site Content Types and for each Content Type created, under the Settings go to Manage publishing for this content type as shown in the Figure 8 below:

publishing
Figure 8 – Manual Publishing of Content Types (1/2)

Shortly after that, one of the options for publishing is available, according the Figure 9:

publishing2  
Figure 9 – Manual Publishing of Content Types (2/2)

Note: Because we are publishing it for the first time, only the Publish option is available. If you have already published the Content Type, the other two options are available and the current disabled.

Just for clarification, I am commenting on the publishing options:

  • Publish – The Content Type is delivered for being consumed in other Site Collections that reference it.
  • Unpublish – The Content Type is retracted. Its copy remains in the other Site Collections, however its status changes to be no longer Read-Only.
  • Republish – Redo the Content Type Publishing. It should be applied in cases where there was some change in it.

Coding

If you prefer to automate the publishing process (especially if you have multiple Content Types), use the code below for this task.

Code Snippet
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.IO;
  6. using CommonLibrary;
  7. using Microsoft.SharePoint;
  8. using Microsoft.SharePoint.Taxonomy;
  9. using Microsoft.SharePoint.Taxonomy.ContentTypeSync;
  10. using System.Configuration;
  11.  
  12. namespace PublishingContentTypes
  13. {
  14.     public class Program
  15.     {
  16.         public static void Main()
  17.         {
  18.             try
  19.             {
  20.                 string url = ConfigurationManager.AppSettings["Url"].ToString();
  21.                 bool publish = bool.Parse(ConfigurationManager.AppSettings["Publish"].ToString());
  22.  
  23.                 using (SPSite site = new SPSite(url))
  24.                 {
  25.                     using (SPWeb web = site.RootWeb)
  26.                     {
  27.                         string contentTypeXml = Path.GetFullPath("ContentTypes.xml");
  28.  
  29.                         List<string> list = XMLHelper.ReadXML(contentTypeXml);
  30.  
  31.                         foreach (string item in list)
  32.                         {
  33.                             SPContentType ctype = web.ContentTypes[item];
  34.                             if (ctype != null)
  35.                             {
  36.                                 if (publish)
  37.                                 {
  38.                                     // Publishing
  39.                                     ContentTypeHelper.ContentTypePublish(site, ctype);
  40.                                 }
  41.                                 else
  42.                                 {
  43.                                     // Unpublishing
  44.                                     ContentTypeHelper.ContentTypeUnPublish(site, ctype);
  45.                                 }
  46.                             }
  47.                         }
  48.                     }
  49.                 }
  50.             }
  51.             catch (Exception ex)
  52.             {
  53.                 Console.WriteLine(ex.ToString());
  54.             }
  55.         }
  56.     }
  57. }

Note: Be aware of the utilisation of the namespace Microsoft.SharePoint.Taxonomy, which refers to the assembly Microsoft.SharePoint.Taxonomy.dll, which is only available in SharePoint Server 2010 (directory 14\ISAPI).

I have also created some libraries to facilitate the publishing, as you can see it in the solution below:

 script
Figure 10 – Content Types Publishing Solution

The code below refers to the class ContentTypeHelper.cs and shows the details for publishing and unpublishing Content Types:

Code Snippet
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using Microsoft.SharePoint;
  6. using Microsoft.SharePoint.Taxonomy;
  7. using Microsoft.SharePoint.Taxonomy.ContentTypeSync;
  8.  
  9. namespace CommonLibrary
  10. {
  11.     public static class ContentTypeHelper
  12.     {
  13.         public static void ContentTypePublish(SPSite hubSite, SPContentType ctype)
  14.         {
  15.             // Check to see whether the site is a valid hub site.
  16.             if (ContentTypePublisher.IsContentTypeSharingEnabled(hubSite))
  17.             {
  18.                 ContentTypePublisher publisher = new ContentTypePublisher(hubSite);
  19.  
  20.                 Console.WriteLine("Publishing the content type: " + ctype.Name);
  21.  
  22.                 // Check to see whether this content type has been published.
  23.                 if (publisher.IsPublished(ctype))
  24.                 {
  25.                     Console.WriteLine(ctype.Name + " is a published content type.");
  26.                 }
  27.  
  28.                 publisher.Publish(ctype);
  29.             }
  30.             else
  31.             {
  32.                 // The provided site is not a valid hub site.
  33.                 Console.WriteLine("This site is not a valid hub site");
  34.             }
  35.         }
  36.  
  37.         public static void ContentTypeUnPublish(SPSite hubSite, SPContentType ctype)
  38.         {
  39.             if (ContentTypePublisher.IsContentTypeSharingEnabled(hubSite))
  40.             {
  41.                 ContentTypePublisher publisher = new ContentTypePublisher(hubSite);
  42.  
  43.                 Console.WriteLine("Unpublishing the content type: " + ctype.Name);
  44.  
  45.                 // Check to see whether this content type has been published.
  46.                 if (!publisher.IsPublished(ctype))
  47.                 {
  48.                     Console.WriteLine(ctype.Name + " is not a published content type.");
  49.                 }
  50.                 else
  51.                 {
  52.                     publisher.Unpublish(ctype);
  53.                 }
  54.             }
  55.             else
  56.             {
  57.                 // The provided site is not a valid hub site.
  58.                 Console.WriteLine("This site is not a valid hub site");
  59.             }
  60.         }
  61.     }
  62. }

Download the solution here.

How to consume Content Types

In order to consume the Content Types of the Content Type Hub, make sure you are referencing the Metadata Service Application that offers the service application. This applies only if you are using another Web Application as Hub, otherwise you're already entitled to use it within your Web Application.

Make sure you have referenced the service application in the Central Administration > Application Management > Configure service application associations. The Figure 11 displays the scenario that I have just commented:

 association
Figure 11 – Configuring the service application association

Note: Notice that I have two Web Applications, the 81 serves as Publisher and the 80 as Subscriber. Both use the same service Managed Metadata Service.

In the beginning of this article I quickly commented on the Timer Jobs that are responsible for the Content Types Synchronism, now just exploring a little more, if you want to trigger them after publishing or unpublishing Content Types for a quick check, go to the Central Administration > Monitoring > Check job status and select the desired job definition according the Figures 12 and 13:

 jobdefinition
Figure 12 – Triggering Timer Jobs (1/2)

 jobdefinition2
Figure 13 – Triggering Timer Jobs (2/2)

Note: By forcing the execution of the Timer Jobs above, always trigger the Content Type Hub (Publisher) first and then the Subscribers. The execution is asynchronous, so despite the status changes quickly after triggering the job, probably it will still be running.

Note that there are two Subscribers consuming the Content Types (port 80 and 81) even though the Hub is on port 81, just because other Site Collections within the same Web Application can take advantage of Content Types.

After the asynchronous execution, you have the option to check at the Site Collection Subscribers whether the Content Types were successfully replicated. One possible way is to access the Content Types via Site Actions> Site Settings> Site content types (Group Galleries) and check whether the Content Type is there, according Figure 14:

 happyend
Figure 14 – Content Types published :)

Another possible way is exemplified in the section “Troubleshooting” below.

Troubleshooting

Nothing is perfect, you will always face problems that appear in the middle of the road. Welcome to the Real World!

In order to check the publishing errors there are two ways, both can be checked at the Publisher or at the Subscriber sides, the first way is available on the Hub Site in Site Actions> Site Settings> Content type service application error log (Site Collection Administration group) according Figure 15 below:

 errorpublisher
Figure 15 – Checking the publishing errors at the Publisher side

The second way is available at the Site Collections Subscribers side in Site Actions > Site Settings > Content Type Publishing (Site Collection Administration group) according Figure 16:

errorsubscriber1
Figure 16 – Checking the publishing errors at the Subscriber side (1/2)

NOTE: The figure above shows a successful outcome, because all the Content Types were published correctly (what should happen in your environment). This figure is only used to display where to find the possible publishing errors.

Another point to be reviewed is regarding the Refresh of all the Content Types published. If you wish to force an update of the Subscriber, which has changed for some reason, leave this option selected. This will overwrite the current Content Types with the version of the Publisher.

Visit the link for the publishing error log, there you can also see the publishing errors (the same as the Publisher) as shown in Figure 17:

 errorsubscriber2
Figure 17 – Checking the publishing errors at the Subscriber side (2/2)

Tip of the day

***UPDATED in 29/08/2011***
Features can be used to deploy content types in the Hub. They are always the best practice. Just be aware that this will create a dependency on them with a FeatureId, and by doing this, when you publish the content types, the same Feature on the Site Collections Subscribers will be required, so you can get the content types published.

Other option is to use a Powershell script or Console Application. In this case, when you publish the content types, there is no need to activate any feature in the Site Collections Subscribers.

I hope it clarifies the options you have when deploying and publishing content types. :)

Conclusion

In the version of SharePoint Server 2010, the Service Metadata Application enables the sharing of Content Types, which promotes the Content Type Syndication in different Site Collections from different Web Applications, and even in different Farms!

Enjoy this feature to create a new Design sharing Content Types!

References:
http://www.wictorwilen.se/Post/Plan-your-SharePoint-2010-Content-Type-Hub-carefully.aspx
http://www.chakkaradeep.com/post/SharePoint-2010-Content-Type-Hubs
http://msdn.microsoft.com/en-us/library/ff394469.aspx
http://technet.microsoft.com/en-us/library/ee424403.aspx
http://technet.microsoft.com/en-us/library/ee519603.aspx


Cheers,

Marcel Medina

Click here to read the same content in Portuguese.

Tags: ,

Tips and Tricks

Comments

12/3/2010 2:46:29 PM #

Nick

Hi Marcel,

What is the best method you have come across to migrate existing content types to published content types?

i.e.  An environment that was upgraded from 2007 has numerous content types replicated across numerous site collections.  Creating the content type in a hub and publishing out to these site collections results in a name conflict.  Is there a way to override this and force inheritance?

Regards,
Nick

Nick Australia | Reply

12/5/2010 12:17:48 AM #

Marcel Medina

I recommend you to do this migration in different steps:

1) Create a script to copy the current site columns and content types from Site Collections into the Hub with different names. Add a term that identifies the new site column and content type. i.e.: "Document" to "Document UP". By doing this you get rid of the name conflict.

2) Use the script in this post to publish the new content types.

3) You will need to switch the existing content types in Lists/Document Libraries by those published (upgraded ones), so create a script to do that.

4) In the end hide the current content types (old ones), so users are not allowed to pick them up.

I have already passed through this migration process. I am sure these steps are going to help you! Smile

Marcel Medina New Zealand | Reply

3/29/2011 8:34:50 PM #

Sam

Hi Marcel and Nick,

I have the same problem. I recently upgraded our sharepoint from 2007 to 2010. I would like to know What is the best method to move the existing content types to the hub site collection and associate the existing document libraries/Lists to the published content types instead of the original content types.

can you share any documents, script, code you used to do this please?

Thank you,
Sam    

Sam United States | Reply

1/4/2011 3:05:31 PM #

Pat

Marcel - great article on setting up the hub.  Thanks.  

My question is regarding your tip not to use a feature to deploy content types to a hub.  I was a bit worried about that and it looks like you confirmed my suspicions. So, what IS the preferred way to do that?  My scenario is probably not unique: I've got a large number of content types to create and publish, an even larger number of site columns, and some of the columns will leverage the MMS.  I need a deployment method to let me promote from dev to test to prod.  Any suggestions?

Thanks again.
Pat  

Pat United States | Reply

1/11/2011 1:03:17 PM #

Marcel Medina

My recommendation is to work on the creation of a script. This is going to be tough, but it's going to be worth it in the end, as you are getting rid of features in the hub.

Marcel Medina New Zealand | Reply

6/15/2011 11:25:08 PM #

k.reka

I found really useful and very practical your post. And as Pat mentioned it before, I have the same problem: quite a number of content types in a central hub and lookups (even to external lists).

Can I ask you to detail your recommendation regarding the 'creation of a script'?
It is not very clear, if the recommendation is to not deploy content types using features when using the hub, then how we could move them from development environment to production using scripts(unless I misunderstood it)?
Also is there any way not to involve features in the content type deployment(my client is an ITPro and he would avoid using features)? What would you recommend(any other alternative)?

Thank you in advance for your  response!

k.reka Switzerland | Reply

6/25/2011 7:30:08 AM #

Marcel Medina

The script I mentioned can be a Powershell script or Console Application developed in Visual Studio.

I have been working on migrations from MOSS 2007 to SharePoint 2010, so content types are already available. If you are developing something new, a recommended approach is to deploy your solution using features. But for content types in the hub, utilise a Console Application instead.

Marcel Medina New Zealand | Reply

1/26/2011 12:33:42 PM #

gido

Hi Marcel,


I'm having a problem here after following the instruction specified here.

The content types do not appear in the other site collections (subscribers). There is no entry in "Content Type Service Application Error Log" list. The jobs to publish and subscribe run successfully with no error.

The only Odd thing is that I don't have the Content Type Publishing link in subscribed site collection (Site Actions > Site Settings > Content Type Publishing (Site Collection Administration group)".

Have I missed a step such as activating a feature in subscribing site?

Many Thanks,
Gido

gido United Kingdom | Reply

1/26/2011 12:54:37 PM #

gido

Just to further information :

There is only one web application in my environment.
content type hub site collection URL --> http://servername/spikes/hub/
content type consumer site collection URL --> http://servername/spikes/hubconsumer1/

gido United Kingdom | Reply

1/26/2011 1:35:12 PM #

gido

It seems the problem is that I should have used Team site template rather than blank site. Do you know which of features in team site is required for syndication? If I know that, I might be able to use a blank site and just enable the required features to get it working.

Thanks
gido

gido United Kingdom | Reply

1/26/2011 1:44:27 PM #

Nick

Hi Gido,

You are after the Taxonomy feature, GUID: 73EF14B1-13A9-416b-A9B5-ECECA2B0604C.

Run STSADM -o activatefeature -id 73EF14B1-13A9-416b-A9B5-ECECA2B0604C -url http://SCurl –force for your site collection.

If you have many SCs then best to use powershell.

Cheers,
Nick

Nick United Kingdom | Reply

1/26/2011 2:26:06 PM #

Marcel Medina

Powershell commandlet available in this article:
www.sharepoint4developers.net/.../...a-column.aspx

Cheers,

Marcel Medina New Zealand | Reply

1/26/2011 4:29:25 PM #

gido

I could get that working perfectly fine! However, I've got another issue with a look up field in the content type. SharePoint doesn't seem to pushing down lookup site columns.

I have a lookup list (Languages for example) in both site collections (hub and consumer) with the same name, then I create a lookup site column which references the mentioned list (Languages). I have added this lookup site column into a content type in the hub. Syndication process pushes down all the site columns except the lookup site column.

gido United Kingdom | Reply

2/3/2011 9:49:00 AM #

Sam

The lookup might be referencing a column\list that doesn't exist on the consumer. So it cannot create the lookup on the consumer site.

Check the content Type Hub Error Log to see what failed. or check the log on the consumer site. Any thing that fails to be imported will be logged by the Content Type Sync Feature.

Sam United States | Reply

2/3/2011 10:02:07 AM #

gido

I could get working.

www.sharepointoverflow.com/.../content-type-hub-syndication-and-lookup-site-column-within-a-content-type


interesting bit is that SharePoint does not chekc if the list exists if you create a site collection after setting up the hub and the cintent types in it. In the words, the new site collections will have the content types defined in the hub as soon as you create them (I created the site using Team Site template). I couldn't figure out who this works, but it DOES work.

gido United Kingdom | Reply

2/3/2011 10:26:12 AM #

gido

OOPS, apprently, I have jumed to conclusion so quickly. I was just reviewing this and noticed that the content types in the new site collection do not have the lookup fields. They have only the regular columns such as Title.

gido United Kingdom | Reply

2/3/2011 10:17:28 AM #

gido

Forgot to mention, that the syndication will fail after creating the site collection, despite the fact that content types from the hub are in the new site collection. As you would expect, this is due to the look up fields referencing a list that does not exists.

gido United Kingdom | Reply

1/26/2011 2:36:06 PM #

gido

tx mate

gido United Kingdom | Reply

3/9/2011 4:30:48 PM #

lisa

We have the syndication set up correctly to where the content type is available on the subscribing site collections - however, when we apply that content type to a library, the fields from the content type are no longer available. It appears as though the Site Content Type is correct, but the List Content Type is not. Have you seen this before?

lisa United States | Reply

3/14/2011 5:54:09 AM #

Marcel Medina

Hi Lisa,

No, this is the first time I get something like this. To isolate the problem, please do the following steps:

1) First of all, always check the logs according to the section Troubleshooting in the article above. Republish the content type and check if any new messages come up.

2) Create a new List/Library and add the content type. If the fields are created ok, the content type in your current List/Library is corrupted. Remove and add it again.

3) Delete the site columns and the content type from the site collection, and then republish the content type. Always check the logs.

I hope it helps,

Cheers,

Marcel Medina New Zealand | Reply

5/12/2011 12:52:45 PM #

Øystein Garnes

Hi Marcel,

Can you elaborate a bit on your "tip of the day"?

We have been deploying content types programmatically via features to the content type hub for a while now, and the code also does a publish of the content types after creation in the hub.

We have been having some problems with the content types created programmatically, most annoying is that documents seem to not be given a document id when using the Ned Document button in a library. CTs created and published manually in the hub, do not have this problem - even in the same library in the subscribing site.

Quick fix for me is to create the CTs manually, but I would love to figure out exactly what the problem is.

Best Regards
Øystein Garnes

Øystein Garnes Norway | Reply

5/21/2011 11:15:26 AM #

Marcel Medina

Hi Oystein,

I agree with you that this tip-of-the-day section could be explained in more details, maybe I can create a different post for that. Smile Actually this was a kind of warning, because if you deploy content types in the Hub by using a feature, you will face errors when trying to publish them. A workaround for this is to install the same feature across the site collections consumers.

As a suggestion, troubleshoot the problem you got with the content types by checking their schemas in the SharePoint Manager.

Cheers,

Marcel Medina New Zealand | Reply

5/23/2011 12:18:39 PM #

Øystein Garnes

Thanks Marcel,

I have discovered that my problem with missing document IDs is not related to how the CTs are created. It seems I have to re-publish my CTs after every new site col created, before doc id starts working in that site col.

My problem (without any real solution) can be found here: social.msdn.microsoft.com/.../df83bfb9-dd4d-409b-97f1-9d88bb6d7760

Best Regards
Øystein Garnes

Øystein Garnes Norway | Reply

7/18/2011 3:18:33 PM #

Don Krause

Great article, I found it very helpful.

Do you know if it is possible to "unsubscribe"? For instance if you have a web app with 3 site collections, 1 is the content type hub and 2 are subscribers, is there a way to make it so 1 of the subscriber site collections stops receiving content type updates from the hub.

Don Krause United States | Reply

7/25/2011 10:04:26 AM #

Marcel Medina

Hi Don,

No, by design Service Application Associations are defined at the Web Application Level. So at the moment you associate a web application with a metadata service application, all site collections will subscribe to the content type hub (in case the content type hub is available).

Marcel Medina New Zealand | Reply

8/26/2011 11:24:22 PM #

Kim

You may want to check this out. Content Types features can be published from hub:
blogs.msdn.com/.../...nt-type-hub-limitations.aspx

Kim United States | Reply

8/29/2011 1:31:15 AM #

Marcel Medina

Actually they always could be published from the Hub. Smile

I have updated the section "Tip of the Day" with more details.

Marcel Medina New Zealand | Reply

8/30/2011 6:54:39 AM #

Deb

So I was playing around with the fact that you can indeed publish a content type that's been provisioned in the content type hub using a feature. However, what I found is that the same feature must be activated on the consuming site (which essentially will create the same content type in advance on this site). This is fine...but what happens when you need to update the content type in the hub and republish to subscribers? I did a quick proof of concept just to see what would happen...what I found was that the change does not propagate to the consuming site. I think the reason is because the hub will essentially "unpublish" and the attempt to "republish" the content type to all subscribers. My theory is that the "unpublish" job fails to remove the original content type in the consumer site because it's bound to a feature. Can anyone else verify this behavior?

Thanks!

Deb United States | Reply

8/29/2011 6:12:06 PM #

Fynn

Hello,

im using a content type hub that holds some content types.
One content type has a lookup site column. So i also created a (lookup) list in the content type hub (CTH).

Here the step-by-step example what i did and what i would like to achieve:

- I create a template from this lookup list in the content tpye hub (including content), import it into the (subscribing) sitecollections, and create a list based on this template in each site collection (e.g. with powershell script)
- after this, the publishing of the content type (incl. lookup field) works fine
- but what can i do if the content of my lookup list changes ? I would like that my list in the CTH is a "centrally managed" lookup list, and all the sitecollections get the content updates of this list ? Unfortunately this list isn`t published through the CTH to my subscribing site collections (sharepoint standard behaviour - and the reason why i have to use a list-template).

Thanks for any hints, help or workarounds!

Fynn Finland | Reply

9/19/2011 1:25:54 AM #

Marcel Medina

Hi Fynn,

Honestly, I don't think this is a good approach. Lookup fields don't work as expected when publishing them on the Hub.

Use Metadata Columns instead for this purpose.

Cheers,

Marcel Medina New Zealand | Reply

9/15/2011 8:23:48 PM #

Sudhir Rawat

Hi Marcel,

I have one problem regarding retention workflow for content type.

In the content hub i created one content type and attached the SPD workflow with it as retention policy.

After publishing the content type is available in other Site collection but Workflow is not available. For making the workflow available i created the WSP of the workflow and deployed globally and by activating the feature the workflow is getting available in other site collection but to make the retention association between content type and workflow in the newly created site collection i have to publish the content type after creating a new site collection.

Is this mandatory to publish the content type always for bringing this Workflow and content type association in the newly created site collection?
Or
Is there any other way to achieve this content type and workflow association in the other existing or new site collection?

Thanks,
Sudhir

Sudhir Rawat United States | Reply

Add comment


(Will show your Gravatar icon)

  Country flag

biuquote
  • Comment
  • Preview
Loading



Profile



Marcel Medina is a specialist in .NET/SharePoint development.

Currently working as Microsoft Consultant and Trainer in these technologies.

He has 10 years of experience in the IT area and the following certifications: MCP, MCDBA, MCAD, MCSD, MCTS (including WSS 3.0, MOSS 2007 & SharePoint 2010, Application Development), MCPD (Enterprise Application Developer & SharePoint Developer 2010) and MCT.

Support this site

If you want to keep this site running, please donate:

 

Thanks!


 

 

 


 



Site Meter