PublishingSite.IsPublishingSite method

Checks the SPSite object to determine whether it is also a PublishingSite object.

Namespace:  Microsoft.SharePoint.Publishing
Assembly:  Microsoft.SharePoint.Publishing (in Microsoft.SharePoint.Publishing.dll)

Syntax

'Declaration
Public Shared Function IsPublishingSite ( _
    site As SPSite _
) As Boolean
'Usage
Dim site As SPSite
Dim returnValue As Boolean

returnValue = PublishingSite.IsPublishingSite(site)
public static bool IsPublishingSite(
    SPSite site
)

Parameters

Return value

Type: System.Boolean
Set to true if the PublishingResources feature has been activated for the SPSite object; otherwise, set to false.

Exceptions

Exception Condition
ArgumentNullException

SPSite cannot be a null reference (Nothing in Visual Basic).

Remarks

Checks the SPSite to determine whether the PublishingResources feature has been activated on the SPSite object. This method must be called before a PublishingSite object is instantiated.

Examples

using SPSite = Microsoft.SharePoint.SPSite;
using PublishingSite = Microsoft.SharePoint.Publishing.PublishingSite;
using SPWeb = Microsoft.SharePoint.SPWeb;
using PublishingWeb = Microsoft.SharePoint.Publishing.PublishingWeb;
using PublishingWebCollection = Microsoft.SharePoint.Publishing.PublishingWebCollection;
using SPWebTemplate = Microsoft.SharePoint.SPWebTemplate;

namespace Microsoft.SDK.SharePointServer.Samples
{
    public static class PublishingWebCollectionCodeSamples
    {

  // This method creates a new PublishingWeb below the root Web of a PublishingSite object.
  //
  // Prerequisites:
  // The SPSite passed should be a site that supports publishing.
  //
  // This sample demonstrates use of:
  // PublishingSite.IsPublishingSite( SPSite )
  // PublishingSite constructor
  // PublishingSite.RootWeb
  // PublishingWeb.GetPublishingWebs()
  // PublishingWeb.Web
  // PublishingWebCollection.Add(string, uint, string)
  public static void CreatePublishingWebBelowRoot( SPSite site, SPWebTemplate webTemplate )
  {
// Replace these variable values and input parameters with your own values.
// yourWebURL: name for the PublishingWeb object to create.
string yourWebUrlName = "yourWebUrl";

PublishingWeb newWeb = null;

try
{
    //
    // Validate the input parameters.
    //
    if (null == site)
    {
  throw new System.ArgumentNullException("site");
    }
    if (null == webTemplate)
    {
  throw new System.ArgumentNullException("webTemplate");
    }

    PublishingSite publishingSite = null;
    if (!PublishingSite.IsPublishingSite(site))
    {
  throw new System.ArgumentException(
"The SPSite is expected to be a PublishingSite",
"site");
    }
    publishingSite = new PublishingSite( site );

    SPWeb rootWeb = publishingSite.RootWeb;
    if( !PublishingWeb.IsPublishingWeb( rootWeb ))
    {
  throw new System.ArgumentException(
"The SPSite.RootWeb is expected to be a PublishingWeb",
"site");
    }

    PublishingWeb rootPublishingWeb = PublishingWeb.GetPublishingWeb( rootWeb );
    PublishingWebCollection publishingWebs = rootPublishingWeb.GetPublishingWebs();

    //
    // Create the new PublishingWeb object using the sample values provided.
    //
    newWeb = publishingWebs.Add(
  yourWebUrlName,
  rootWeb.Language,   // Replace with your own language value.
  webTemplate.Name ); // Replace with your Web template name.

    // The new PublishingWeb has the Publishing feature active.
    System.Diagnostics.Debug.Assert(
  null != newWeb.Web.Features[Microsoft.SharePoint.Publishing.FeatureIds.Publishing]);
 
}
finally
{
    //
    // Always close the SPWeb object when done to release memory.
    //
    if( null != newWeb )
    {
  newWeb.Web.Close();
    }
}

  }
    }
}
Imports SPSite = Microsoft.SharePoint.SPSite
Imports PublishingSite = Microsoft.SharePoint.Publishing.PublishingSite
Imports SPWeb = Microsoft.SharePoint.SPWeb
Imports PublishingWeb = Microsoft.SharePoint.Publishing.PublishingWeb
Imports PublishingWebCollection = Microsoft.SharePoint.Publishing.PublishingWebCollection
Imports SPWebTemplate = Microsoft.SharePoint.SPWebTemplate

Namespace Microsoft.SDK.SharePointServer.Samples
    Public NotInheritable Class PublishingWebCollectionCodeSamples

  ' This method creates a new PublishingWeb below the root Web of a PublishingSite object.
  '
  ' Prerequisites:
  ' The SPSite passed should be a site that supports publishing.
  '
  ' This sample demonstrates use of:
  ' PublishingSite.IsPublishingSite( SPSite )
  ' PublishingSite constructor
  ' PublishingSite.RootWeb
  ' PublishingWeb.GetPublishingWebs()
  ' PublishingWeb.Web
  ' PublishingWebCollection.Add(string, uint, string)
  Private Sub New()
  End Sub
  Public Shared Sub CreatePublishingWebBelowRoot(ByVal site As SPSite, ByVal webTemplate As SPWebTemplate)
' Replace these variable values and input parameters with your own values.
' yourWebURL: name for the PublishingWeb object to create.
Dim yourWebUrlName As String = "yourWebUrl"

Dim newWeb As PublishingWeb = Nothing

Try
    '
    ' Validate the input parameters.
    '
    If Nothing Is site Then
  Throw New System.ArgumentNullException("site")
    End If
    If Nothing Is webTemplate Then
  Throw New System.ArgumentNullException("webTemplate")
    End If

    Dim publishingSite As PublishingSite = Nothing
    If Not PublishingSite.IsPublishingSite(site) Then
  Throw New System.ArgumentException("The SPSite is expected to be a PublishingSite", "site")
    End If
    publishingSite = New PublishingSite(site)

    Dim rootWeb As SPWeb = publishingSite.RootWeb
    If Not PublishingWeb.IsPublishingWeb(rootWeb) Then
  Throw New System.ArgumentException("The SPSite.RootWeb is expected to be a PublishingWeb", "site")
    End If

    Dim rootPublishingWeb As PublishingWeb = PublishingWeb.GetPublishingWeb(rootWeb)
    Dim publishingWebs As PublishingWebCollection = rootPublishingWeb.GetPublishingWebs()

    '
    ' Create the new PublishingWeb object using the sample values provided.
    '
    newWeb = publishingWebs.Add(yourWebUrlName, rootWeb.Language, webTemplate.Name) ' Replace with your Web template name. -  Replace with your own language value.

    ' The new PublishingWeb has the Publishing feature active.
    System.Diagnostics.Debug.Assert(Nothing IsNot newWeb.Web.Features(Microsoft.SharePoint.Publishing.FeatureIds.Publishing))

Finally
    '
    ' Always close the SPWeb object when done to release memory.
    '
    If Nothing IsNot newWeb Then
  newWeb.Web.Close()
    End If
End Try

  End Sub
    End Class
End Namespace

See also

Reference

PublishingSite class

PublishingSite members

Microsoft.SharePoint.Publishing namespace

PublishingSite

IsPublishingWeb