Contribute - majorsilence/Reporting GitHub Wiki
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 My-FyiReporting 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
- RdlAsp.Mvc
- asp.net core mvc controllers
- RdlCMD
- Command line tools
- RdlCri
- Custom Report Controls
- RdlDesign
- Windows only
- Is the main graphical drag and drop designer used to create reports.
- RdlDesktop
- Simple server
- RdlEngine
- Main engine. Is referenced in many of the other projects
- RdlGtkViewer
- A Gtk# 2 (gtk-sharp) viewer
- RdlGtk3
- GtkSharp 3 core components
- RdlGtk3Viewer
- GtkSharp 3 viewer
- RdlReader
- Windows only
- Viewer executable
- RdlViewer
- Windows only
- View controls
- Disabled COM interop
- RdlMapFile
- Windows only
- Map viewer
- RdlCreator
- Code first report creation and generation
Legacy libgdiplus Developments
Goal: the skiasharp backend by default.
libgdiplus
Useful for winforms projects on windows but otherwise avoid this.
Avoid libgdiplus by using the "Debug-DrawingCompat" or "Release-DrawingCompat" targets to use the skiasharp drawing backend.
Mac - Legacy
Install mono-libgdiplus.
brew install mono-libgdiplus
For report generation to work set the DYLD_LIBRARY_PATH environment variable:
DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/opt/homebrew/lib
Ubuntu - Legacy
Install libgdiplus.
apt install libgdiplus
For report generation to work set the LD_LIBRARY_PATH environment variable:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib
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.
- RDL specifications: http://msdn.microsoft.com/en-us/library/dd297486%28v=sql.100%29.aspx
- 2005 direct link: http://download.microsoft.com/download/c/2/0/c2091a26-d7bf-4464-8535-dbc31fb45d3c/rdlNov05.pdf
- 2008 direct link: http://download.microsoft.com/download/6/5/7/6575f1c8-4607-48d2-941d-c69622e11c32/RDL_spec_08.pdf
- 2008 R2 direct link: http://download.microsoft.com/download/B/E/1/BE1AABB3-6ED8-4C3C-AF91-448AB733B1AF/Report%20Definition.xps