Wednesday, October 15, 2014

Set Search and Offline Availability programmatically

Introduction

As all we know SharePoint is having an option to search a content through out the site. We can able to skip some sites in search crawling. Normally, we can do this manually in the site.
Goto Site Settings --> Search and Offline Availability and set option as you want.

Let see, How can we set this programmatically.

Code

var contextWeb = SPContext.Current.Web;
contextWeb.AllowUnsafeUpdates = true;
contextWeb.AllowAutomaticASPXPageIndexing = false;
contextWeb.ASPXPageIndexMode = WebASPXPageIndexMode.Never;
contextWeb.NoCrawl = true;
contextWeb.Update();
contextWeb.AllowUnsafeUpdates = false;

Monday, October 13, 2014

Applying site policy programmatically in SharePoint 2013

Introduction

We all know that about Site Closure and deletion. Click here to know some notes about it. Here, i am going to give an idea to apply this site policy to subsites programmatically. After setting Site Closure and Deletion follow the below instructions.

Site Policy

Refer  Microsoft.Office.RecordsManagement.InformationPolicy dll in your project and inherit this in the page

using Microsoft.Office.RecordsManagement.InformationPolicy;

var contextWeb = SPContext.Current.Web;
 contextWeb.AllowUnsafeUpdates = true;

ProjectPolicy groupPolicy = (from s in ProjectPolicy.GetProjectPolicies(contextWeb.Site.OpenWeb()) where s.Name == "Your Sit Policy Name" select s).FirstOrDefault();
                ProjectPolicy.ApplyProjectPolicy(contextWeb, groupPolicy);
contextWeb.Update();
contextWeb.AllowUnsafeUpdates = false;

That's all Site Policy will apply in your site. To ensure that, Goto Site Closure and Deletion in Site Settings and check applied Site Policy.

Tuesday, October 7, 2014

Set Property value for a Site Programmatically

Introduction

Property bag is having property with their Key and Value. Its used to keep value and used it within a site. It will be used across the subsites, If we set a property in Main site collection. Let see how to set this property programmatically.

Set Property

var web = SPContext.Current.Web;
web.AllowUnsafeUpdates = true;
web.Properties.Add("Key", "Value");
web.Properties.Update();
web.AllowUnsafeUpdates = false;

//Get a Property value
var r = SPContext.Current.Web.Properties["Your Property Key"]