First a question: What are others using for reporting from the database? Customizing the source code for the html and pdf reports and recompiling, exporting and reporting offline, connecting via MS Access or Crystal Reports, or something else?
In my opinion modifying or coding new reports in c# and re-compiling the application for reports is cumbersome, at best.
I've been making a custom invoice and couple of other reports using MS Access and ODBC to connect directly. It works (for backend cart owner/admin type reports only), but, I'm wondering if there might be a better way.
Would it be possible to develop a template based reporting system using html templates and tokens (like the nopCommerce message templates and tokens)???
With html & CSS it is now possible to relatively easily and accurately define pages layouts that look great. Templates could include other templates for elements from different tables/queries. For example an invoice template could have a main template with header, footer, shipping address, billing address, and order detail sub-templates. All db columns could be exposed via the tokens giving the report creator great flexibility.
If this were doable, the next step could be to add pdf output as an option. Rather than duplicate the layout and design in a pdf reporting tool/library, you could simply do an html to pdf conversion on the reports already created as above. A quick web search found several .net conversion libraries, however none appear to be freely distributable. Of the few I quickly tested, this one seemed to have the most accurate conversion of a relatively complex html/css page: http://www.hiqpdf.com/ Some others didn't render so well.
Even if the template based reporting system suggested above were not developed, an html to pdf converter would let you create pdf reports that look exactly like the html reports (already in nopCommerce) without the hassle of having to duplicate all the logic, as the existing pdf report library requires.
Anyway, just brainstorming here. nopCommerce is already an impressive application, so thanks for all you've done!