Pages

Friday, June 20, 2014

Future of Implementing Content Types and Site Columns

    Overview

    You are using SharePoint 2007, 2010, 2013 as On Prem. You are implementing Site Columns and Content Types to support your desired Taxonomy and document object models within your organization.

    Either in a near feature or you are in the process of moving to the cloud with O365, completely or partially for collaboration workloads.

    Beware of your implementation choices for Site Columns and Content Types and what is upcoming!

    Background

    Currently you have following options to implement the Site Columns and Content Type structures within the SharePoint platform and what it means to you.

    Options for implementing Site Columns and Content Types and the impact:

    • Deploying over the browser from Site Settings>Galleries>Site Columns or Content Types
      • SharePoint determines the GUID assigned for ID
      • Site Columns and Content Types are coded in to the content database
    • Deploying Declaratively:
      • By XML Site Column and Content Type Definitions in the form of Elements.xml
      • Baking the above XML definitions in to the Feature Solution
      • You determine the GUID assigned for the ID
      • Eventually deploying the solution to run as Full Trust Code (FTC)
      • Site Columns and Content Types are coded in to the content database

    Impact of GUIDs

    Impact of the Site Columns and Content Type IDs which are in the form of GUIDs

    • When you upgrade this site collection to next available version, the GUIDs are maintained.
    • When you are migrating to O365, you will need a tool to migrate the content.
    • You will need a commercial migration tool or custom code written tool by yourself.
    • You should ensure to retain the GUIDs of your Site Columns.
    • You want to retain the GUIDs so that the Site Column referencing libraries and lists data are intact.

    Issue

    • Like we all know there is no support for Farm Solutions with O365, we have no option to deploy our Site Columns and Content Types with our desired GUIDs.

    Content Type Hub

    • If you have deployed a Content Type Hub configuration to consolidate your enterprise Site Columns and Content Types, with migration to O365, you are still stuck with the above issue. (Also please read below how the migration products behave)

    Migration products behavior with the GUIDs

    The major migration product vendors I had spoken to, comment that they cannot retain the Site Column and Content Type GUIDs while their tools copy over for obvious reason. However, post the copy process the tools will reset such GUIDs to be all in synch.

    Alternative Coding/Scripting Options

    For those who have to opt for custom development option, beware of below aspects:

    • You can implement Site Column with a specific GUID via the AddasXMLSchema method on the SPWeb.Fields object.
    • However ContentType does not have similar AddAsXMLSchema support API.
    • However you can implement Content Type with your specific GUID via new SPContentType object and assign the GUID to the myContentType.ID field

    Update with SP1

No comments: