In this article we will be seeing how to create, modify and delete scope display group using c# in SharePoint 2010.
Create scope display group:
In the SharePoint site you can create a new display group for the scope and associate the scope with the group.
Through UI you can go to Site Actions => Site Settings =>Site Administration => Search Scopes => Display group => Create a new display group.
The same thing can be achieved using c# code.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.SharePoint; using Microsoft.Office.Server; using Microsoft.Office.Server.Search.Administration;
namespace SearchScopeDisplayGroup {
class Program Â
{
static void Main(string[] args)Â Â Â Â Â Â Â
{Â Â Â Â Â Â Â Â Â Â using (SPSite site = new SPSite("http://servername:1111/"))Â Â Â Â Â Â Â Â Â Â Â
{
using (SPWeb web = site.RootWeb)Â Â Â Â Â Â Â Â Â Â Â Â Â Â
{
SearchContext searchContext = SearchContext.GetContext(site); Scopes scopes = new Scopes(searchContext); ScopeDisplayGroupCollection displayGroupColl = scopes.AllDisplayGroups; ScopeDisplayGroup displayGroup = displayGroupColl.Create("CustomDisplayGroup","Custom Display Group", new Uri(site.Url), true); displayGroup.Add(scopes.GetSharedScope("CustomSiteScope"));Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â
displayGroup.Add(scopes.GetSharedScope("CustomScope"));Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â
displayGroup.Default = scopes.GetSharedScope("CustomScope");Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â
displayGroup.Update();Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â
}Â Â Â Â Â Â Â Â Â Â
}Â Â Â Â Â Â Â
}
}
}
Modify scope display group:
Here we will be modifying the existing display group using C#.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.SharePoint; using Microsoft.Office.Server; using Microsoft.Office.Server.Search.Administration;
namespace SearchScopeDisplayGroup {
class Program { static void Main(string[] args)
{Â Â Â Â Â Â Â Â Â Â using (SPSite site = new SPSite("http://servername:1111/")) { using (SPWeb web = site.RootWeb) { SearchContext searchContext = SearchContext.GetContext(site); Scopes scopes = new Scopes(searchContext);Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ScopeDisplayGroup displayGroup = scopes.GetDisplayGroup(new Uri(site.Url),"CustomDisplayGroup");Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â
displayGroup.Name = "CustomDisplayGroupNew";Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â
displayGroup.Description = "Custom Display Group New";Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â
displayGroup.Remove(scopes.GetSharedScope("CustomScope"));Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â
displayGroup.Add(scopes.GetSharedScope("BNew"));Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â
displayGroup.Update();Â Â Â Â Â Â Â Â Â Â Â Â Â
}Â Â Â Â Â Â Â Â Â Â Â
}Â Â Â Â Â Â Â
}Â Â
}
}
Delete scope display group:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.SharePoint; using Microsoft.Office.Server; using Microsoft.Office.Server.Search.Administration;
namespace SearchScopeDisplayGroup
class Program Â
{
static void Main(string[] args)Â Â Â Â Â Â
{Â Â Â Â Â Â Â Â Â Â
using (SPSite site = new SPSite("http://servername:1111/"))Â Â Â Â Â Â Â Â Â
{
using (SPWeb web = site.RootWeb)Â Â Â Â Â Â Â Â Â Â Â Â Â Â
{
SearchContext searchContext = SearchContext.GetContext(site);
Scopes scopes = new Scopes(searchContext);
ScopeDisplayGroup displayGroup = scopes.GetDisplayGroup(new Uri(site.Url),"CustomDisplayGroup"); displayGroup.Delete();Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â
}Â Â Â Â Â Â Â Â Â Â Â
}Â Â Â Â Â
}Â Â Â
} }
Comments