Introduction:
Really Simple Syndication (RSS) is used for transmitting information across the internet and intranets. We can also subscribe to RSS Feeds from SharePoint libraries, lists, and other elements. We can use an RSS Viewer Web Part to display an RSS Feed on a SharePoint site. An RSS Viewer Web Part provides a convenient way to view information from many sources on a single page.
In this article we will be seeing how to programmatically configure RSS settings for the SharePoint list.
Configure RSS settings for the list:
- Go to the SharePoint List => List Settings => Communication => RSS settings.
- Open Visual Studio 2010.
- Go to File => New => Project.
- Select Console Application template from the installed templates.
- Add the following references.
- Add the following namespaces.
- using Microsoft.SharePoint;
- Replace Program.cs with the following code.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint;
namespace RSSSettings
{
class Program
{
static void Main(string[] args)
{
using (SPSite site = new SPSite("http://serverName:1111/sites/Sample/"))
{
using (SPWeb web = site.RootWeb)
{
SPList list = web.Lists.TryGetList("Contributor");
if (list != null)
{
//Configure RSS settings
}
else
{
Console.WriteLine(list.Title + " does not exists in the site");
}
Console.ReadLine();
}
}
}
}
}
//Enable RSS settings
list.EnableSyndication = true;
list.Update();
// Truncate multi-line text fields to 256 characters
list.RootFolder.Properties["vti_rss_LimitDescriptionLength"] = 1;
// Title
list.RootFolder.Properties["vti_rss_ChannelTitle"] = "Contributor List RSS";
// Description
list.RootFolder.Properties["vti_rss_ChannelDescription"] = "RSS feed for Contributor List";
// Image URL
list.RootFolder.Properties["vti_rss_ChannelImageUrl"] = "/sites/Sample/_layouts/images/siteIcon.png";
// Maximum items to include
list.RootFolder.Properties["vti_rss_ItemLimit"] = 15;
// Maximum days to include
list.RootFolder.Properties["vti_rss_DayLimit"] = 3;
list.RootFolder.Update();
// For Document Library
// Include file enclosures for items in the feed?
list.RootFolder.Properties["vti_rss_DocumentAsEnclosure"] = 0;
// Link RSS items directly to their files?
list.RootFolder.Properties["vti_rss_DocumentAsLink"] = 0;