I’ve finally gotten around to creating a new theme for this blog. I’ve been feeling a bit of pressure after Al did an absolutely stunning remake of his blog a couple of months ago.

With each theme I do for BlogEngine.NET, I can’t help but be more and more impressed with how easy it is.

Al also has some great tips for BlogEngine.NET theme designers. Have a a look at his creating themes webcast and some tips here and here.

Michael Whalen has graciously allowed me to port his Elixir theme to BlogEngine.NET. This previously WordPress only theme is now available for your BlogEngine.NET enjoyment.

whalesalad

Michael originally released the theme in 5 different colours. I've gone a little bit further and added the ability to dynamically change the colour. So you now have 7 colours to choose from, or you can set it to automatically change colour every day. One for every day of the week! I've also added the ability to dynamically swap between the left and right layout.

To install the theme you simply extract the contents of the zip file into the BlogEngine.NET Themes folder. Then select Elixir as your theme from the settings page.

Click here to preview the theme.

Download: Elixir.zip (625.81 kb)

Let me know in the comments how the theme pans out for you.

We've just released the final version of BlogEngine.NET 1.5 to the public. You can read more about the changes and improvements at Mads Kristensen's blog.

With this release we've worked hard to ensure that the application works out of the box on Linux using Mono. There is no compilation to be done and no configuration settings to tweak. It just works.

For those wishing to try this out, I've created a little tutorial called Installing BlogEngine.NET on Mono/Linux. As you will see there is hardly anything to it, it's just that easy.

So go on, give it a try and let us know how it pans out for you!

BlogEngineLogo

We've just made a release candidate for BlogEngine.NET 1.5 available over at the CodePlex site. As there are a number of changes and improvements to the code base, we'll be using the release candidate to test all the new changes. Please help us out and test as much as you can with this new release.

Aside from the improvements that Al mentions on his blog, this is the first release in a while that is completely Mono on Linux compatible out of the box.

Installing BlogEngine.NET on Linux is now as easy as installing Mono, copying the BlogEngine.NET files over to your server and configuring apache. To those that have tried that before I realise that it's easier said than done, so I will be putting together a BlogEngine.NET on Mono tutorial in the next couple of days.

If you are using BlogEngine.NET on Mono, please give the new release a test and let me know your results in the comments.

The Novell guys have pushed out another release of Mono, and I've just updated my VPS.

I'm glad to report that everything works great with BlogEngine.NET on Ubuntu. I've updated my instructions for installing Mono on Ubuntu to include the latest release.

If you haven't given Mono a go yet, what are you waiting for?

So I finally decided to upgrade my linux server to the latest Ubuntu, Mono and BlogEngine.NET.

As you can see it all worked out in the end, but only after 2 days of fighting trying to compile Mono 2.2. Let me point out though that it should not have been such a mission. Mono 2.2 does compile and install fine using the instructions you can find here.

The snag turned out to be the amount of memory available on my VPS. So here's a note of warning to everyone trying to compile Mono 2.2: You need more that 300 MB of RAM to make it work. Anything less and you're going to end up with the compilation process dying at random points with no indication as to the problem. 400 MB eventually did the trick.

As for BlogEngine.NET 1.4.5, it works fine on Mono except for the URL rewriting. A fix for that is available here.

If you've recently tried to install the latest version of BlogEngine.NET on Mono, you would have noticed that the URL rewriting does not work for posts, but does work for categories.

This comes down to a bit of an oddity in the mono ASP.NET runtime. It turns out that if you have a path like /posts/2009/03/09/slug.aspx and an actual file called /posts.aspx exists in the root site, mono gets confused and mangles the path.

In your URL rewriting IHttpHandler you'd expect the path returned by context.Request.Path to match what was requested, but in reality Mono will give you /posts.aspx.cs/2009/03/09/slug.aspx instead. This is obviously a bug in Mono, but it's fairly easy to work around.

To fix the issue in BlogEngine.NET, open UrlRewrite.cs in BlogEngine.Core and modify your context_BeginRequest method to look like this:

private void context_BeginRequest(object sender, EventArgs e) {
    HttpContext context = ((HttpApplication)sender).Context;
    string path = context.Request.Path.ToUpperInvariant();
    string url = context.Request.RawUrl.ToUpperInvariant();
    // fixes an oddity in mono where .aspx.cs is added
    path = path.Replace(".ASPX.CS", "");
    url = url.Replace(".ASPX.CS", "");
    ...
}

Compile and deploy!

If, like me, you grew up on the web in the 90's, you'll be very familiar with WebRings. You'll probably also be asking yourself: where did they go?

For those that don't know, webrings were created to link like-minded websites into one big loop. From one web site you could click the webring's Next button to be taken to the next site in the ring. Once you reached the end of the webring, you'd be taken back to the first site in the webring (hence the "ring" part).

It seems however that with the advent of efficient search engines and social networking sites, webrings were left behind in the cold. Nowadays search engines like Google and news aggregators like Technorati have become the standard for finding related content.

So in the spirit of 90's retro nostalgia, I've added a BlogEngine.NET webring link to my blog (you can find it just above the disclaimer). The ring which was started by Chris Blankenship (one of BlogEngine.NET's most avid fans and contributors) will hopefully become a link between all BlogEngine.NET community members. This ought to make locating BlogEngine.NET community members a breeze. Now lets just hope we can get this to catch on again ;)

You can join the web ring here: BlogEngine.NET WebRing

I've had some requests for a tutorial on installing BlogEngine.NET on Linux (and in particular Ubuntu).

Getting BlogEngine.NET itself to run is the easy part, the hard part is getting the latest release of Mono compiled from source on Ubuntu and getting mod_mono and apache2 configured together.

So to that end I'm starting a series of tutorials, beginning with the installation of Mono 1.2.6 from source on Ubuntu 7.10 (Gutsy Gibbon). These instructions should also work on Ubuntu 6.10/7.04. The next tutorial will be focused on installing BlogEngine.NET itself.

Here's the first tutorial: Installing Mono from source on Ubuntu 7.10 (Gutsy Gibbon)

If you should have any issues with the tutorial, either contact me directly or add a comment on this post, and I'll attempt to guide you through any problems you may have. Any feedback should also help in creating a troubleshooting section for the tutorial to help others out that may have the same issues.

BlogEngine.NET 1.3 was released just before Christmas. This version supports Mono on Linux out of the box, so if you've been waiting to try it on Linux, I would suggest you try it right away!

If you are about to run on Linux, I would suggest that you get the latest sources as there were a few late fixes for the new Extension Manager on Mono. You need to get version 1.3.0.1 or later. As for Mono, you also need to get the latest version (1.2.6 as of writing), as the latest release has some major performance enhancements that are required for a stable Mono/BlogEngine.NET environment. See this post for more information.


I am a software developer / architect currently interested in combining .NET technologies with open-source operating systems. 

I am a member of the open-source BlogEngine.NET development team and focus mainly on ensuring Mono compatibility for the project.

twitter

BlogEngine.NET


At StayUnlimited Cape Town accommodation we help you choose from and book guest houses, self catering apartments, bed & breakfasts, luxury villas and hotel accommodation.