11/28/2015

SharePoint Content Type Inheritance

This article applies to SharePoint 2010, 2013 and 2016.

If you have worked around SharePoint for a while then you have heard the phrase "Everything is a list…". If everything is a list then everything should be an "item", right? Turns out that that is almost a fact. With the exception of only a handful of Content Types, they all inherit from"Item". In the end everything inherits from a base type named "System". The listing below is from a 2013 publishing site with a few extra features enabled to find as many Content Types as possible. The 2016 list is very similar, but is missing some of the Business Intelligence content types (Excel Services?).

A few examples:

  • Task <- Item <- System
  • Document <- Item <- System
  • Video <- System Media Collection <- Document Set <- Document Collection Folder <- Folder <- Item <- System

What does not inherit from Item?

  • Common Indicator Columns <- System  (hidden)
  • And the types that inherit from it:
    • Excel based Status Indicator <- Common Indicator Columns <- System
    • Fixed Value based Status Indicator <- Common Indicator Columns <- System
    • SharePoint List based Status Indicator <- Common Indicator Columns <- System
    • SQL Server Analysis Services based Status Indicator <- Common Indicator Columns <- System

 

    PowerShell to the rescue… again.

    To dump the hierarchy of Content Types I wrote a little PowerShell script that uses a recursive function. Just edit the URL to your site and you can get your list of Content Types.

    If you wanted to see the inheritance pattern another way, add the ID of the Content Type to your output, or just do a test like the following and note the pattern in the IDs:

      $web.ContentTypes | sort id | Select id, name

     

    The PowerShell script:

    function Get-CTypeParent ($ctype, $TTNstr)
    {
      if ($ctype.name -NE "System") {
       $TTNstr = $TTNstr + " <- " + $ctype.parent.name;
       $TTNstr = Get-CTypeParent $ctype.parent $TTNstr 
       }
      return $TTNstr;
    }
    
    $site = Get-SPSite http://yourserver/sites/yourSite
    $web = $site.RootWeb
    
    $web.ContentTypes | sort Group, Name | 
      group Group | 
        foreach { $_.Group  | 
                         foreach 
                           -Begin {"`n" + $_.Name} 
                           -Process { $str="  " + $_.Name ;  Get-CTypeParent $_ $str } 
                }
    

     

    The list of Content Types and their family history!

    This list is from SharePoint 2013. The 2016 list is very similar, but is missing some of the Business Intelligence content types (Excel Services?).

    _Hidden
      Administrative Task <- Task <- Item <- System
      Approval Workflow Task (en-US) <- SharePoint Server Workflow Task <- Workflow Task <- Task <- Item <- System
      Collect Feedback Workflow Task (en-US) <- SharePoint Server Workflow Task <- Workflow Task <- Task <- Item <- System
      Collect Signatures Workflow Task (en-US) <- SharePoint Server Workflow Task <- Workflow Task <- Task <- Item <- System
      Common Indicator Columns <- System
      Design File <- Document <- Item <- System
      Device Channel <- Item <- System
      Device Channel Mappings <- Document <- Item <- System
      Display Template <- Document <- Item <- System
      Display Template Code <- Display Template <- Document <- Item <- System
      Document Collection Folder <- Folder <- Item <- System
      DomainGroup <- Item <- System
      Health Analyzer Report <- Item <- System
      Health Analyzer Rule Definition <- Item <- System
      InfoPath Form Template <- Document <- Item <- System
      Office Data Connection File <- Document <- Item <- System
      Page Output Cache <- Item <- System
      PerformancePoint Base <- Item <- System
      PerformancePoint Monitoring Document Type <- Document <- Item <- System
      Person <- Item <- System
      Project Policy <- Item <- System
      Published Link <- Item <- System
      Publishing Approval Workflow Task (en-US) <- SharePoint Server Workflow Task <- Workflow Task <- Task <- Item <- System
      Reusable HTML <- Item <- System
      Reusable Text <- Item <- System
      RootOfList <- Folder <- Item <- System
      Rule <- Item <- System
      SharePoint Server Workflow Task <- Workflow Task <- Task <- Item <- System
      SharePointGroup <- Item <- System
      Signatures Workflow Task Deprecated <- SharePoint Server Workflow Task <- Workflow Task <- Task <- Item <- System
      System
      System Master Page <- Document <- Item <- System
      System Media Collection <- Document Set <- Document Collection Folder <- Folder <- Item <- System
      System Page <- Document <- Item <- System
      System Page Layout <- Document <- Item <- System
      Translation Package <- Document <- Item <- System
      Translation Status <- Document <- Item <- System
      Universal Data Connection File <- Document <- Item <- System
      User Workflow Document <- Document <- Item <- System
      Workflow History <- Item <- System
      Workflow Task <- Task <- Item <- System
      WorkflowServiceDefinition <- Item <- System
      WorkflowServiceSubscription <- Item <- Systemvi
     
    Business Intelligence
      Excel based Status Indicator <- Common Indicator Columns <- System
      Fixed Value based Status Indicator <- Common Indicator Columns <- System
      Report <- Document <- Item <- System
      Report Document <- Document <- Item <- System
      SharePoint List based Status Indicator <- Common Indicator Columns <- System
      SQL Server Analysis Services based Status Indicator <- Common Indicator Columns <- System
      Web Part Page with Status List <- Document <- Item <- System
     
    Community Content Types
      Category <- Item <- System
      Community Member <- Site Membership <- Item <- System
      Site Membership <- Item <- System
     
    Digital Asset Content Types
      Audio <- Rich Media Asset <- Document <- Item <- System
      Image <- Rich Media Asset <- Document <- Item <- System
      Rich Media Asset <- Document <- Item <- System
      Video <- System Media Collection <- Document Set <- Document Collection Folder <- Folder <- Item <- System
      Video Rendition <- Rich Media Asset <- Document <- Item <- System
     
    Display Template Content Types
      Control Display Template <- Display Template <- Document <- Item <- System
      Filter Display Template <- Display Template <- Document <- Item <- System
      Group Display Template <- Display Template <- Document <- Item <- System
      Item Display Template <- Display Template <- Document <- Item <- System
      JavaScript Display Template <- Document <- Item <- System
     
    Document Content Types
      Basic Page <- Document <- Item <- System
      Document <- Item <- System
      Dublin Core Columns <- Document <- Item <- System
      Form <- Document <- Item <- System
      Link to a Document <- Document <- Item <- System
      List View Style <- Document <- Item <- System
      Master Page <- Document <- Item <- System
      Master Page Preview <- Document <- Item <- System
      Picture <- Document <- Item <- System
      Web Part Page <- Basic Page <- Document <- Item <- System
      Wiki Page <- Document <- Item <- System
     
    Document Set Content Types
      Document Set <- Document Collection Folder <- Folder <- Item <- System
     
    Folder Content Types
      Discussion <- Folder <- Item <- System
      Folder <- Item <- System
      Summary Task <- Folder <- Item <- System
     
    Group Work Content Types
      Circulation <- Item <- System
      Holiday <- Item <- System
      New Word <- Item <- System
      Official Notice <- Item <- System
      Phone Call Memo <- Item <- System
      Resource <- Item <- System
      Resource Group <- Item <- System
      Timecard <- Item <- System
      Users <- Item <- System
      What's New Notification <- Item <- System
     
    List Content Types
      Announcement <- Item <- System
      Comment <- Item <- System
      Contact <- Item <- System
      East Asia Contact <- Item <- System
      Event <- Item <- System
      Issue <- Item <- System
      Item <- System
      Link <- Item <- System
      Message <- Item <- System
      Post <- Item <- System
      Reservations <- Event <- Item <- System
      Schedule <- Event <- Item <- System
      Schedule and Reservations <- Event <- Item <- System
      Task <- Item <- System
      Workflow Task (SharePoint 2013) <- Task <- Item <- System
     
    Page Layout Content Types
      Article Page <- Page <- System Page <- Document <- Item <- System
      Catalog-Item Reuse <- Page <- System Page <- Document <- Item <- System
      Enterprise Wiki Page <- Page <- System Page <- Document <- Item <- System
      Error Page <- Page <- System Page <- Document <- Item <- System
      Project Page <- Enterprise Wiki Page <- Page <- System Page <- Document <- Item <- System
      Redirect Page <- Page <- System Page <- Document <- Item <- System
      Welcome Page <- Page <- System Page <- Document <- Item <- System
     
    PerformancePoint
      PerformancePoint Dashboard <- PerformancePoint Base <- Item <- System
      PerformancePoint Data Source <- PerformancePoint Monitoring Document Type <- Document <- Item <- System
      PerformancePoint Filter <- PerformancePoint Base <- Item <- System
      PerformancePoint Indicator <- PerformancePoint Base <- Item <- System
      PerformancePoint KPI <- PerformancePoint Base <- Item <- System
      PerformancePoint Report <- PerformancePoint Base <- Item <- System
      PerformancePoint Scorecard <- PerformancePoint Base <- Item <- System
     
      
    Publishing Content Types
      ASP NET Master Page <- System Master Page <- Document <- Item <- System
      Html Master Page <- ASP NET Master Page <- System Master Page <- Document <- Item <- System
      Html Page Layout <- Page Layout <- System Page Layout <- Document <- Item <- System
      Page <- System Page <- Document <- Item <- System
      Page Layout <- System Page Layout <- Document <- Item <- System
     
    Special Content Types
      Unknown Document Type <- Document <- Item <- System

     

    The List Sorted By Ancestor

    Change the last line of the script to the following and you can see another pattern in the inheritance.

    $web.contenttypes | sort group, name | group group | foreach { $_.Group  | foreach -begin {"`n" + $_.Name} -process { $str="  " + $_.name ;  Get-CTypeParent $_ $str } }

    System ->   Item
    System -> Item ->   Announcement
    System -> Item ->   Circulation
    System -> Item ->   Comment
    System -> Item ->   Contact
    System -> Item ->   Device Channel
    System -> Item ->   Document
    System -> Item ->   DomainGroup
    System -> Item ->   East Asia Contact
    System -> Item ->   Event
    System -> Item ->   Folder
    System -> Item ->   Health Analyzer Report
    System -> Item ->   Health Analyzer Rule Definition
    System -> Item ->   Holiday
    System -> Item ->   Issue
    System -> Item ->   Link
    System -> Item ->   Message
    System -> Item ->   New Word
    System -> Item ->   Official Notice
    System -> Item ->   Page Output Cache
    System -> Item ->   PerformancePoint Base
    System -> Item ->   Person
    System -> Item ->   Phone Call Memo
    System -> Item ->   Post
    System -> Item ->   Published Link
    System -> Item ->   Resource
    System -> Item ->   Resource Group
    System -> Item ->   Reusable HTML
    System -> Item ->   Reusable Text
    System -> Item ->   Rule
    System -> Item ->   SharePointGroup
    System -> Item ->   Task
    System -> Item ->   Timecard
    System -> Item ->   Users
    System -> Item ->   What's New Notification
    System -> Item ->   Workflow History
    System -> Item ->   WorkflowServiceDefinition
    System -> Item ->   WorkflowServiceSubscription
    System -> Item -> Document ->   Basic Page
    System -> Item -> Document ->   Design File
    System -> Item -> Document ->   Device Channel Mappings
    System -> Item -> Document ->   Display Template
    System -> Item -> Document ->   Dublin Core Columns
    System -> Item -> Document ->   Form
    System -> Item -> Document ->   InfoPath Form Template
    System -> Item -> Document ->   JavaScript Display Template
    System -> Item -> Document ->   Link to a Document
    System -> Item -> Document ->   List View Style
    System -> Item -> Document ->   Master Page
    System -> Item -> Document ->   Master Page Preview
    System -> Item -> Document ->   Office Data Connection File
    System -> Item -> Document ->   PerformancePoint Monitoring Document Type
    System -> Item -> Document ->   Picture
    System -> Item -> Document ->   Report Document
    System -> Item -> Document ->   Rich Media Asset
    System -> Item -> Document ->   System Master Page
    System -> Item -> Document ->   System Page
    System -> Item -> Document ->   System Page Layout
    System -> Item -> Document ->   Translation Package
    System -> Item -> Document ->   Translation Status
    System -> Item -> Document ->   Universal Data Connection File
    System -> Item -> Document ->   Unknown Document Type
    System -> Item -> Document ->   User Workflow Document
    System -> Item -> Document ->   Wiki Page
    System -> Item -> Document -> Basic Page ->   Web Part Page
    System -> Item -> Document -> Display Template ->   Control Display Template
    System -> Item -> Document -> Display Template ->   Display Template Code
    System -> Item -> Document -> Display Template ->   Filter Display Template
    System -> Item -> Document -> Display Template ->   Group Display Template
    System -> Item -> Document -> Display Template ->   Item Display Template
    System -> Item -> Document -> PerformancePoint Monitoring Document Type ->   PerformancePoint Data Source
    System -> Item -> Document -> Rich Media Asset ->   Audio
    System -> Item -> Document -> Rich Media Asset ->   Image
    System -> Item -> Document -> Rich Media Asset ->   Video Rendition
    System -> Item -> Document -> System Master Page ->   ASP NET Master Page
    System -> Item -> Document -> System Master Page -> ASP NET Master Page ->   Html Master Page
    System -> Item -> Document -> System Page ->   Page
    System -> Item -> Document -> System Page -> Page ->   Article Page
    System -> Item -> Document -> System Page -> Page ->   Catalog-Item Reuse
    System -> Item -> Document -> System Page -> Page ->   Enterprise Wiki Page
    System -> Item -> Document -> System Page -> Page ->   Error Page
    System -> Item -> Document -> System Page -> Page ->   Redirect Page
    System -> Item -> Document -> System Page -> Page ->   Welcome Page
    System -> Item -> Document -> System Page -> Page -> Enterprise Wiki Page ->   Project Page
    System -> Item -> Document -> System Page Layout ->   Page Layout
    System -> Item -> Document -> System Page Layout -> Page Layout ->   Html Page Layout
    System -> Item -> Event ->   Reservations
    System -> Item -> Event ->   Schedule
    System -> Item -> Event ->   Schedule and Reservations
    System -> Item -> Folder ->   Discussion
    System -> Item -> Folder ->   Document Collection Folder
    System -> Item -> Folder ->   RootOfList
    System -> Item -> Folder ->   Summary Task
    System -> Item -> Folder -> Document Collection Folder ->   Document Set
    System -> Item -> Folder -> Document Collection Folder -> Document Set ->   System Media Collection
    System -> Item -> Folder -> Document Collection Folder -> Document Set -> System Media Collection ->   Video
    System -> Item -> PerformancePoint Base ->   PerformancePoint Dashboard
    System -> Item -> PerformancePoint Base ->   PerformancePoint Filter
    System -> Item -> PerformancePoint Base ->   PerformancePoint Indicator
    System -> Item -> PerformancePoint Base ->   PerformancePoint KPI
    System -> Item -> PerformancePoint Base ->   PerformancePoint Report
    System -> Item -> PerformancePoint Base ->   PerformancePoint Scorecard
    System -> Item -> Task ->   Administrative Task
    System -> Item -> Task ->   Workflow Task
    System -> Item -> Task ->   Workflow Task (SharePoint 2013)
    System -> Item -> Task -> Workflow Task ->   PSWApprovalTask
    System -> Item -> Task -> Workflow Task ->   SharePoint Server Workflow Task
    System -> Item -> Task -> Workflow Task -> SharePoint Server Workflow Task ->   Approval Workflow Task (en-US)
    System -> Item -> Task -> Workflow Task -> SharePoint Server Workflow Task ->   Collect Feedback Workflow Task (en-US)
    System -> Item -> Task -> Workflow Task -> SharePoint Server Workflow Task ->   Collect Signatures Workflow Task (en-US)
    System -> Item -> Task -> Workflow Task -> SharePoint Server Workflow Task ->   Publishing Approval Workflow Task (en-US)
    System -> Item -> Task -> Workflow Task -> SharePoint Server Workflow Task ->   Signatures Workflow Task Deprecated

     


     

    System ->   Item
    System -> Item ->   Announcement
    System -> Item ->   Circulation
    System -> Item ->   Comment
    System -> Item ->   Contact
    System -> Item ->   Device Channel
    System -> Item ->   Document
    System -> Item ->   DomainGroup
    System -> Item ->   East Asia Contact
    System -> Item ->   Event
    System -> Item ->   Folder
    System -> Item ->   Health Analyzer Report
    System -> Item ->   Health Analyzer Rule Definition
    System -> Item ->   Holiday
    System -> Item ->   Issue
    System -> Item ->   Link
    System -> Item ->   Message
    System -> Item ->   New Word
    System -> Item ->   Official Notice
    System -> Item ->   Page Output Cache
    System -> Item ->   PerformancePoint Base
    System -> Item ->   Person
    System -> Item ->   Phone Call Memo
    System -> Item ->   Post
    System -> Item ->   Published Link
    System -> Item ->   Resource
    System -> Item ->   Resource Group
    System -> Item ->   Reusable HTML
    System -> Item ->   Reusable Text
    System -> Item ->   Rule
    System -> Item ->   SharePointGroup
    System -> Item ->   Task
    System -> Item ->   Timecard
    System -> Item ->   Users
    System -> Item ->   What's New Notification
    System -> Item ->   Workflow History
    System -> Item ->   WorkflowServiceDefinition
    System -> Item ->   WorkflowServiceSubscription
    System -> Item -> Document ->   Basic Page
    System -> Item -> Document ->   Design File
    System -> Item -> Document ->   Device Channel Mappings
    System -> Item -> Document ->   Display Template
    System -> Item -> Document ->   Dublin Core Columns
    System -> Item -> Document ->   Form
    System -> Item -> Document ->   InfoPath Form Template
    System -> Item -> Document ->   JavaScript Display Template
    System -> Item -> Document ->   Link to a Document
    System -> Item -> Document ->   List View Style
    System -> Item -> Document ->   Master Page
    System -> Item -> Document ->   Master Page Preview
    System -> Item -> Document ->   Office Data Connection File
    System -> Item -> Document ->   PerformancePoint Monitoring Document Type
    System -> Item -> Document ->   Picture
    System -> Item -> Document ->   Report Document
    System -> Item -> Document ->   Rich Media Asset
    System -> Item -> Document ->   System Master Page
    System -> Item -> Document ->   System Page
    System -> Item -> Document ->   System Page Layout
    System -> Item -> Document ->   Translation Package
    System -> Item -> Document ->   Translation Status
    System -> Item -> Document ->   Universal Data Connection File
    System -> Item -> Document ->   Unknown Document Type
    System -> Item -> Document ->   User Workflow Document
    System -> Item -> Document ->   Wiki Page
    System -> Item -> Document -> Basic Page ->   Web Part Page
    System -> Item -> Document -> Display Template ->   Control Display Template
    System -> Item -> Document -> Display Template ->   Display Template Code
    System -> Item -> Document -> Display Template ->   Filter Display Template
    System -> Item -> Document -> Display Template ->   Group Display Template
    System -> Item -> Document -> Display Template ->   Item Display Template
    System -> Item -> Document -> PerformancePoint Monitoring Document Type ->   PerformancePoint Data Source
    System -> Item -> Document -> Rich Media Asset ->   Audio
    System -> Item -> Document -> Rich Media Asset ->   Image
    System -> Item -> Document -> Rich Media Asset ->   Video Rendition
    System -> Item -> Document -> System Master Page ->   ASP NET Master Page
    System -> Item -> Document -> System Master Page -> ASP NET Master Page ->   Html Master Page
    System -> Item -> Document -> System Page ->   Page
    System -> Item -> Document -> System Page -> Page ->   Article Page
    System -> Item -> Document -> System Page -> Page ->   Catalog-Item Reuse
    System -> Item -> Document -> System Page -> Page ->   Enterprise Wiki Page
    System -> Item -> Document -> System Page -> Page ->   Error Page
    System -> Item -> Document -> System Page -> Page ->   Redirect Page
    System -> Item -> Document -> System Page -> Page ->   Welcome Page
    System -> Item -> Document -> System Page -> Page -> Enterprise Wiki Page ->   Project Page
    System -> Item -> Document -> System Page Layout ->   Page Layout
    System -> Item -> Document -> System Page Layout -> Page Layout ->   Html Page Layout
    System -> Item -> Event ->   Reservations
    System -> Item -> Event ->   Schedule
    System -> Item -> Event ->   Schedule and Reservations
    System -> Item -> Folder ->   Discussion
    System -> Item -> Folder ->   Document Collection Folder
    System -> Item -> Folder ->   RootOfList
    System -> Item -> Folder ->   Summary Task
    System -> Item -> Folder -> Document Collection Folder ->   Document Set
    System -> Item -> Folder -> Document Collection Folder -> Document Set ->   System Media Collection
    System -> Item -> Folder -> Document Collection Folder -> Document Set -> System Media Collection ->   Video
    System -> Item -> PerformancePoint Base ->   PerformancePoint Dashboard
    System -> Item -> PerformancePoint Base ->   PerformancePoint Filter
    System -> Item -> PerformancePoint Base ->   PerformancePoint Indicator
    System -> Item -> PerformancePoint Base ->   PerformancePoint KPI
    System -> Item -> PerformancePoint Base ->   PerformancePoint Report
    System -> Item -> PerformancePoint Base ->   PerformancePoint Scorecard
    System -> Item -> Task ->   Administrative Task
    System -> Item -> Task ->   Workflow Task
    System -> Item -> Task ->   Workflow Task (SharePoint 2013)
    System -> Item -> Task -> Workflow Task ->   PSWApprovalTask
    System -> Item -> Task -> Workflow Task ->   SharePoint Server Workflow Task
    System -> Item -> Task -> Workflow Task -> SharePoint Server Workflow Task ->   Approval Workflow Task (en-US)
    System -> Item -> Task -> Workflow Task -> SharePoint Server Workflow Task ->   Collect Feedback Workflow Task (en-US)
    System -> Item -> Task -> Workflow Task -> SharePoint Server Workflow Task ->   Collect Signatures Workflow Task (en-US)
    System -> Item -> Task -> Workflow Task -> SharePoint Server Workflow Task ->   Publishing Approval Workflow Task (en-US)
    System -> Item -> Task -> Workflow Task -> SharePoint Server Workflow Task ->   Signatures Workflow Task Deprecated

     

     

     

     

     

    No comments:

    Note to spammers!

    Spammers, don't waste your time... all posts are moderated. If your comment includes unrelated links, is advertising, or just pure spam, it will never be seen.