Skip to content

Contribute

Peter Gill edited this page Jun 8, 2026 · 18 revisions

Contributions welcome.

Majorsilence Reporting is a Free Open Source reporting solution for SQL data (most databases), where reports are defined in XML text files to a variation of RDL. It requires net8.0 or newer to run the supplied executables. A report designer allows you to generate reports and save them in .RDL format and a report viewer can be called or embedded into your application.

Majorsilence Reporting is developed with the following workflow:

  • Nothing happens for weeks or months
  • Someone needs it to do something it doesn't already do
  • That person implements that something and submits a pull request
  • Repeat

If it doesn't have a feature that you want it to have, add it. If it has a bug you need fixed, fix it.

Setup

  • Minimum requirements is either visual studio 2022 or rider 2025.1
    • newer is better
  • Create github account if you already do not have one
  • Create a fork of Reporting master branch
  • Do your changes
  • Commit your changes to your fork
  • Send a pull request and it will merged or given feed back

Layout:

  • DataProviders
  • Majorsilence.Reporting.UI.RdlAvalonia
    • Cross-platform Avalonia UI report viewer (Windows, Linux, macOS)
  • RdlAsp.Mvc
    • ASP.NET Core MVC controllers
  • RdlCmd
    • Command-line report generation tool
  • RdlCri
    • Custom Report Controls (barcodes, QR codes, etc.)
  • RdlCreator
    • Code-first report creation and generation
  • RdlDesign
    • Windows only
    • Graphical drag-and-drop report designer
  • RdlDesktop
    • Simple HTTP report server
  • RdlEngine
    • Core engine — referenced by most other projects
  • RdlGtk3
    • GTK Sharp 3 viewer widget (Linux/macOS)
  • RdlGtk3Viewer
    • GTK Sharp 3 standalone viewer application
  • RdlReader
    • Windows only
    • Standalone viewer executable
  • RdlViewer
    • Windows only
    • WinForms viewer control
  • LibRdlWpfViewer
    • Windows only
    • WPF viewer control
  • RdlMapFile
    • Windows only
    • Map viewer

Build configurations

The solution has four build configurations:

Configuration Backend Use for
Debug / Release System.Drawing (GDI+) Windows WinForms projects
Debug-DrawingCompat / Release-DrawingCompat SkiaSharp Cross-platform, Linux, macOS, Docker

For new cross-platform work use the *-DrawingCompat configurations. The SkiaSharp backend is the default for the .SkiaSharp NuGet packages.

RDL Compliance

Report file format specifications can be obtained from microsoft. I believe fyiReporting is currently mostly compatible with RDL 2005. If you want to add more features see the specifications.

Clone this wiki locally