A configurable Oqtane module for running SQL queries and rendering the results in a page module.
GIBS.Module.ReportViewer lets site administrators define a query in module settings and display the output as either:
- a table/grid view, or
- a tokenized template view for custom markup.
The module supports local (tenant) database queries and remote SQL Server queries.
- Local or remote data source selection
- Free-form SQL query execution
- Table rendering with dynamic columns
- Template rendering using row tokens:
[ColumnName]{{ColumnName}}
- Optional template header and footer
- In-memory output caching (configurable per module)
- Manual cache bypass/refresh action for editors
- Standard Oqtane module permissions for view/edit access
- Oqtane Framework (module package type targets Oqtane Framework
10.1.2) - .NET
10.0 - SQL Server provider for remote connections (
Microsoft.Data.SqlClient)
- Build and package the module.
- Upload/install the generated
.nupkgin Oqtane. - Add ReportViewer to a page.
This repository includes helper scripts in Package/:
debug.cmd <TargetFramework> <ProjectName>- Copies module assemblies and static assets to the local Oqtane host output.
release.cmd <TargetFramework> <ProjectName>- Packs the NuGet module and copies it to the Oqtane
Packagesfolder.
- Packs the NuGet module and copies it to the Oqtane
Example values:
TargetFramework:net10.0ProjectName:GIBS.Module.ReportViewer
Configure the module in Settings:
- Data Source:
LocalorRemote - Connection String: required when Data Source is
Remote - SQL Query: required
- Cache Minutes:
0to1440(0disables cache) - View Mode:
TableorTemplate - Template Header (template mode)
- Template (template mode)
- Template Footer (template mode)
- Add the module to a page.
- Open module settings.
- Configure data source and SQL query.
- Choose
TableorTemplateoutput. - Save settings and view rendered results.
- Use Refresh (edit permission) to bypass cache and rerun query.
- Query execution is controlled by Oqtane module permissions.
- This module executes configured SQL directly.
- Restrict edit access to trusted administrators only.
- Use least-privilege SQL credentials, especially for remote connections.
Client/- Blazor UI components and client serviceServer/- API controller, business logic, EF context/repository, static assetsShared/- shared models and service contractPackage/- NuGet packaging scripts and nuspec
Current module version: 1.0.0
MIT (per module package metadata)