When I decided to run a new blog, I was in a dilemma whether to write engine from scratch or to use some existing solution. Since I wanted to do it fast, I started to search and BlogEngine.NET grabbed my attention. It is an open source project written in ASP.NET 2.0, which was a good starting point for me. Since I use Microsoft technologies in my everyday work it was easy to customize the solution.
Overview
Once you download the project, you can compile it and immediately upload it to your server and it is ready! You don't have to do anything else to make it work. You can customize the look of your blog with several themes available and you can download even more.
BlogEngine.NET comes with everything you would expect from a blog: trackbacks, pingbacks, AJAX comments, rating stars, social bookmarks, referral statistics, OpenSearch support, XFN tags, AJAX, Microsummaries, Gravatars, coComments, tag cloud, Google sitemap. Comments functionality has some very advanced features: you can use gravatars, live preview, country flags, and it is fully AJAX supported.
It supports RSS 2.0 and ATOM 1.0 feeds on posts, categories and comments.
There are several widgets you can use and customize, such as BlogRoll, Recent posts, Recent comments, Related Posts, Tag clouds and so on. It also has Blog calendar which I extremely dislike but you can, of course, turn it off :).
BlogEngine.NET uses TinyMCE text editor which means that html markup is XHTML 1.0 compliant. Last but not least, BlogEngine is written in ASP.NET 2.0 and C#, so if you are .NET developer it should be very easy to extend existing code with new features. There are a lot of cool extensions you can download and implement in your version.
Administration tool is very simple and easy to use. You have full control over your data and the behavior of your blog. You have the ability to add custom pages that can be publicly accessible, using mini CMS system in the Administration tool.
Good news for Windows Live Writer users - it supports BlogEngine.NET provider!
A complete engine, both core components and web site, is available for download from CodePlex.
Theming
It is very easy to create a new theme. You need to customize only a few files in order to completely redesign the look of your blog: one master page, one CSS file and two controls: PostView and CommentView. It has a very simple structure so you can easily find any element and extend CSS with your own classes as well.
If you are a beginner, good news is that new theme can be created with minimum knowledge of CSS and HTML. If you decide to try theming, I recommend you copy existing theme to your folder and customize it. I created this theme in a couple of days, but I have only a few hours daily to work on my blog.
Customizing
Not only is the theming easy but you can easily customize the engine functionality and behavior. Each control and widget has it own class which controls its behavior and look.
Data storage
You can store your data in MS SQL Server database or in XML files, which is the default. Personally, I left my data in XML files. If you decide to use SQL Server, you'll find setup script file and instructions in the Setup subfolder. Elegant!
Conclusion
If you are planning to start with a new blog or if you are in a search of a better engine, BlogEngine.NET is surely worth considering. You'll find it very easy to setup, theme, customize and extend either using existing themes and extensions or using your own. For more information, please check out BlogEngine.NET official website.
If you have any experience with BlogEngine.NET, share your thoughts!
