1. January 2009 23:09
Lately, I have been posting some source code and I wanted to know how many times the source code was downloaded. I searched the internet and quickly found an Extensions page on the official BlogEngine.NET website. I noticed there were several different download counters available. I will list them here shortly with the cons and the pros.
1) Counter Extension by RTur
- Stores every download (so advanced statistics are available)
- The overview is not an overview (counts per file are not available)
2) Simply Download Counter by Al Nyveldt
- Download count is displayed in the blog posts itself
- No settings available to determine who can view the download count
- Downloads are not stored separate (only the number of downloads per file)
3) File Download Tracker by Chris Blakenship
- It shows a good overview which file is downloaded how many times
- Downloads are not stored seapare (only the last download date and the number of downloads per file)
None of these counters could provide the functionality I really wanted. I simply wanted a counter that allowed me to decide at run-time whether I wanted anonymous users to be able to view the number of downloads. Also, I wanted a more structured way of storing and viewing the downloads per file. Since the original extensions didn't too look difficult, I decided to dive into the world of BlogEngine.NET extensions.
What I have developed is a solution that fits my needs (and probably others as well). The Detailed Download Counter saves the information per file, but also stores the timestamp, user agent and user host. This gives anyone the ability to create more advanced statistics. For the moment, I have only implemented a grid which simply shows an overview of the files downloaded and the details of a file. To get a grip of the current implementation, please view the image below:
To install the Detailed Download Counter extension, simply extract the zip file to the root or your BlogEngine.NET application.
DetailedDownloadCounter.zip (6.69 kb) [Downloads: 1527]