Telerik Forums
Reporting Forum
1 answer
17 views

Hello, we're in the process of migrating from Oracle Reports (since it's no longer supported) and are evaluating Telerik Reporting as a solution. After looking up the the Standalone editor and make a few POC reports, we have a few questions.

For reference :

  • we have ~700 reports that we will migrate over time. They all are "static" reports, meaning that we only want to produce a PDF that will be downloaded by the user at the click of a button.
  • we don't intend to use the Telerik Report Server solution.
  • we want our reports to consume a REST url to get the needed data (which will return a JSON). Which means we probably will have a REST url for each report.

Here are our questions :

  1. What's the difference between the .NET Framework and .NET 6 standalone executables ? Why use one or the other ? Are the report files (.TRDP/.TRDX) produced identical between the two ?
  2. When upgrading Telerik Reporting, we understand that we have to be careful about the version and it's changes. What about the report files ? Do we have to "upgrade" each and every one of them manually each time we upgrade Telerik Reporting ? With ~700 reports, it would be way too much time consuming.
  3. Our development workflow would be the following. Are there any catch we should be aware ? Is it feasible ? 
    1. Create a REST url for the new report
    2. Create the new report with the standalone editor and set it's datasource with the newly created REST url
    3. Push the report on a custom report server
    4. Implement the call to the report in our application

  4. Lastly, what's the best practice for the report versioning ? We'd like to use a GIT to store our report files and show diffs between each revision. I understand I would not be possible with a .TRDP since it's an archive, so should we save and store our report file as .TRDX to achieve this ?

Thanks a lot for your help !

1 answer
28 views

Hi,

Is there a supported or recommended way to mark/tag a report definition with a version number?

Currently, we use:

  • reports created in the standalone designer, saved to *.trdp
  • ASP.NET Core .NET 6 application, that:
    • hosts the reporting REST service
    • uses EFCore IDefinitionStorage based report storage
    • has functionality to import *.trdp files into the database storage

It will be very useful to be able to automate the report import process on a deployment of the application so that it will only overwrite an existing report in the storage when it is a newer version.

Thanks.

Dimitar
Telerik team
 answered on 09 Feb 2024
1 answer
120 views

I suspect the answer is no and that I will be directed to CSV Rendering Design Considerations & CSV Device Information Settings.

However, it seems not a little unintuitive for this to be a global rather than per report (or even per table) setting.

I am not (currently) set anything about reports programatically, my set up is simple, I have a report template on the report server that I run via the REST API and download the output document as a CSV.

I could, after downloading, then open the file and remove the header row. But I'm hoping that I am incorrect and there is some obscure report template setting somewhere, or perhaps an argument I can pass via the the REST api, that might allow me to decide on a per report basis how table headers are treated in CSV format.

Dimitar
Telerik team
 answered on 07 Apr 2022
1 answer
583 views
Hi,

I am using Telerik.Reporting library (15.2.21.1110) in Blazor Server application.
The report was created in standalone Report designer (.trdp).
I can display that report in the Blazor ReportViewer component. 
When running the web app on Windows I can export to PDF, DOCX via the ReportViewer and also without the REST service using Telerik.Reporting.Processing.ReportProcessor.RenderReport().


The problem occurs when building the application as Docker RedHat based image. 
In that case the DOCX works but the PDF fails in both scenarios (REST report service and ReportProcessor) throwing eventually System.OperationCanceledException.
Dockerfile instructs to use RedHat UBI8 base image and install GDI+ Win library replacement for Unix systems (glibc-devel, libicu, libX11-devel, libgdiplus).

Do you have any suggestions what could be wrong?



blazor.server.js:1 [2021-12-13T15:29:47.907Z] Error: System.OperationCanceledException: The operation was canceled.
   at System.Threading.CancellationToken.ThrowOperationCanceledException() in /builddir/build/BUILD/dotnet-9e8b04bbff820c93c142f99a507a46b976f5c14c/src/runtime.4822e3c3aa77eb82b2fb33c9321f923cf11ddde6/artifacts/source-build/self/src/src/libraries/System.Private.CoreLib/src/System/Threading/CancellationToken.cs:line 368
   at System.Threading.ManualResetEventSlim.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) in /builddir/build/BUILD/dotnet-9e8b04bbff820c93c142f99a507a46b976f5c14c/src/runtime.4822e3c3aa77eb82b2fb33c9321f923cf11ddde6/artifacts/source-build/self/src/src/libraries/System.Private.CoreLib/src/System/Threading/ManualResetEventSlim.cs:line 550
   at System.Threading.Tasks.Task.SpinThenBlockingWait(Int32 millisecondsTimeout, CancellationToken cancellationToken) in /builddir/build/BUILD/dotnet-9e8b04bbff820c93c142f99a507a46b976f5c14c/src/runtime.4822e3c3aa77eb82b2fb33c9321f923cf11ddde6/artifacts/source-build/self/src/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs:line 2979
   at System.Threading.Tasks.Task.InternalWaitCore(Int32 millisecondsTimeout, CancellationToken cancellationToken) in /builddir/build/BUILD/dotnet-9e8b04bbff820c93c142f99a507a46b976f5c14c/src/runtime.4822e3c3aa77eb82b2fb33c9321f923cf11ddde6/artifacts/source-build/self/src/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs:line 2914
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) in /builddir/build/BUILD/dotnet-9e8b04bbff820c93c142f99a507a46b976f5c14c/src/runtime.4822e3c3aa77eb82b2fb33c9321f923cf11ddde6/artifacts/source-build/self/src/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs:line 2710
   at System.Threading.Tasks.Task.Wait(CancellationToken cancellationToken) in /builddir/build/BUILD/dotnet-9e8b04bbff820c93c142f99a507a46b976f5c14c/src/runtime.4822e3c3aa77eb82b2fb33c9321f923cf11ddde6/artifacts/source-build/self/src/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs:line 2648
   at Telerik.Reporting.Paging.PageCompositionBase.SeparateThreadOutputBehavior.Finish()
   at Telerik.Reporting.Paging.PageCompositionBase.CreatePages()
   at Telerik.Reporting.Paging.PagerBase.Telerik.Reporting.Paging.IPager.CreatePages(IPageHandler handler, LayoutElement root)
   at Telerik.Reporting.BaseRendering.RenderingExtensionBase.Render(LayoutElement root, Hashtable renderingContext, Hashtable deviceInfo, CreateStream createStreamCallback, EvaluateHeaderFooterExpressions evalHeaderFooterCallback, PageSettings pageSettings)
   at Telerik.Reporting.BaseRendering.RenderingExtensionBase.Render(Report report, Hashtable renderingContext, Hashtable deviceInfo, CreateStream createStreamCallback, EvaluateHeaderFooterExpressions evalHeaderFooterCallback)
   at Telerik.Reporting.Processing.ReportProcessor.RenderCore(ExtensionInfo extensionInfo, IList`1 processingReports, Hashtable deviceInfo, IRenderingContext renderingContext, CreateStream createStreamCallback)
   at Telerik.Reporting.Processing.ReportProcessor.ProcessAndRender(String format, ReportSource reportSource, Hashtable deviceInfo, IRenderingContext renderingContext, CreateStream createStreamCallback)
   at Telerik.Reporting.Processing.ReportProcessor.ProcessAndRenderStateless(String format, ReportSource reportSource, Hashtable deviceInfo, IRenderingContext renderingContext, CreateStream createStreamCallback)
   at Telerik.Reporting.Processing.ReportProcessor.<>c__DisplayClass46_0.<RenderReport>b__0(SingleStreamManager sm)
   at Telerik.Reporting.Processing.ReportProcessor.RenderReportSafe(Func`2 renderCallback, String format, IRenderingContext renderingContext)
   at Telerik.Reporting.Processing.ReportProcessor.RenderReport(String format, ReportSource reportSource, Hashtable deviceInfo, CancellationToken cancellationToken)
   at Telerik.Reporting.Processing.ReportProcessor.RenderReport(String format, ReportSource reportSource, Hashtable deviceInfo)
  
Jakub
Top achievements
Rank 1
Iron
 answered on 15 Dec 2021
Top users last month
Mark
Top achievements
Rank 1
Yurii
Top achievements
Rank 1
Leland
Top achievements
Rank 2
Iron
Iron
Iron
Hon
Top achievements
Rank 1
Iron
Deltaohm
Top achievements
Rank 3
Bronze
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?