For my current project at work I've been customizing SharePoint's publishing template for an Internet-facing website built on top of MOSS 2007. All in all we're really not doing anything too crazy with the site, but I did run into one roadblock that I think is worth mentioning here. It may not be completely end-user related, but I do think it is a good thing to keep in mind if you're sitting down with your SharePoint administrator(s) to plan how you're going to create your company's website in SharePoint.
The client wants to display an RSS feed on the main home page that outputs their most recent press releases. Using the RSS feed will cut down on the manual upkeep required to keep the content on the home page fresh and allow them to only have to maintain their press release information in a single place. I've been creating the master pages and page layouts for this new site on a sandbox server I built, so that I can get the finished product to where it needs to be before we deliver it to the client. I created a web part zone in the page layout of the home page, and then loaded up the page in IE to add the RSS Viewer web part to the page. That's where I ran into trouble.
The first issue I encountered was that the RSS Viewer web part was not available in the web part gallery as I expected. So I fired up a separate web application on that sandbox server, opened up one of its sites that did not use the publishing site template in IE, and checked the site's web part gallery. Sure enough, the RSS Viewer web part was available. That told me it wasn't a problem with the SharePoint install on the server.
Next, after some serious digging at SearchForSharePoint.com (sorry about the gratuitous plug), I went back to my publishing site and took a look at the XML Web Part. My thinking was that I could still point that web part at the RSS feed, and then apply an XSLT stylesheet to it for formatting. In fact, I went back to the RSS Viewer web part in my other site, copied out its XSLT and applied it to my XML web part. This resulted in an error being displayed in the web part. After checking online, the errors I was seeing in the browser and SharePoint's logs indicated that it was an issue with a proxy server not being configured for the server, which makes no sense because this sandbox server can reach the internet without the use of a proxy.
After ruling out the XML Web Part, I opened up the publishing site's Site Settings and took a look at the Web Part gallery list for the site. I decided to see if it was possible to manually add the RSS Viewer web part to the site's gallery so I could put it on the page. When I took a look at the list of available web parts I didn't see the RSS Viewer, but I did see a web part called "RSS Aggregator", which I had never heard of before. I went ahead and added it to my site's gallery, then added it to the site's home page. Once I configured it for the RSS feed, I saw pretty much the same errors as I did with the XML Web Part, ending that thread of investigation.
I then remembered that there are third party web parts out there, such as the Feed Reader Web Part from Smiling Goat, which I hoped would resolve my issue. So I grabbed the installer from Smiling Goat and ran it on my server (I know there's a newer version of the web part out on CodePlex, but this version has worked for me in the past so I went with it), but ran into the same problems again and the feed would not render.
A coworker of mine has been doing a lot of work for a different client who is building several custom MOSS publishing sites, so I pinged him to see if he could duplicate my problem. He opened up one of his sandbox publishing sites, checked the web part gallery and lo and behold, there's the RSS Viewer Web Part. He added it to the page, pointed it at my RSS feed, and it rendered without a hiccup. Needless to say I was puzzled and frustrated.
So we started looking at the configuration of his site, and immediately I noticed that he had some features enabled that I didn't in my publishing site, specifically the ones relating to Enterprise licensed functionality. So I went back into my publishing site and enabled the following two Features:
-
Office SharePoint Server Enterprise Site Collection features - this is enabled in the Site Collection Features link located in the Site Collection Administration section. Enabling this feature is what put the RSS Viewer web part in my publishing site's web part gallery.
-
Office SharePoint Server Enterprise Site features - this is enabled in the Site features link located in the Site Administration section. You do not need to enable this feature to add the web part to the top-level publishing site, but I think it is a good idea to enable both of these features in tandem.
Once I had the RSS Viewer web part in my gallery, it was smooth sailing. The feed displayed, and I tweaked the XSLT in the web part to customize its output to meet my design requirements.
I'm having a hard time understanding why I need the Enterprise features to get the RSS Viewer web part, but that's the case. It just seems strange, since that web part is available in other Standard license site templates, that you can't get it in the publishing site template. The only thing I can figure out is that it is assumed you'll be enabling the Enterprise features as a standard practice for publishing sites, which I guess I'll be doing in the future as a standard configuration step.