Partilhar via


Methods to achieve RSS Viewer Web Part functionality in SharePoint Online(O365-S)

SharePoint Online has some known restrictions. One among these is Non-Availability of RSS Viewer Web Part(click here).

Although RSS Viewer web part shows up in the web part list, when you try adding it to the page you get the below error message displayed.

Error message when you try to add an RSS Web Part in Microsoft SharePoint Online: "Web Part or Web Form Control on this Page cannot be displayed or imported. The type is not registered as safe"

As we are aware that none of the Sandbox web parts can connect to external data sources, RSS Viewer Web Part is no different. However future version of O365 might support RSS Viewer functionality.

This blog provides you workaround to achieve RSS Viewer Functionality.

We can achieve RSS viewer functionality by below methods.

1) Using jQuery Plugins

SharePoint Online web parts cannot directly connect to external sources. We can use Either JavaScript or Silverlight web part to accomplish connectivity.

jQuery Plugins can we used to connect to RSS Feeds. One of the jQuery plugin available is https://www.zazar.net/developers/jquery/zrssfeed/ 

Once the plugin is included in your JavaScript file, use the below function to fetch the Feed.

function LoadFeed(target, rssFeedUrl, itemCount) {
jQuery(target).rssfeed(rssFeedUrl, {
limit: itemCount
});
}

2) Using Silverlight Web Part

Other alternative for jQuery is Silverlight WebPart. As we are aware that Silverlight web part run on client browser and has no restriction on connectivity to external source irrespective of whether they are deployed on SharePoint online or not. Using Silverlight web part to achieve this is a wise choice.

From the Response of the RSS Request, read the xml elements and display it in a list.

Silverlight can not access the web resources which are on other domains without a crossdomain.xml or clientaccesspolicy.xml file in place. So make sure you load only such feeds which have either of these files at root location.

Note: Connectivity can be established only to Anonymous RSS Feeds and not to Authenticated Feeds.