Overview of a SharePoint Report Repository and Crystal Reports
Organizations are continuously faced with the need to organize information and present them as reports. Combining the ability to generate and manage reports into a single system addresses this need and is a powerful tool for users.
An automated report generation process has many benefits. It can quickly generate a complex report that would otherwise require a considerable amount of time to create by hand. People have more time to focus on other business needs rather than create reports. In addition, this means that the end users have quicker access to their reports as well. When timely decisions have to be made based on these reports, the time saved can be invaluable. Lastly, this reduces the potential for human error when creating the reports while increasing the report's acceptance among its users.
As reports are generated, there is a need for them to be organized and accessible to its users. A centralized document repository makes it easier to keep track of different reports by minimizing the risk of inconsistent reports. In addition, it allows an organization to better manage who has access to which information.
A reporting system with these advantages can be created combining SharePoint's document management features with a .NET application for generating reports.
The reporting system shown in Figure 1 supports the following process:
- Manage existing reports through SharePoint
- Schedule reports to be created
- Generate reports
- Upload new reports to SharePoint
Each component can sit on the same machine or on different machines, depending on how they are implemented.
Figure 1: Overall Architecture
Windows SharePoint Services
SharePoint is a Microsoft platform for collaboration and document management based on web-portals. Currently, there are two SharePoint offerings from Microsoft: Windows SharePoint Services (WSS) 3.0 and Microsoft Office SharePoint Server (MOSS) 2007. The content of this article focuses on WSS because it is a free add-on to Windows Server 2003 and provides the fundamental document management functionality. The same concepts can be easily translated to the more robust MOSS 2007 because it is built on top of WSS 3.0.
The SharePoint site allows documents to be stored in a central location and be accessible to many users. A basic WSS site is shown in Figure 2, with a document library named "Documents" that is linked via the quick-launch menu.
Figure 2: Basic Windows SharePoint Services site
Multiple document libraries can be created as deemed necessary. Each one can contain folders, files, and reports and can be individually customized by their settings and the views they present to the user.
There are many features that can be specified in a document library's settings:
- Version History: Document Version History can be enabled to keep track of the different revisions for a particular file. Although this would consume more space because SharePoint now maintains a new copy for every modification, this is particularly useful when applied to reports. Using the version history, a user can compare previous reports and see who approved each one if content approval is enabled.
- Check InCheck Out: In some cases, users should not be able to modify reports. However, in the situations where they are allowed, the document library can require that the report be checked out first before editing. This ensures that multiple users are not updating the same report simultaneously.
- Alerts: Users can be kept up-to-date with the document libraries through user alerts. By using the SharePoint interface to create alerts, users can have SharePoint email them when changes to a document library occur, such as when a newly generated report is added to the document library of interest.
- Report Security: SharePoint users are organized by user groups. As many user groups can be created as necessary. One of the features of SharePoint is the ability to set the permissions of a Document Library or on the individual items within the Document Library. For example, this allows certain reports to only be viewable by specific users or groups.