In this article we will be seeing how to check whether the site is a valid hub
site and how to check whether the content type in the hub site is published or
not.
Steps Involved:
Using console application:
- Open visual studio 2010.
- Create a new console application.
- Add the following references.
o Microsoft.SharePoint.dll
o Microsoft.SharePoint.Taxonomy.dll
- Add the following namespaces.
o Using Microsoft.SharePoint;
o Using Microsoft.Sharepoint.Taxonomy.ContentTypeSync;
C# Code snippet:
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
using
Microsoft.SharePoint;
using
Microsoft.SharePoint.Taxonomy.ContentTypeSync;
namespace
EMM
{
class Program
{
static void
Main(string[] args)
{
using (SPSite site =
new SPSite("http://servername:20/"))
{
using (SPWeb web = site.RootWeb)
{
SPContentType contentType = web.ContentTypes["_bContentType"];
if (ContentTypePublisher.IsContentTypeSharingEnabled(site))
{
Console.WriteLine(site.Url.ToString() +
" is a valid hub site");
ContentTypePublisher ctPublisher =
new ContentTypePublisher(site);
if (ctPublisher.IsPublished(contentType))
{
Console.WriteLine(contentType.Name
+ " is published content type");
}
else
{
Console.WriteLine(contentType.Name
+ " is unpublished content type");
}
}
else
{
Console.WriteLine(site.Url.ToString() +
" is not a valid hub site");
}
Console.ReadLine();
}
}
}
}
}
Powershell script:
$hubSite=Get-SPSite "http://servername:10/"
$hubWeb=$hubSite.RootWeb
if([Microsoft.SharePoint.Taxonomy.ContentTypeSync.ContentTypePublisher]::IsContentTypeSharingEnabled($hubSite))
{
write-host $hubSite.Url " is a valid hub site"
$contentType=$hubWeb.ContentTypes["_bContentType"]
$ctPublisher=New-Object
Microsoft.SharePoint.Taxonomy.ContentTypeSync.ContentTypePublisher($hubSite)
if($ctPublisher.IsPublished($contentType))
{
write-host $contentType.Name "is published content type"
}
else
{
write-host $contentType.Name "is unpublished content type"
}
}
else
{
write-host $hubSite.Url " is not a valid hub site"
}