Within SharePoint, a document library that hosts web
part pages should be created. A web part page is an
ASP.NET page composed of controls called web parts.
Although there is a set of default web parts that comes
with SharePoint, custom web parts will be required to
access the report schedules. These web parts can be
built by using ASP.NET and Visual Studio or by using a
wrapper web part such as a SmartPart to host ASP.NET
An alternative approach that does not require custom
web parts is to have web part pages that use the built-
in Page Viewer web part. The Page Viewer web part
can display web pages and can be used in conjunction
with an ASP.NET application, as shown in Figure 3. This
allows support for a new or existing ASP.NET applica-
tion to access the scheduling information.
There can be one scheduling page or multiple schedul-
ing pages, depending on the need. Through the report
scheduling pages, the users should be able to specify
all the necessary information to generate a particular
report such as the type of report, how frequent the
report should be generated, and the destination docu-
Once the report scheduling pages are created, links in
the quick launch menu can be added for each one, as
shown in Figure 4 under the Scheduling menu. This
allows easy access to the scheduling pages. By setting
the permissions for the Report Scheduling document
library, only users belonging to the appropriate user
groups will have the ability to modify the schedules.
Reports can come in many different file formats such as
Adobe PDF files, Microsoft Word documents, or Excel
Spreadsheets. There can be many different sources
from which reports are generated and uploaded to
SharePoint. For this article, the primary report file for-
mat will be a PDF generated from a .NET application
using Crystal Reports.
PDF reports offer a common format that easily can be
linked in e-mails and shared. At the same time, they are
less likely to be modified. Because this is hosted in a
Windows environment, a .NET application can be cre-
ated to serve as the report generator. The application
should not require user interaction and can be a simple
console application running in Windows Task
The decision to use Crystal Reports or another technol-
ogy, such as SQL Server Reporting Services, depends
on the resources available, the time and cost of devel-
opment, maintainability, training, and many other fac-
tors. Microsoft Visual Studio has supported Crystal
Reports for many years. As a result, there are develop-
ers already familiar with Crystal and there might be
many existing reports already built on Crystal Reports.
In addition, these reports can be exported in many for-
mats including PDF, Excel, Word, and HTML.
The report generator runs once a night and performs
the following steps:
1. Connect to the database with the scheduling infor-
mation and determines whether any reports need to
be generated based on the scheduling information.
2. For those reports that should be generated, gather
the necessary data and parameters.
3. Connect to the database with the data that should
be reported and create the report.
4. Export the report from memory to the local file
system in the desired format.
5. Upload the report to SharePoint.
Putting SharePoint to Work for You, an Internet.com Developer eBook. Copyright 2008, Jupitermedia Corp.
Putting SharePoint to Work for You
Figure 4: Sample custom Quick Launch links.