Sunday, September 28, 2008

Back to WordPress

After playing around with BlogEngine.NET for the last couple of months, I have decided to retire it and go back to WordPress. The bottom line is the software is not quite ready for Mono and Linux. There always seemed to be some minor issue to overcome whether it was installing a plugin or figuring out why your session was expiring unexpectedly. Most of these problems were related to subtleties in Mono's implementation of .NET and while they were not show stoppers, they always seemed to get in the way of using the tool for its designed purpose.

I might have stuck with BE however, the project lacks any sort of unit or integration testing which would help with the quality of the releases. There appeared to be a number of bugs and discussion topics related to regression failures which confirmed this is a problem that could be mitigated through some sort of testing discipline.

I would like to thank the BlogEngine developers for creating a feature packed open source tool.  Please consider taking a test driven approach with future versions of BE and you will have a winner!

Monday, September 15, 2008

Mono Development on Ubuntu

The past month has been an in depth investigation of developing .NET applications on Ubuntu using Mono. The experiment was quite simple, use Mono and MonoDevelop to create a simple ASP.NET application. The test application was built using Mono 1.9.1 and MonoDevelop 2.0 from the SVN repository (trunk).

The application makes use of master pages and the membership API. I used the membership providers from the BlogEngine.NET project to save time. Putting the application together with MonoDevelop was not difficult however, it would have been nice to have a shortcut for adding page events to the code-behind instead of from memory or the API documentation. If this functionality exists, perhaps a reader could kindly point out how to use it.

After a couple of hours I have this little test application that serves pages to authenticated users with role based authorization. I am feeling pretty good at this point and I am ready to move to the next part of my evaluation, unit testing. This is where MonoDevelop’s warts start to surface and although I am using an alpha version of the IDE, the problem encountered has been reported in the past on the Mono mailing lists and Novell’s Bugzilla.