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.