xtrareports-10001-feature-guide-to-devexpress-reports-store-and-distribute-reports-store-report-layouts-and-documents-custom-report-storage.md
This document explains how you can implement a report storage for the End-User Report Designer. A report storage enables you to use a database, an eXpress Persistent object, a ZIP file, or any other location to store and retrieve reports.
You can store report definitions in a database or any other repository. A single repository is a convenient way to share reports between users when they create or edit reports with the End-User Designer.
View Example: How to Implement a Custom Report Storage
To implement a Report Storage, create the ReportStorageExtension class descendant and override its methods.
The user actions and their implementation methods are listed below.
Save reports
Restore reports
Manage reports
To make the custom report storage available in your application, register it with the static RegisterExtensionGlobal method.
For informaton on how to serialize and store custom objects (such as custom parameters or object data sources), review the following help topic: XML serialization.
A report storage in a WPF application implements the IReportStorage interface. For more information, review the following help topic: Store Reports in the Report Designer.
For information on how you can add a server-side storage to your web reporting application, review the following help topics: