Skip to main content

Content Type as Feature

Content Type Syndication Hub is a great feature of #SharePoint2010 and upper.
In the following post I described it in detail:
http://wyldesharepoint.blogspot.com/2012/03/content-type-syndication-hub-explained.html

However in some scenarios this feature is not the best approach.

In many organisations there is usually a set of #SharePoint farms that may include all or some of the following:

  • Development (DEV) environment
  • Test (TST) environment
  • UAT environment
  • Production (PROD) environment

Ideally the process of creating some custom #SharePoint work may look like:

  • Create #SharePoint artifacts in DEV and package them
  • Copy the packaged artifacts from DEV to TST, install there and test
  • Rework the artifacts if there are issues in DEV then copy and test in TST until it all works well
  • Copy the packaged artifacts to UAT, install there and allow end users to test
  • Rework if required until UAT is completed without issues
  • Copy the packaged artifacts to PROD, install and test
The process above may exclude TST or/and UAT parts, but the idea is always the same.

Some companies enjoy creating site templates, because it's a very convenient way of duplicating user experience if many similar sites are required.
Following the best practice process described above those companies would need to do the following:

1. Create a site and create a site template in DEV
2. Copy the template to TST, install and test
3. Copy the template to UAT, install and test
4. Copy the template to PROD and install

If we are using the Content Type Syndication Hub on every environment, we would have the following situation:


  
etc.
So in every environment the name of the published content type CT1 is the same (Name), but the internal identifier is different:
DEV: IdDev
TST: IdTst
UAT: IdUat
PROD: IdProd

From experience it has been found that restoring the site collection or a site from one environment that using Content Type Hub into another environment, breaks the subscription mechanism.
That means we will not be able to use the site restored from DEV on TST, UAT and PROD, because Content Type Syndication will not work for the restored site:


One of the possible solutions is to create a custom feature in Visual Studio that will contain:

  • Custom fields
  • Custom content types
Then install this custom feature on all environments and activate on all site collections. The content type identifiers and column identifiers and internal names will be the same across all environments:



 In this case we get control over the custom content types and it's more transparent than using Content Type Syndication Hub feature.
Also it doesn't require having a separate site collection to serve just a Content Type Hub role.

The following walkthrough is a good starting point to help creating Visual Studio 2010 solution that contains custom content type and fields:
http://msdn.microsoft.com/en-us/library/ee231593(v=vs.100).aspx

Comments

Popular posts from this blog

Setting up External Content Type for SQL Server database using SQL Server authentication - SharePoint 2010 Foundation

This post is a follow up on the issues that I have got setting up External Content Type (ECT) on SharePoint 2010 Foundation that was going to connect to remote SQL Server database for information. I cannot use my SharePoint user accounts to access SQL Server. According to the information I have discovered ECT and Business Connectivity Services are available in the SharePoint 2010 Foundation, but there are some issues if you want to use authentication methods in your external connections that are different from Windows Identity or Current User Identity. This is because there is no Secure Store Service in SharePoint 2010 Foundation which serves as an impersonation hub and is only available in SharePoint 2010 Server edition. The issues are coming from the fact that you can actually create ECT in SharePoint Designer 2010 providing just Secure Store ID and system would ask you for credentials and here you go, but when you try to use your ECT in External Lists or as a lookup columns you w

InfoPath 2013 Preview - URL not valid error when publishing

In InfoPath 2010 there is a problem when you try to publish a Form to a SharePoint site that doesn't have root site collection. You will get an error message "The following url is not valid". It's described here:   http://support.microsoft.com/kb/981854 The solution is to create root site collection for the Web application. Same problem is with InfoPath 2013: In my situation I didn't create the root site collection initially, but used "/sites" managed path instead for all site collections. To solve the problem with InfoPath I had to create it. Used a new site template "Project Site". Will get a chance to research that too. :)  

Document Sets - SharePoint 2010 - Part 1

Hi again, in this post I am going to demonstrate how set up and start using Document Sets in SharePoint 2010. In Beta version there was a little problem when working with Document Sets. You could see the discussion around it here: Document Set content type issue . Now it is fixed and I will show you how to set up Document Sets properly to also use Keywords. 1. Activate two site collection features - Document Sets and Document ID Service: 2. Select a document library settings where you want to implement Document Sets. In my case it is Shared Documents. When you have selected the settings go to Advanced settings and then allow content types management: 3. Add an existing content type called Document Set: 4. Now I want to create a new Document Set. I have a sales opportunity and I have two documents related to this sales opportunity. So first I select New Document -> Document Set command, then provide name and description and there it is: 5. To check if our Document ID