Reading and Writing RSS with SharePoint Paul Schaeflein 9/6/2005 Printer Friendly Version A popular request for intranets is inclusion of current news or sports headlines. Microsoft addressed this request in its Online Web Part gallery with some Web Parts that display content from MSN. These Web Parts provide the basics from a single provider. On today's Internet, there are many other choices for information. This month, I will review a few different solutions for including part of this vast information on a SharePoint site. Syndication technology has grown very popular over the last year or so. This technology is called RSS, and it allows content publishers and consumers to exchange information very simply. At its core, RSS is an XML file that follows a specific schema. A publisher produces an "RSS feed" and makes it available at a location (URL). Consumers (which are usually computer programs) read the feed via the internet and re-format the information for display. Since SharePoint understands XML, it is well suited to process RSS. RSS on the internet RSS is used in many places on the internet. Major news publishers (The New York Times, CNN, USA Today) provide RSS Feeds. The primary Web portals (My Yahoo!, My MSN and Google's Internet Gateway) allow visitors to add RSS Feeds to their personalized home page. There are also many Windows (and Mac) programs that consume RSS Feeds. These programs, called aggregators, are also being merged into forthcoming versions of internet browsers. RSS Feed Readers The SharePoint community has produced many different RSS reading solutions. As you can imagine, these solutions range in features and complexity. I want to focus on a few that I found to be easy to install and use. My favorite RSS reader for SharePoint is the solution created by George Tsiokos and can be found at http://x5.tsiokos.com/posts/2005/01/11/wss-rss/. This reader leverages the built-in XML Web Part. Visit George's Web site and complete the form. When the form is submitted, you can download a Web Part description file (.dwp) that combines the RSS feed with formatting instructions. After saving this description file to your local disk, you can import it onto a Web Part page. No installation necessary; exactly what a busy administrator needs. In the screenshots below, I imported the generated .dwp file using Intranet Journal's RSS Feed. A custom Web Part to read RSS feeds is available at http://www.smilinggoat.net/stuff.aspx. This Web Part will require changes on the Web server, either using the STSADM command or manually editing the web.config file. The Smiling Goat RSS reader Web Part uses the standard SharePoint Tool Pane to configure the location of the RSS feed and a few other options. One option that the end-users will find especially helpful is "Show Dates." You may recall that SharePoint typically displays new items with a "New!" graphic. The RSS Reader Web Parts are not showing SharePoint content, so this feature is not available. Showing the date of the items in the feed will make identification of recent items much easier. Also, the Smiling Goat Web Part allows multiple RSS Feeds in a single Web Part. RSS Feed Generators In addition to consuming RSS Feeds in a Web Part page, another use of RSS is producing RSS Feeds for SharePoint content. SharePoint Lists, in particular, are natural items to be published using RSS. The publishing of RSS content must be carefully planned. The default SharePoint configuration requires users to authenticate before viewing content. Most content that is syndicated via RSS can be viewed anonymously. But don't let this requirement stop you from considering RSS. Even within a SharePoint installation, RSS can be used to distribute information and eliminate duplication. Consider this example: a corporate department is in charge of performing marketing activities. This department gets its direction from a committee of executives. It is possible that the committee has a Web site, as does the department. By formatting applicable information on the departmental site, the committee page can display this information in a Web Part. The first RSS Feed generator I want to discuss is the Syndication Generator for Windows SharePoint Services from http://www.bluedoglimited.com. This program is installed as a Web Part, with the output being an RSS Feed. The generator has many configuration options that allow you to select the lists (and/or document libraries) to syndicate. The Bluedog Limited Syndication Generator is subject to the authentication issues mentioned above. When viewing the RSS Feed, credentials must be provided, just as they are for regular SharePoint sites. If you are consuming the feeds on an intranet, this will be a transparent operation, due to IIS's integrated authentication feature. When working with SharePoint data using its API, the security issues raised above can make the programming very complex. The context of the page request dictates the security credentials used to access the SharePoint resources. The design of the Syndication Generator alleviates most of these issues. The Syndication Generator can access Lists and Libraries that are in the same site as the Web page containing the Generator Web Part. Another RSS Feed Generator is the solution from U2U (http://www.u2u.net/software.aspx). The U2U solution is a standalone application that will access the SharePoint data and generate the RSS Feeds. The application also contains a GUI interface to configure the feed, include a template system to provide fine-grained control over the List columns that are included in the feed. You can read more about this solution from the Web log of one of the developers at http://weblogs.asp.net/jan/archive/2005/02/17/375097.aspx. This page also includes a short movie (Windows Media format) that shows the tool in action. SharePoint and RSS The number of uses for RSS is limited only by your imagination. This syndication format has proven to be very effective is distributing content throughout the internet. RSS complements SharePoint by providing another method to publish the content inside your corporate portal or intranet.