1,740 articles and 13,407 comments as of Tuesday, October 26th, 2010

Wednesday, January 21, 2009

Hidden Content Types and Hidden Site Columns

From previous “how-to” articles, you may know that several out-of-the-box Content Types belong to the group _Hidden.

This means that when you first start using the site, you can not create child Content Types based on these types. Also, if you want to aggregate Blog Posts with a Content Query Web Part, for instance, you will need to expose the content type to the web part’s drop down configuration menus.

This table lists the OOB Content Types that belong to the _Hidden group.

Name Ctype
Administrative Task 0×010802
Comment 0×0111
DomainGroup 0×010C
Event 0×0102
Office Data Connection File 0×010100629D00608F814dd6AC8A86903AEE72AA
Person 0×010A
Post 0×0110
RootOfList 0×012001
SharePointGroup 0×010B
Universal Data Connection File 0×010100B4CBD48E029A4ad8B62CB0E41868F2B0
User Workflow Document 0×010107
Wiki Page 0×010108
Workflow History 0×0109
Workflow Task 0×010801

I listed the ctype because you can get to the settings quickly by using this path: http://<server_name>/_layouts/ManageContentType.aspx?ctype=<ctype>

Then click “Name, description, and group” to change the group. Since _Hidden does not appear in the dropdown, this is a one-way change without some sort of hack. I suggest moving these to a new group that you can monitor–you really don’t want someone to change the base Content Types, just creating their own child types.

The same thing can happen to Site Columns. Next time you need an OOB Site Column for another Content Type or a Calculated Column and can’t find it, check to see if it’s actually in a _Hidden group.

For example, if you create a child of Event, the field labeled Start Time is actually “StartDate” which you can use in a formula but End Time (internal name “EndDate”) is hidden.

After changing this group to a visible one, you can use End Time in calculations like =[End Time]-[Start Date].

 

Please Join the Discussion

13 Responses to “Hidden Content Types and Hidden Site Columns”
  1. Joan says:

    Paul,

    Re: “one-way hack” Uh-oh: Based on a previous post, last week or so I unhid Event and then (thought I) rehid it into _Hidden by simply typing in _Hidden into the “New Group” box. Event disappeared again and I assumed it went “back” into the _Hidden list. At least, I did not get an error and was able to create an event in the default calendar without an issue. Did I create a new (different) _Hidden than the OOB _Hidden, by doing what I did?

  2. AutoSponge says:

    Actually, based on my experiments it looks like if you type _Hidden into the custom group field, it places the ct back into _Hidden (the real one).

    I can’t verify this 100% because there is no web service or owssvr way to get a list of all content types (that I’ve found yet).

    If I were you, I’d copy down that content type’s ctype number for future configuration so you don’t have to track it down.

  3. Joan says:

    Ok, will do, thanks!

  4. Adam Carr says:

    I have to say thank you yet again Paul. Your posts seem to help me solve issues time and time again.

  5. Catherine says:

    For the Event content type, I am seeing an End Time column (Field ID=End Date) in the _Hidden group. But in the Site columns, Base group, I also have an End Date column. I am wondering if this is odd and might have something to do with the problem I am having at the List content type level? My list has a child Event content type; I have been able to customize the Start column name but get a system error when I try to customize the End Time column name.

  6. AutoSponge says:

    @Catherine

    If it has the same internal name (FieldID) then it’s the same field. If you change that in one place (really not recommended for OOB fields) it will change EVERYWHERE if changed at the Site Column level. You should be able to change names or hidden/required at the List level.

  7. Catherine says:

    I am able to delete the End Date column that appears in the Base Columns group; maybe that would solve the system error? Would deleting it be safe/OK since EndDate also appears in the _Hidden group? If not, is there a different solution?

  8. AutoSponge says:

    @Catherine

    Again, I advise against customizing the OOB fields. End Date (internal name _EndDate) and End Time (internal name EndDate) are both valid and come OOB. EndDate is used on Event, I’m not sure about the other one.

  9. Tony says:

    I’ve successfully “unhidden” several site columns EXCEP for the EnDate column. ShrePoint (2007) returns “unknown error” when I try to take the EndDate out of the _Hidden group. Thoughts?

  10. Tony says:

    By the way, any way to get at the Recurrence column, or any of the other ones that don’t have built in links available to them?

  11. Brad says:

    I have a strange problem. In a new list content type I hade a “hidden base column” “title”, Before I knew what I was doing I tried to rename it. I got an error message but it still changed. Now when I try to change it back to “Title” It just tells me no it is a reserverd column. But I since It was renamed I no longer have a “Title” column and I can’t figure out how to get it back.
    Any suggestions?

  12. AntGut says:

    @Brad:

    I made the mistake of renaming a couple of OOB/_Hidden site columns too (Title, Comment). A little hunting provides some relief/fixes:

    http://support.microsoft.com/kb/923589
    http://social.msdn.microsoft.com/Forums/en/sharepointecm/thread/3da87a70-04e5-4cca-9f03-304c13425a63
    http://www.sharepointforum.com/en-US/Bugday/archive/2007/11/05/content-types-rename-title-column-issue.aspx

    Not sure if renaming to the correct/original name and selecting custom group “_Hidden” works for site columns (or content types). Need to test/verify that and the above “solutions” in non-production (when I can get access).

    Not being a (decent) coder I would imagine the info on msdn (”http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfield.group.aspx”) could be used to enumerate what’s in the _Hidden group.

    BTW, everywhere I’ve looked emphatically recommends: leave OOB/_Hidden objects alone. Use them as they are or as Paul has done, create your own if the need is there.

    AntGut

  13. Lisa says:

    Hello,

    I’m using the Employee Activities Application template (http://www.microsoft.com/downloads/en/details.aspx?FamilyId=1029807F-FD44-4704-936F-BD19A6455351&displaylang=en) and am trying to customize the Activities list to reflect two different content types. There are fields already in the Activities list I would like to include in both my other two content types. These Actitivies fields must be hidden, since I cannot find them in the site column list or select to add them to my two content types. The Activities list is based on what appears to be a hidden content type also named “Event,” with the normal Event site content type as it’s parent. I have already unhidden the parent Event type. When I go to edit the (sub) Event content type, only Name and Description appears in the options to edit under Settings, there is no link for group. I can see the ctype number in the url but when I try to remove the list number from the url to reflect your example above I just get a page that says “Error.” Any assistance or suggestions would be appreciated, thank you!


Notify me of comments to this article:


Speak and you will be heard.

We check comments hourly.
If you want a pic to show with your comment, go get a gravatar!