As I mentioned this weekend our interns have been working on a reporting framework for Community Server. The reporting application requires a separate database as it reads from an existing CS database (incrementally) and then re-organizes the data into a data structure designed for reporting.
Some details and screenshots below:
- Over 50 reports covering all aspects of Community Server (Blogs, Forums, Photos, Files, and more)
- Displays many reports using interactive Flash graphs
- Includes many “Top <x>” style reports, as well as the ability to drill-down and see the full details of the report
- Allows users to export any report/data into CSV/Excel format
- Allows users to filter data based on given date ranges
- Simple tasks to handle migrating and crunching of Community Server data
- Migration tasks can be easily segregated by application type and function
- Data can be migrated both incrementally or completely
- Extendable, flexible reporting framework! Completely customizable
- Ability to create new reports either programmatically via the API, or declaratively in configuration files
- Customizable report layouts allow users to easily change the way reports are displayed or shown
- Full web-based management of reports (adding, editing, disabling/enabling, etc…)
Chart from Blog Popularity Report (weblogs.asp.net for past 3 months)

Report from Blog Popularity (weblogs.asp.net for past 3 months):
Below are some of the reports that are supported:
Blogs:
- Average Posts Per Blog
- Blog Comments
- Blogging Frequency per Blog
- Blog Posts Created
- Blog Views
- Highest Rated Blogs
- Most Popular Blogs
- Posts Per Category
- Rss Subscriptions Per Blog
- Total Posts
Forums:
- Most Replied To Topics
- New Users
- New Forum Posts
- Average Post to User Ratio
- Posts by Language / Country
- Most Active Forums
- Average Post Frequency
- Active and Inactive Users
- Inactive Threads
- Moderation Statistics
The framework also make it really easy to add new reports either as stand-alone assemblies (for more advanced reports) or expressed through simple XML syntax that can just be plugged in.
I know you probably don’t have any hard numbers yet, but how is this going to affect overall DB storage size? A lot of folks host, and as such have either a limited number of DB’s, or a limited amount of DB space (or both). Basically, about how large will the 2nd DB be?
How about supporting Silverlight instead for this “Displays many reports using interactive Flash graphs”?
Jayson – actually, we’re finding that it is minimal compared to source database. For example, we crunched on a 32GB CS database, and the end result was ~300MBs. Also, for what it’s worth, you can also put the reporting schema into your CS database, as well. There’s no overlap or conflicts. One caveat is that I haven’t tested it, but it should work. I’ll confirm before we release.
Thanks!
-Jason
After having read this, if anyone wants more information, you can read the interns’ blogs!