Remedy Edge was looking to build a reporting platform that allows it to dynamically construct reports against multiple data sources and execute the reports on either windows or web platforms. The primary objective is to build a proprietary platform that doesn’t have any licensing or distribution restrictions.
The platform needs to provide a rich report designer interface that allows the user to connect to a data source and design a report by laying out header, footer and body sections, each utilizing specific data fields with various formatting capabilities.
In addition, the report designer needs to include various functions like data grouping, data aggregation, charting and can work across various types of data sources. The report needs to be saved in a format that allows it to be edited later on and finally, the platform should allow the user to view the report on the windows or web modes along with the capability to export the data to CSV.
- Building a feature rich interactive report designer avoiding the use of any commercial license based components.
- Building a base architecture for supporting various data processing functions.
- Supporting multiple exporting platforms.
InspirationGate proposed a solution that consisted of two primary components, report designer and report runtime.
Report designer aims to provide a WYSIWYG real time report design experience that allows the user to design how the report will look including the header, footer and body sections. The user can also specify various aggregate functions like sum, average, max and similar functions. Finally, the user can include various filtering constraints and sorting parameters. The report designer was built on top of the .NET Designer Architecture framework and has been deeply extended to support all the aforementioned features.
We also added the capability for creating reports using an easy to use wizard that guides the user through a number of steps starting with selecting the data source, choosing the target fields, choosing required aggregations or groups and finally including a chart. The application would then rely on the reporting framework to build the initial design for the user.
The runtime allows the user to view the final report on either a windows application which is encapsulated as a user control that can be embedded in other applications or web application which relies on custom HTML generator or export the raw data to CSV.
Visual Studio.Net 2003, .NET framework 1.1 and C#