Back

TechnologySep 16, 2009

Building a SharePoint List Aggregator Web Part with Custom Properties

Denis Stetsenko

This is a tutorial on how to build a customizable web part for MOSS 2007 or WSS 3.0.

We will be building a List Aggregator – a web part that can collect, filter, and display list items from all lists of a certain type from all sub-sites in up to 3 site collections. This web part will have the following features:

  • Users will be able to select up to three site collections to aggregate content from

  • Users will be able to choose one of these list types: announcements, calendar events, or tasks

  • Only current announcements and calendar events will be displayed

  • Only tasks that are in “Not Started”, “In Progress”, or “Waiting on Someone Else” will be displayed

This web part is somewhat similar to the out-of-the-box Content Query web part, but Content Query can only aggregate content from a single site collection. On the other hand, List Aggregator will not have the robust filtering that Content Query provides.

First, we will build a basic web part and deploy it. Then, we will add some custom properties to enable users to change web part settings in the UI. At last, we will add functionality to collect list items from multiple SharePoint lists. Hmm, not quite the “Hello World” web part you expected, is it?

Increase business process efficiency and collaboration with Microsoft SharePoint

Explore Our Microsoft Consulting Services  →

To successfully complete this tutorial, make sure you have access to either a physical or virtual development environment that has Windows Server 2003 and either WSS 3.0 or MOSS 2007. Also, make sure it has Visual Studio 2008 installed. We will be using VB.NET.

The rest of this tutorial is broken into three parts, which I will add as they become available. Click on one of the links below to continue:

  1. Creating and Deploying a Basic SharePoint Web Part

  2. Adding Custom Properties to a SharePoint Web Part

  3. Adding CAML Queries to a Web Part to Collect Data from SharePoint Lists