Unplanned
Last Updated: 11 Nov 2022 15:30 by ADMIN
Levi
Created on: 29 Sep 2021 21:57
Type: Feature Request
16
Future of Linux support for reporting

What's the long-term plan for supporting Linux and Telerik Reporting? The dotnet design team is looking to remove support for System.Drawing.Common on Linux platforms. They're recommending compiler warnings in .Net 6, and full PlatformNotSupportedExceptions in .Net7

 

Sources:

designs/system-drawing-win-only.md at main · dotnet/designs (github.com)

Breaking change: System.Drawing.Common only supported on Windows - .NET | Microsoft Docs

15 comments
ADMIN
Dimitar
Posted on: 11 Nov 2022 15:30

Hello,

For those that use Docker to deploy their application that uses Telerik Reporting, there shouldn't be any issues as long as the required Telerik Reporting dependencies installation is part of the Dockerfile.

As an example setup, please have a look at the following Dockerfile DevOpsExamples/Dockerfile at 2faa76e574902088fb7a2bae8396d24f7b81bdcc · LanceMcCarthy/DevOpsExamples (github.com).

To quickly test this, you may run the following command:

docker run -d --name="TelerikReportingTest" -p 880:80 lancemccarthy/myaspnetcoreapp:latest

Then open localhost:880 and go to the ReportViewer page. We hope this helps!

Regards,
Dimitar
Progress Telerik

Brand new Telerik Reporting course in Virtual Classroom - the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products. Check it out at https://learn.telerik.com/.
Ryan
Posted on: 04 Nov 2022 23:53
We deploy our apps to Azure App Service for Linux.  We will likely ignore .NET 7, since Microsoft won't give it Long Term Support (LTS).  However, we will very likely adopt the next following (LTS) version after .NET 7.
Thomas
Posted on: 28 Sep 2022 11:58

Milen:
We deploy our application to Linux via docker.  Right now our base image is Ubuntu. 

Actual Image: mcr.microsoft.com/dotnet/aspnet:6.0-focal.

We tried alpine a few times with little luck due to dependencies for Telerik Reporting, so that is another one we would be very interested in.  With Azure AKS now supporting ARM that is another area of interest for our runtime.

ADMIN
Milen
Posted on: 28 Sep 2022 09:09

Hello Thomas,

Thank you for your care. Mid-May 2023 continues to be our target for this feature. I will share here anything meaningful I have.

Thomas, It would help if you describe the exact platform you guys deploy on. Thank you!

Regards,
Milen
Progress Telerik

Brand new Telerik Reporting course in Virtual Classroom - the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products. Check it out at https://learn.telerik.com/.
Thomas
Posted on: 15 Sep 2022 14:41
Milen, would it be possible for you share updates on a regular basis?  This will help us also plan for our .Net 7 upgrade alongside yours.
ADMIN
Milen
Posted on: 21 Jul 2022 11:18

All,

Indeed, the fact that .NET 7 completely shuts down System.Drawing on non-Windows platforms puts us in a very hard situation. We have already started the research and it seems we will need to make a big architectural change in the product in order to integrate and use another drawing library. Most probably, we will go with SkiaSharp. As a time frame, I cannot promise we will be done along with the official .NET 7 release. Realistically we will target the R2 2023 release scheduled for May 2023. I will update you here when I have more details to share.

Meantime, any ideas are more than welcome. Thank you for your engagement.

Regards,
Milen
Progress Telerik

Brand new Telerik Reporting course in Virtual Classroom - the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products. Check it out at https://learn.telerik.com/.
Christopher
Posted on: 13 Jul 2022 15:01

i am running the reporting code in a Linux container also.

We pass Telerik images for our reports and lack of System.Drawing.Common is going to break this in .Net 6 and going to be dead broke in .Net 7

For those unaware.. you can add this into your runtimeconfig.template.json to get Systme.Drawing.Commin working on .Net 6

    "configProperties": 
    {
      "System.Drawing.EnableUnixSupport": true
    }

This workaround will go away in .Net 7

We absolutely must have the ability to print images using Telerik Linux containers.

I can imagine this is a nightmare for the Progress Architects.

However, from a business standpoint this has to be in the product for us to continue using it.

As this is your dependency, I am not concerned with how you implement it.

 

 

 

 

 

Sean
Posted on: 24 Jun 2022 20:08

We run all our applications in custom Linux containers on AWS just to support your reporting libraries.

This will be vital to be able to go to .NET 7.

 

 

 

 

Sam Morreel
Posted on: 14 Apr 2022 00:25

Chiming in here,

Please see for reference -> https://docs.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only

Currently, we use Telerik reporting extensively on Linux. We recently upgraded several nuget packages that caused System.Drawing.Common to be updated to file version 6.x.x. According to the article above, in order to continue to use System.Drawing.Common under .NET 6 on Linux, we needed to add a runtime switch. This did indeed fix the exception.

However, this switch is gone in .NET 7.0. Microsoft's recommendation is to use:

It's likely that Maui.Graphics is the strategic choice, given its ability as a complete cross platform library. My vote would be for Maui as a replacement, but I'll take anything as long as we can continue to use Telerik reporting on .NET 7.0.

Cheers,
Sam.

 

ADMIN
Dimitar
Posted on: 02 Feb 2022 07:10

Hello Tursunkhuja,

Telerik Reporting is constantly making improvements on the rendering behavior under Linux, however, migrating to the SkiaSharp library is not in our roadmap for 2022.

Regards,
Dimitar
Progress Telerik

Brand new Telerik Reporting course in Virtual Classroom - the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products. Check it out at https://learn.telerik.com/.
Tursunkhuja
Posted on: 26 Jan 2022 08:09

Hi All,

We also have similar problem. Our project based on .net6 and we are planning to use reporting in Linux environment.

When you are planning to improve Telerik Reporting rendering behavior on Linux machines? or when you expecting to use SkiaSharp library.

 

Thank you,

Gregory
Posted on: 24 Nov 2021 14:40
we will renew our license if you will do it
ADMIN
Dimitar
Posted on: 25 Oct 2021 14:20

Hello Levi,

Thank you for the valuable feedback!

I just want to mention that it is possible to run Telerik Reporting on Linux even today but the library libgdiplus is required. This library is a Mono implementation of GDI+ API for non-Windows operating systems - Using Telerik Reporting in Applications on Linux Platform.

Regards,
Dimitar
Progress Telerik

Brand new Telerik Reporting course in Virtual Classroom - the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products. Check it out at https://learn.telerik.com/.
Levi
Posted on: 18 Oct 2021 20:19

Thanks for the update. This is one I'm keenly interested in.

For reference, my use-case is with Azure Functions. Being able to host in Linux would enable us to adjust our hosting tier to much higher performance for the same cost (currently on Windows hosted). Although when I think about again, being able to fully drop the GDI dependency would also let us move to the dynamic serverless tier (which blocks most GDI access).

I understand that it's a large change and you can't give a commitment or timeline, but this feature would be huge for us - the further ability to run Telerik reports easily in more environments.

ADMIN
Dimitar
Posted on: 06 Oct 2021 12:53

Hello Levi,

Thank you for raising awareness of those potential issues.

Our long-term plan is to try and refactor our drawing logic to utilize the SkiaSharp library.

Even if MS does not drop the support for System.Drawing.Common, the currently used library, libgdiplus, has multiple issues with text measuring, clipping, working with units other than pixels, etc. and we are researching for a solution to improve the Telerik Reporting rendering behavior on Linux machines. The SkiaSharp library may be the answer to those problems.

Please let us know if you have any other questions.

Regards,
Dimitar
Progress Telerik

Brand new Telerik Reporting course in Virtual Classroom - the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products. Check it out at https://learn.telerik.com/.