Turns out that it is possible to upgrade your entire website in about 24 hours. I have BlogEngine 1.4.5 and the ASP.NET Time Tracker starter kit to thank.
pureVirtual.biz was originally built as a few static HTML pages about 6 years ago. About three years after that I deployed the site as a .NET 2.0 web site, but the content was simply ported over to the new environment. There was nothing really dynamic or compelling about the features. I always said I'd polish up the site a bit when I "had some free time."
My goals were to add some blog features, dynamic content management and my client time-tracking and invoicing features into the site with a SQL Server 2005 back-end. The SQL Server was included in my GoDaddy hosting account, so why not put it to work? Up until now my invoicing and time tracking were built as custom applications, both windows forms, locally run web apps and even some Excel spreadsheets...typical home grown junk, but it worked so there wasn't much motivation to change it.
I settled on this ASP.NET (now SQL 2005 Express) starter kit for tracking my billable hours. I knew that with a few customizations I could integrate my invoice rules and specific project information with relative ease. The foundation for the new pureVirtual.biz is BlogEngine 1.4.5. This open source project, built on .NET 2.0, features an amazing engine for simply deploying and customizing your own blog. I was able to cross several items off of my wish list including (obviously) blog features and dynamic content management. I can build and manage "Pages" separately from blog posts all without needing to redeploy the site. Just login as an administrator and you're good to go. Also, BlogEngine supports database integration (SQL Server or MySql) so within minutes I had it hooked up to the same database that contains my time tracker tables.
With a few tweaks to the user interface in order to incorporate the time tracking pages and a little bit of work to blend the security models of the two applications I was ready to go. The whole process took less than 24 hours of development and deployment! At this point I'm experimenting with building BlogEngine widgets (like the delicious bookmarks sidebar that you see over to the right). My next post will feature the code for this widget.