Options for Aggregating Sharepoint Sub-site content
Creating aggregated views or Sharepoint content is a reoccuring topic. I've blogged about using RSS feeds to create aggregations or Roll-Ups (actually a CorasWorks trademark) before.
You generally have more options if the content you're aggregating (or rolling up) is located on subsites to a specific site.
The U2U RSS Feed for Microsoft Sharepoint 2003 will enable you to define highly customizable RSS feeds for specific lists or document libraries. Only drawback is that you actually have to define each feed, which pretty much rules out using it when your site count grows on a daily basis. For this scenario the previous version that Jan created is more suitable, because it exposes a generic What's New feed for all sites on your server.
RSS enables monitoring of content, but in other scenarios you'd want to work on the aggregated content more like a ListViewWebPart. The first thing you'll run across is the CorasWorks Roll-upTM webparts. These are general purpose well crafted webparts, but have a couple of drawbacks:
- If you want the different views (TreeView, SpreadSheetView, MyView) you'll need separate licenses which makes it a bit pricy for smaller projects.
- Only support for standard lists (Contacts, Events etc)
- If you want to add other columns than the default ones you'll need the advanced solution which is even more pricy
- The SpreadsheetView is not the DatasheetView. Export to excel is done with IE context menu and is less than intuitive (right clicking a group in the aggregated view will export only that group for some reason)
For my current project the excel export of aggregated contacts was crucial so the CorasWorks Contacts Roll-up was not the best fit.
In order to make the aggregated view work just like a Sharepoint list it would be a good thing if it actually was a Sharepoint list. I ran across the Omnisys Sharepoint List Synchronizer (SLS) which enables you to sync lists with other lists, lists on subsites and other data sources through ODBC. SLS seemed like a good idea so I decided to install it.
Connecting to Sharepoint list sources produced a couple of unintuitive error messages, but I finally managed to hook up to the lists. I selected the List to Subsite connection type and ran the "synchronization". Apparently it wasn't much of a sync but more of a push from site to subsite lists. Because I was trying to do an aggregation/roll-up, the data was in my subsites, not the rootsite (which was empty) and guess what happened. SLS emptied all Contacts lists in the subsite ("synchronizing" the empty root list). This was not documented.
You might think I'm angry with Omnisys for this? Well, no. Because they've got another solution called the PowerAggregator.
There were no installation guide for the PowerAggregator, just an MSI, so I took the chance of installing it to the Staging environment. Without warning the Omnisys installer ran IISRESET on the server in the installation process. This was not documented and is really B-A-D, and I was almost tempted to just go right away and uninstall it.
So now you might think I got pissed off? Well no. I knew this was a webpart and I know what's involved in installing one. I just wish they had taken the trouble to warn me or document the behaviour. Why am I so calm? Because the PowerAggregator is a great webpart. It virtually delivers most of the CorasWorks Roll-up stuff for less than half the price of one rollup. The PowerAggregator is currently $700 per server allowing you to roll up whatever you want and do a nice Excel export (the xml export is rather crappy). The CorasWorks Contacts Roll-up is currently $1500 per server, and gives you one view on only Contacts lists with fixed columns.
Go get it, but do mind the installation procedure and do nag them for better documentation!