Update: SharePoint Online RSS Viewer now supports external feeds

 

[warning_box]Note: This version of the Web Part only supports external feeds. SharePoint Online RSS feeds do not work with it.

A newer version of the web part is available at Updated Release: RSS Feed Web Part for Office 365[/warning_box]

As it is commonly known, only Sandboxed Solutions are allowed on Office 365. A consequence of this is that some of the SharePoint functionality that one would like to use is not available. For example, any external connections to other sites aren’t supported, which also means that the RSS Viewer Web Part and the XML Viewer Web Part are not available at the moment (http://community.office365.com/en-us/w/release-notes/312.aspx#SharePointOnline) as they would try to get data (RSS Feed, e.g.) from an external site.

As I wanted to integrate a RSS feed on my site, I was looking at other options of having this functionality, including programming my own web part. Naturally, reproducing the functionality of the RSS Viewer Web Part wouldn’t help, as any outgoing connections on the server side are not allowed (one simply can’t grab the feed from an external site). I was considering using some jQuery, however,  as it runs on the client side (in the browser), and we are thus not restricted here in terms of accessing external feeds. I found a nice plugin named zRSSFeed that provides exactly what I wanted, and as I wanted to create a solution that is easy to reuse and configurable, I started to develop my first own Web Part.

I created a new solution in Visual Studio, added a Web Part, added the required zRSSFeed and jQuery files, and included them in my Web Part. Together with some minor modifications to the zRSSFeed code and some custom properties from the Web Part, I now have a RSS Feed Web Part that works in Office 365! The download links (.wsp Solution for deployment, as well as the source code) are at the bottom of this post.

image

 

How to use the Web Part:

The first step is to upload and activate the solution file to your Office 365 site collection. Go to your target Site Collection’s settings, and select Solutions under Galleries:
Image(15)

Click on Upload Solution
Image(16)

Browse for the solution file on your hard drive, and confirm.

Afterwards, click on Activate
Image(17)

The Web Part is now available in the Web Part Gallery. When you edit a page and add a Web Part, you can find it under the category Custom:
Image(18)

 

Image(19)The Web Part offers the following customisation options:

  • RSS Feed Url – this is of course required to display something. Enter the target feed here
  • Custom CSS Link – if you want to apply your own CSS styles, add a link to a .css file here that contains the appropriate styles
  • User Solution’s jQuery – sometimes you already have jQuery loaded on your site. If you want to avoid any conflicts, you can uncheck this option (checked by default) in order to not use the jQuery source provided with this solution
  • Number of items to display – how many items should be shown in the Web Part

 

 

If you need to know the layout of the output for your styling purposes (tags, classes), here’s the default set by zRSSFeed:

<div id="test" class="rssFeed">
  <div class="rssHeader"><
    <a>... (heading) ...</a>
  </div>
  <div class="rssBody"></div>
    <ul>
      <li class="rssRow odd">
        <h4><a>... (title) ...</a></h4>
        <div>... (date) ...</div>
        <p>... (description) ...</p>
        <div class="rssMedia">
          <div>Media files</div>
          <ul>
            <li><a>... (media link) ...</a></li>
          </ul>
        </div>
      </li>
      <li class="rssRow even">...</li>
...
    </ul>
  </div>
</div>

 

Limitations:

You cannot apply different style sheets to multiple Web Parts on a page. The style sheet that is loaded last will be used for all Web Parts (normal behaviour for CSS, what happens is that the same style is defined multiple times, the last definition ‘overwrites’ the previous ones). This also means that if you add two Office 365 RSS Feed Web Parts onto the same page, and provide a custom CSS link for the first Web Part, the default style sheet for the second Web Part will ‘overwrite’ any definitions that you made in your own CSS file.

 

Downloads:

[warning_box]Note: This version of the Web Part only supports external feeds. SharePoint Online RSS feeds do not work with it.

A newer version of the web part is available at Updated RSS Feed Web Part for Office 365[/warning_box]

Please feel free to modify the source code according to your own needs. If you’ve got an interesting change, you can also leave a comment here or send me an email.

22 thoughts on “RSS Feed Web Part for Office 365”

  1. A good solution. If you wanted to do this server-side, the Data Form Web Part (DFWP) supports outbound feed connections using the XmlDataSource binding. You can then style the display using XSLT.

  2. Rene: Thx for working on this.
    The code works for a moment, and then I get a “Sandboxed code execution request failed” in the window where the rendered feed should be. (I am using this RSS feed: http://kingcountynews.wordpress.com/feed/ .) I’m also using Microsoft’s online demo of SharePoint 2010/Office 365. (Baffling beyond words that MS can’t offer an RSS solution, for external or internal feeds.)
    Know what’s up? Thx.

  3. Hmmm. Now it’s working again. Dunno what might have caused that error, but if it crops up again, I’ll try to duplicate it… thx.

  4. Interesting solution, thanks for sharing. When I use it in O365 I get warnings from the browser (IE prompt, Chrome warning in address bar) about mixed content, I think because the call to the google api is http not https? Have you seen that or thought about ways to avoid it?

  5. Hi tombraman,
    my apologies, totally overlooked your two comments until just now. Glad that it’s working now.
    Bryan, first time I hear of this error. Does it show up all the time? Do you only see it for some specific feeds?

  6. Is it possible to add an internal RSS Feed from a Sharepoint List to that webpart? I get “The specified feed URL is invalid” if i use the feed url from an internal sharepoint list or library.

  7. Hi Thomas,
    I just tested it with my office 365 account and didn’t encounter any error. I activated RSS for a list, chose 3 columns, and then added the RSS feed to my web part. No errors anywhere, the items were displayed successfully
    Do you get the feed from within the same site collection?

  8. Hi Rene,
    i will try again today. The feeds come from the same Site Collection.
    Is there any option to aggregate a number of feeds with this webpart? Are there better options? I want to aggregate Information from several subsites on the main site.

  9. Hi Thomas,
    did it work in the meantime, or do you still get an error?
    Also, what happens if you open the RSS link in the browser, does it display the items of the list/library?
    This feed doesn’t aggregate them, but it should be possible to extend it for this functionality. I currently don’t have time to do so (probably only early next year), otherwise I would have tried to implement it myself.
    As for aggregating information from subsites on the main site, if you have an Enterprise plan you could activate the Publishing feature on the main site, and then use the Content Query Web Part to query specific information and have it aggregated.

  10. Hi Rene,
    Great work, however the Rss webpart shows Rss feeds from other sites but it doesn’t show feeds from a SharePoint List and gives this message “Feed could not be loaded”.
    Thanks

  11. Hi,

    I tried to recreate the issue, but it’s working for me. For example, I added a feed of a list at http://www.office365management.com/Pages/SME-Productivity.aspx (the top web part), no issues. Using the web part in a teamsite (so where you have to be authenticated) also doesn’t cause any problems.

    Can you provide more information on the situation? Do you use it on a team site or on the public website? Same behaviour in all browsers? When you open the feed URL in the browser, does the feed get displayed?

    Rene

  12. Hi Rene

    I just instaalled your web part and have tried feeding it with a list feed from my sharepoint site. the sharepoint feeds are a bit cryptic and I dont seem to be able to get your viewer running with it. The feed looks like this:

    “https://shiftthink.sharepoint.com/_layouts/listfeed.aspx?List=%7BBF34348B%2DD69D%2D4C1B%2D9A85%2D790E464CED61%7D&Source=https%3A%2F%2Fshiftthink%2Esharepoint%2Ecom%2FLists%2FBrainDump%2FAllItems%2Easpx#”

    how can i make this work?

    Best regards,
    michael

  13. Hi all,

    after Michael’s comment, I was finally able to reproduce the problem (not sure why I couldn’t before, the way I see the problem now I must have done something wrong, as in the problem should have occurred for me as well).

    The issue is that the jQuery library I use, called zRSSFeed, uses a call to Google to fetch the RSS feed items. Google is of course not allowed to see the contents of a SharePoint Online TeamSite, thus this fails.

    I haven’t got a workaround yet, thinking of possible solutions to avoid this. I can’t promise that I’ll be able to get something done that will work, but if I do, I’ll post another update

    1. Hi,
      it is (currently) not possible to add multiple feeds to one web part. You’d have to add 1 web part per feed to make it work with the original feeds
      It should also work with external feed aggregators (don’t know of any at the moment, as the 2 I knew are closed), which allow you to combine multiple feeds into a single feed, that you could then use here

  14. Hi Rene,
    I tried using this, but the feeds doesn’t load. The web part continuously show Processing icon, but to no effect. Am I going wrong somewhere? I followed all the steps listed above. Your reply would be much appreciated. Thanks.

    Roshan

    1. Hi Roshan,
      I would first check if there are any JavaScript errors. In Internet Explorer, open the Internet Explorer Developer Tools (F12), for Firefox there’s the Firebug plugin.
      If there are no errors, I would continue with checking the traffic with Fiddler

      Rene

Leave a Reply

Your email address will not be published. Required fields are marked *