About Me

Having 12 years experience in Microsoft technologies.Since more than 7 years working in SharePoint technologies. Expert in providing consultation for SharePoint projects. Hands on with development and administration.
Showing posts with label Tabs. Show all posts
Showing posts with label Tabs. Show all posts

Thursday, 12 December 2013

Programatically remove a tab from all the SharePoint 2010 sites

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint.Publishing;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Administration;
using Microsoft.SharePoint.Navigation;
namespace GlobalNavigationRemove
{
class Program
{
static void Main(string[] args)
{
string webAppUrl = string.Empty;
int iCounter = 0;
int iNbrOfSites = 0;
if (args.Length > 0)
{
Console.WriteLine(string.Format("Web Application: {0}", args[0]));
webAppUrl = args[0].ToString();
if (args.Length > 1)
{
Console.WriteLine(string.Format("Test Iteration: {0}", args[1]));
iNbrOfSites = int.Parse(args[1].ToString());
}
}
SPWebApplication webApp = SPWebApplication.Lookup(new Uri(webAppUrl));
Console.WriteLine(string.Format("Total Site collections detected: {0}" , webApp.Sites.Count.ToString()));
Console.WriteLine(string.Format("*************************************Starting the removal ********************************"));

foreach (SPSite siteCollection in webApp.Sites)
{
if (iCounter > iNbrOfSites && iNbrOfSites != 0)
{
return;
}
PublishingWeb myPublishingWeb = PublishingWeb.GetPublishingWeb(siteCollection.OpenWeb());
Console.WriteLine(string.Format("Now Processing : {0}", myPublishingWeb.Title));
SPNavigationNodeCollection publishingNavigationNodes = myPublishingWeb.Navigation.GlobalNavigationNodes;
try
{
SPWeb web = siteCollection.OpenWeb();
SPNavigationNodeCollection webNavigationNodes = web.Navigation.TopNavigationBar;
foreach (SPNavigationNode node in webNavigationNodes)
{
if (node.Title.Trim().ToLower() == "home")
{
node.Delete();
}
}
}
catch (Exception ex)
{
Console.WriteLine(string.Format("Exception Occurred while processing site {0} \n\n", ex.ToString()));
}
iCounter++;
}
}
}