With the SPSProfessional RollUp WebPart you can aggregate contents from different lists and sites.
The SPSRollUp webpart is based in the well known csegRollUp of Carlos Segura that is undoubtedly one of the most used webparts for SharePoint 2003.
With SPSRollUp you can aggregate incoming content from various lists. To do this you only have to specify the site from which you want to crawl data, your wish lists and the fields’ names.
The SPSProfessional RollUp, crawls every site and adds the lists and fields’ contents.

Installation
See: Install SPSProfessional Solutions
Installation Requirements
- The SPSProfessional RollUp WebPart performs in WSS 3 and or MOSS 2007
- SharePoint Administrator’s Account is needed to install the solution
- Require SPSProfessional Framework installed
Samples
WebPart Properties
In the webpart properties you can configure:
Top Site: Site where the aggregation begins, if the Top Site property is empty the RollUp will begin at the current web level
Lists: List names, you can specify more than one list, separating the lists names with a comma.
Fields: Field names that you want to add, separating each field’s name with a comma.
CAML query: You can specify here a CAML query where the rollup will be used to obtain data from each list. If there is no query it will mean that all lists’ data have been used.
XSLT: The XML Style sheet is used to transform the XML into HTML. It is Included in the package. There are three XSL Samples.
- Generic Table sample
- Generic Table with Paging sample
- Generic Table with Paging and Sorting
See Sample Templates included in the solution package
Recursive CAML: If the CAML recursive query is checked the query will be in recursive form.
Included List Data: If it is checked, the rollup will add some extra fields to the results
- <_ListTitle/> List title
- <_ListUrl/> Url the default view
- <_SiteTitle/> Site title
- <_SiteUrl/> Site Url
- <_ItemID/> Item ID
- <_ItemUrl/> Item Url
- <_ItemEdit/> Edit Item Page
- <_RowNumber/> Row number in the set
Debug XML Results: If the SPSRollUp is checked it will show the XML crawled results so you can use this to test the XSL.
Debug CAML Query: If it is checked the SPSRollUp will show the original CAML query and the processed one that is the one in which the functions are substituted with your values.
Show Sample Functions: If it is checked the SPSRollUp will show an example table with a set of custom functions that you can use in the CAML queries and in the current values. (see: Functions)
Inside the CAML Queries you can use a set of custom functions made by SPSProfessional; these functions have the next format:
[<Variable Name>:<Function(<arguments>)> or <Default value>]
Variable name, it is the name of a variable for example “MyDate”, in this function you can use one of the SPSProfessional custom functions as DateFormat(’s’) that returns the current date time in a shorter format.
Then the correct syntax which you can use inside the query and it will be [Date:DateFormat(‘s’)]
<Where>
<Eq>
<FieldRef Name="StartDate" />
<Value Type="Text">[Date:DateFormat('s')]</Value>
</Eq>
</Where>
<Where>
This CAML query must return the items that match the condition where StartDate is equal to current date time.
For a complete list of functions see: Functions
Also this is a form to introduce a variable in the query. The variable has the function value as a default.
We can connect the rollup with other webparts in order to receive a value for this variable. If the value is provided by other webparts, the new value will be the value used.
Also we have provided the XSLT with a special namespace, this namespace counts with some special functions that we will expand in successive versions. Here they are the ones we already have:
sps:Event(action, parameters) and sps:EventJS(action, parameters)
You can use ‘Select’ as an action, to send a Row of data to a consumer’s webpart, the parameter must contain the record number to be able to be sent to the consumer webpart. Each row crawled by the SPSRollUp has a _RowNumber element, as an unique identifier inside the results.
Other action is Page, that will be used by the sample templates to change pages, and Order them and also will be used by the sample templates to sort the results.
You can use this snippet to select and provide a record
<a href="{sps:Event('Select',_RowNumber)}">
<img src="/_layouts/images/exptitem.gif" border="0" />
</a>
Then when the XML data is transformed into HTML with the XSLT, the custom’s function sps:Event is replaced by a JavaScript function that will be responsible for sending the record’s data via the provider’s interface.
For more functions on the sps namespace see SPS Namespace functions
SPSRollUp can act as a consumer, receiving data to be used in CAML Queries and to be used to send a complete row of data from a provider to other webparts.
Included in the package there are three XSLT samples showing how you can do this.
Creating a Simple Report
Creating a Simple Report
Version 2.0
Stylesheet
After installation there is a new directory \LAYOUTS\SPSRollUp; In this directory there are two style sheets stored, (SPSRollUp.css and SPSRollUpCalendar.css) that you can customize; These style sheets are loaded in all those pages where there is a SPSRollUp web part or a SPSRollUpCalendar.
Caching
The SPSRollUp now has an option to store the crawling results over a defined period of time. You can find more information here.
New features for the XSLT transformations
The updated function list can be found here
Improved Performance
In this new version the crawler is much faster
Multi - lingual / Localization
All text configuration files are now in resource folders (read more)