Thursday, December 28, 2006

reporting December CTP review

Around the time telerik released the Q4 r.a.d.controls, they also released an update to the telerik reporting CTP (see my original review of CTP1). In the new CTP, telerik has started to introduce some fit-and-finish improvements to the Visual Studio design-time experience and they have delivered a major feature to the report viewers: PDF export. Read on for my full review or check out my new screenshot gallery to see what's new in CTP2.

Not much has changed during the installation process in CTP2. The install took about five minutes to complete, but this time it had no trouble installing the sample AdventureWorksT database on my local copy of SQL Server 2005 Developer Edition (something CTP1 choked on). Still, the installer failed to update the configuration of the provided samples with the name of my local SQL Server (MSSQLSERVER vs. SQLEXPRESS), so to use the designer previews I had to manually update the SqlConnection object connection string. Not a big deal for a CTP or for demo files, especially since the Web.Config and App.Config did get correctly updated by the installer.

Design-time experience
The look and feel of the Visual Studio Report Designer has been significantly improved since the first CTP. The bars splitting each report section in the designer are larger- which makes it easier to right-click on the bar and reveal options such "Add New Group"- and have a nice Outlook-esque gradient fill (screenshot). There are still just two report element types: textbox and imagebox. More report elements should be available by the time the beta roles around, but in the mean time telerik has improved the design-time placeholder appearance for the imagebox elements.

The Report Explorer also works in CTP2 (I don't think it was working in CTP1) and it is a very helpful tool for traversing the layout of your report. Using the Explorer, you can quickly access any element in your report, which makes it much easier to work with large, complicated reports. It's also one of the most annoying parts of the CTP because every time you open a report Visual Studio re-opens the Report Explorer and Data Explorer windows (even if you've closed them). It gets old to wait on these windows to open when you switch between design view and code view. Very old. If you download CTP2, don't close these windows.

CTP2 ships with the same group of demo reports that we saw in CTP1 and it adds a couple of new reports that highlight report event handling and styling. The event handler report shows how you can use the Report and ReportItem events to apply custom formatting to a report, such as changing the color a ReportItem textbox OnDataBound based on criteria you code (Fig 1). Hopefully future versions of reporting will provide a visual designer that enables code-less conditional formatting of ReportItems (similar to Crystal Reports), but for now you can manually write the C# to apply formatting on these events. The styling report highlights the reporting's ability to style report objects a la CSS by using defined StyleNames (Fig 2).

Otherwise, the designer still works the same way- you have a main design view, a Preview View (or WinForms Preview), and a HtmlPreview (or WebForms Preview).

Changes to Viewer
The most significant change in this CTP is definitely the addition of PDF export in the viewers. This marks the beginning of telerik's journey down the road of building and supporting a full PDF export engine that may eventually make its way out of reporting and give developers a new .NET PDF export option (WebSupergoo is good, but I want more (good) choices!). To export any report to PDF, simply select the PDF format from the Export drop down and click Export. After that everything happens as you'd expect: your report opens in an Adobe PDF viewer looking just like it did in the viewer (Fig 3).

So far the PDF export looks good. The (quickly) rendered PDF is very true to the original report format and the page breaks are clean on multi-page reports (Fig 4). With the addition of PDF, the viewers can now export to three formats: TIFF, MHTML, and PDF. We're still waiting on HTML, Word, and JPEG.

We did not see tons of change in CTP2, so this is still a very alpha version of the product. The December CTP of telerik reporting is another solid step towards the final telerik reporting product, though. PDF export will be a big part of reporting's feature set, so getting that functionality on the table is a good sign that things are going well. Telerik has previously said that we can expect to see the first beta in the Q1 2007 time frame but they have made not indication of when reporting will ship. Based on the progress I've seen in CTP2, I would guess that reporting will not be ready for prime time until late Q2 or Q3 of 2007. And when it does, it will definitely be a great .NET reporting product.

Download the December CTP

//Todd Anglin
//December 28, 2006


Svetoslav said...

Hi Todd,

I want to make a little explanation of the export formats.

The viewer’s export functionality allows one to save a copy of the report he/she is viewing for different purposes - email it, review it later, etc. This means that the exported document should contain all the needed information - text, images, formatting. To ensure the integrity of the exported reports we consider that when exporting a report, we should generate a single document with all the resources embedded in it - PDF and MHTML and the multipaged TIFF. The MHTML file is HTML with embedded resources (encoded using MIME). We will not provide an export to HTML because there is no suitable way to stream all of the linked images (if the report has such) to the client computer together with the HTML.

About the export to JPEG: as of now you can render the report to any of the image formats that the GDI+ supports using the ReportProcessor.Render() method but only the multipaged TIFF is exposed for the export through the win/web viewers.

Svetoslav Stanev
Product Manager | Reporting

Todd Anglin said...


Thanks for providing the additional details. I like your approach that focuses rendering formats that are self contained. I think you should still consider adding plain HTML support, though, since MHTML files cannot be easily opened on Macs (with Safari) or in FireFox (without an extension installed).

In my experience supporting hundreds of reports in Crystal for a large Investment company, very few of the reports contain any images. They would render to plain HTML with no problems. I imagine users of Reporting would be willing to trade the lack of images in some of their reports for the cross-browser/cross-platform convenience of having an HTML export option.

You may alternatively consider adding an "Email Report" option to the Web Viewer that would attach the MHTML to an email message (since MHTML is an email ready format with embedded MIME objects). That would be a nice alternative for FireFox and Mac users that want an HTML report.

In any event, I'm looking forward to the beta later this month. Keep up the good work!