Content Rollup
April, 2007
A challenge faced by many adopters of SharePoint is the ability to aggregate, or roll-up, content from multiple sites. For example, several different ways of examining a tasks list – tasks assigned to me, overdue tasks, active tasks, etc. – would be relevant for many users. While each of the above can be easily provided through custom views of a single task list in a single site, it is more challenging to create and display a set of like elements across multiple lists or multiple sites. Tasks could be maintained in project sites, departmental sites, and personal sites. This is the challenge of aggregating, or rolling up, content. There are several approaches in SharePoint 2007 towards overcoming this challenge. The right approach depends on a number of factors.
There are many key considerations in determining which route to take including:
- The level of access to the server/site that is available – i.e., system administrator, site administrator, contributor, etc.
- The version of SharePoint is being used – Windows SharePoint Services (WSS) 3.0 or Microsoft Office SharePoint Server (MOSS) 2007.
- The type/types of information that needs to be rolled up – tasks, documents, issues, custom lists, etc.
- The sources of information to be rolled up – multiple lists within a single site, multiple sites within a site single collection, or multiple site collections.
- Roll-up display options, including:
- The type of information that needs to be displayed in the roll-up – item titles, date fields, status fields, etc.
- Sorting and grouping requirements.
- The level of development/programming skills, if any, that are available - .Net, XML/XSL, HTML
Based on the answers to the considerations above, there are several options for implementing rolled-up information, including several out-of-the-box web parts, some SharePoint APIs for developing web parts, and third-party web parts.
Content by Query Web Part
The Content by Query Web Part (CQWP) is a web part that comes out of the box with MOSS 2007 and can be used to aggregate content from any list or library type in SharePoint. The considerations noted above play into whether or not the web part is a viable option for rolling up information. *
- The web part is very flexible in terms of roll-up sources, filter values, sorting, and grouping in that any list type can be specified in the web part’s point-and-click interface. Additionally, any filter value, sort field, and group field can just as easily be applied.
- The default display of items is very basic – item title is the only thing displayed. The display can be modified, but knowledge of XML/XSL is required, and modifications are cumbersome.
- Page Designer rights are the highest level of security rights needed to use without modifying the display. Site collection admin rights are the highest level of rights needed to modify the display.
- Items with null values in displayed fields currently present issues – Microsoft is working on addressing this.
- The web part comes pre-packaged with MOSS installations, but is excluded from WSS installations.
- Aggregation source options include: o Multiple lists within a single site o Lists from all sites within a single site collection o Lists from all sites in the site collection falling below the site where the web part is displayed.
- The CQWP will not aggregate content from sites across multiple site collections.
User Docs and User Tasks Web Parts
The Content by Query Web Part (CQWP) is a web part that comes out of the box with MOSS 2007 and can be used to aggregate content from any list or library type in SharePoint. The considerations noted above play into whether or not the web part is a viable option for rolling up information. *
- The only item types displayed are documents/tasks.
- Additional columns – beyond the generic Title column included in the basic CQWP – are included in the display of individual items.
API Programming Options
In addition to the options noted above, the SharePoint API provides several programming options for writing custom aggregation web parts. The SPSiteDataQuery, SearchService, and AggregationWebParts are all programming interfaces provided by SharePoint for developers to code their own aggregation web parts. Several of the benefits of writing custom-developed web parts include:
- The ability to incorporate broader aggregation – such as content from multiple site collections.
- Greater control over the display of information – for example, the ability to display overdue tasks with a red font, or inactive projects with a grey background.
- Custom-written web parts can be deployed to both MOSS and WSS environments.
Some of the down sides of custom-developed web parts include:
- Heavy programming skills – C# or VB.Net – are required.
- In order to install the web parts in the SharePoint environment, system administrator-level access is required, which is not necessarily an option in large or hosted SharePoint environments.
Third-party web parts
Finally, for those interested in buying rather than building, roll-up web parts, several third-party companies have already written web parts that are designed to aggregate content. Among these companies are CorasWorks and Bamboo Solutions.
Typically, third-party roll-up web parts come with the following benefits:
Some of the down sides of custom-developed web parts include:
- No custom development skills are required
- Tremendous amount of flexibility in identifying the sources and display of information by setting web part properties in a point-and-click interface
- Easy re-use of the web parts are available to serve varying needs across the organization
- The web parts are available in both MOSS and WSS environments.
Other considerations, however, include the following:
- Like custom developed web parts, server administrator access is required in order to install the web parts.
- Licensing fees tend to be on a per-server basis. Additionally, with some third-party companies, annual or monthly support fees are required.