Search results

Migrate Report Designer application

In our Report Platform release version v4.1.0.x, new reporting assemblies, scripts, and styles are introduced for both desktop and web components to resolve the compatibility problem between Essential Studio and Report Platform component versions.

The following migration changes must be implemented in your existing Report Designer application, which was created using our Report Platform v3.2.0.42 and below versions.

Scripts

Old Scripts New Scripts Description
ej.web.all.min.js ej.reporting.common.min.js
ej.reporting.widgets.min.js
ej.report-designer-widgets.min.js
ej.chart.min.js
ej.lineargauge.min.js
ej.circulargauge.min.js
ej.map.min.js
ej.report-viewer.min.js
We have removed the dependency scripts for report designer from existing ej.web.all.min.js script and provided the dependency scripts as below:

ej.reporting.common.min.js - Common script for reporting widgets.

ej.reporting.widgets.min.js - It contains the scripts of dependent controls that are common for both Report Designer and Report Viewer.

ej.report-designer-widgets.min.js - It contains the scripts of Report Designer dependent controls.

ej.chart.min.js - Renders the chart item. Add this script only if your report contains the chart report item.

ej.lineargauge.min.js - Renders the linear gauge item. Add this script only if your report contains the linear gauge report item.

ej.circulargauge.min.js - Renders the circular gauge item. Add this script only if your report contains the circular gauge report item.

ej.map.min.js - Renders the map item. Add this script only if your report contains the map report item.

ej.report-viewer.min.js - Previews the reports designed with Report Designer.

ej.reportdesigner.min.js ej.report-designer.min.js Renamed the report designer script file and it used to render the Syncfusion Report Designer widget.

Styles

Old Scripts New Scripts Description
ej.web.all.min.css ej.reports.all.min.css We have removed the dependent controls styles for report designer from existing ej.web.all.min.css script and provided the dependent controls styles as ej.reports.all.min.css.

Remove the old scripts and styles references from existing application, then add the new scripts and styles references based on above script name changes.

Assemblies

Purpose Old Assemblies New Assemblies Description
Base Assemblies Syncfusion.EJ.ReportViewer.dll

Syncfusion.EJ.ReportDesigner.dll
Syncfusion.Reporting.Web.dll The Syncfusion.EJ.ReportViewer.dll and Syncfusion.EJ.ReportDesigner.dll assemblies have been combined as Syncfusion.Reporting.Web.dll.
MVC Helper Assemblies Syncfusion.EJ.dll

Syncfusion.EJ.MVC.dll
Syncfusion.Reporting.Mvc.dll The Syncfusion.EJ.dll and Syncfusion.EJ.MVC.dll assemblies have been combined as Syncfusion.Reporting.Mvc.dll.

Packages

Purpose Old Packages New Packages
Server Side Helper Syncfusion.ReportDesigner.AspNet.Mvc

Syncfusion.ReportViewer.AspNet.Mvc

Syncfusion.Reporting.Web
MVC Helper Syncfusion.AspNet.Mvc4

Syncfusion.AspNet.Mvc5
Syncfusion.Reporting.Mvc4

Syncfusion.Reporting.Mvc5

Register tag prefix in Web.config file

The ASP.NET MVC reporting components tag prefix has been changed from EJ() to SF(). Open the ~/Views/Web.config file and add the Syncfusion.Reporting.Mvc assembly reference to the <system.web.webPages.razor> element.

Old code snippet New code snippet
<configuration>
....
....
<system.web.webPages.razor>
....
....
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
....
....
<add namespace="Syncfusion.EJ.MVC"/>
</namespaces>
</pages>
</system.web.webPages.razor>
....
....
</configuration>
<configuration>
....
....
<system.web.webPages.razor>
....
....
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
....
....
<add namespace="Syncfusion.Reporting.Mvc"/>
</namespaces>
</pages>
</system.web.webPages.razor>
....
....
</configuration>

Namespace changes

Assembly Name

Old Namespace

New Namespace

Syncfusion.Reporting.Web.dll

Syncfusion.Reports.EJ

Syncfusion.Reporting.Web

Syncfusion.EJ.ReportWriter

Syncfusion.Reporting.Writer

Syncfusion.EJ.ReportViewer

Syncfusion.Reporting.Web.ReportViewer

Syncfusion.EJ.ReportDesigner

Syncfusion.Reporting.Web.ReportDesigner

Syncfusion.Reports.EJ.Data

Syncfusion.Reporting.Data

Syncfusion.Reporting

Syncfusion.Reporting.Extensions.Configuration

Syncfusion.EJ.RDL.ServerProcessor

Syncfusion.Reporting.ServerProcessor

Syncfusion.Reporting.Mvc.dll Syncfusion.JavaScript
Syncfusion.MVC.EJ Syncfusion.JavaScript.Shared
Syncfusion.Reporting.Web
Syncfusion.Reporting.Mvc

Based on above assembly and namespace changes, modify the Report Designer Web API Controller in your application.

Configure script manager

Old code snippet New code snippet
@(Html.EJ().ScriptManager()) @Html.SF().ScriptManager()

Control initialization

Old code snippet New code snippet
Html.EJ().ReportDesigner("designer") Html.SF().ReportDesigner("designer")

Report export configuration

The Syncfusion.Reporting.Web assembly can export the reports with data visualization components such as chart, gauge, and map, only if we configure the web scripts in Report Designer Web API controller. To configure the scripts in Web API controller, refer to the following steps:

  1. Open the Report Designer Web API controller.

  2. Configure the following scripts and styles in OnInitReportOptions on Web API controller:

    • jquery-1.7.1.min.js
    • ej.reporting.common.min.js
    • ej.reporting.widgets.min.js
    • ej.chart.min.js - Exports the chart item. Add this script only if your report contains the chart report item.
    • ej.lineargauge.min.js and ej.circulargauge.min.js - Exports the gauge item. Add this script only if your report contains the gauge report item.
    • ej.map.min.js - Exports the map item. Add this script only if your report contains the map report item.
    • ej.report-viewer.min.js
  3. You can replace the OnInitReportOptions action in Report Designer Web API controller using below code snippet.

    public void OnInitReportOptions(ReportViewerOptions reportOption)
    {
        var resourcesPath = System.Web.Hosting.HostingEnvironment.MapPath("~/Scripts");
    
        reportOption.ReportModel.ExportResources.Scripts = new List<string>
        {
            resourcesPath + @"\reports\common\ej.reporting.common.min.js",
            resourcesPath + @"\reports\common\ej.reporting.widgets.min.js",
            //Chart component script
            resourcesPath + @"\reports\data-visualization\ej.chart.min.js",
            //Gauge component scripts
            resourcesPath + @"\reports\data-visualization\ej.lineargauge.min.js",
            resourcesPath + @"\reports\data-visualization\ej.circulargauge.min.js",
            //Map component script
            resourcesPath + @"\reports\data-visualization\ej.map.min.js",
            //Report Designer Script
            resourcesPath + @"\reports\data-visualization\ej.chart.min.js",
            resourcesPath + @"\reports\ej.report-viewer.min.js"
        };
    
        reportOption.ReportModel.ExportResources.DependentScripts = new List<string>
        {
            resourcesPath + @"\jquery-1.7.1.min.js"
        };
    }

    The data visualization components will not export without the above script configurations.