The BlogEngine.NET 1.5 final release is now available for download at CodePlex. Since the RC1 was released a little more than a week ago, we have had some great feedback from the community - most of it positive, but there were also a few hiccups that needed to be fixed. The BlogEngine.NET team worked very hard on those fixes and I believe they were all taken care of properly.

Our main concern was around deployment on different server setups. That was basically why we decided to make the release candidate this time. You could run IIS 7 in Classic or Integrated Pipeline Mode with various restrictions or you could run IIS 6 maybe even more restricted. We got all those issues fixed by the help of the community. Thank you all for that.

New stuff in version 1.5


There are many new features, tweaks and improvements including:

  • Nested comments
  • Superb Windows Live Writer integration (including tags)
  • Latest TinyMCE text editor
  • Mono 2.4 support that just works
  • Doesn't screw with jQuery and Prototype anymore
  • Better database support out of the box
  • Higher performance
  • ...and of course a lot of general improvements, tweaks and bug fixes


All in all a very stable, high performing and versatile product.

Getting started


If you’re new to BlogEngine.NET or interested in upgrading then take a look at Al Nyveldt’s screencast that shows you how easy it is.

Performance tweak


If you are using IIS 7 and want to squeeze every little inch of performance out of your BlogEngine.NET 1.5 installation, then you need to tweak the web.config a bit. In the bottom you’ll notice some elements (staticContent and httpProtocol) that are commented out. The reason for this is that some hosting providers don’t allow them, so that’s why they are commented out by default. If you enable them you will get an YSlow score of 92.

BlogEngine.NEXT


The future of BlogEngine.NET looks bright and we have a lot of ideas we want to implement. At this point we haven’t updated our roadmap, but we will soon so you can see the good stuff we are planning for.

Another point is that version 1.5 will probably be the last release supporting IIS 6 and .NET 2.0. We are not all clear on that, but personally I would like to only focus on IIS 7 and the upcoming IIS 7.5 because that will give us extra possibilities like extension-less URLs even on hosted environments.

When I was building the mobile TV guide I found that there are a couple of things needed to make the website look better on the iPhone and iPod. They both have some extra capabilities that is easy to utilize when you know how.

Zoom level

The first is the zoom level. By adding the meta-tag below, you can specify the viewport to fit perfectly with the iPhone/iPod. The meta-tag tells the Safari browser to zoom in to a specific level as specified. It was a trial and error process of finding the correct zoom level, but very easy as well.

<meta name="viewport" content="width=280, user-scalable=yes" />

Bookmark icon

Another tag tells Safari that when a website is bookmarked, it should use a specific icon to put on the dashboard of the iPhone or iPod. For some reason Apple invented a new link-tag for this instead of just supporting the favicon standard. The link-tag looks like this:

<link rel="apple-touch-icon" href="favicon.ico" />

Programmatically

Since the TV guide is made especially for mobile phones, it was important to keep the download size of the page as small as possible. That’s why I choose not to add these two tags by default, but only when the browser visiting the site was either an iPhone or iPod.

To do that programmatically, I simple added this method to my master page:

private void AddIPhoneHeaderTags()

{

  string ua = Request.UserAgent;

  if (ua != null && (ua.Contains("iPhone") || ua.Contains("iPod")))

  {

    HtmlMeta meta = new HtmlMeta();

    meta.Name = "viewport";

    meta.Content = "width=280, user-scalable=yes";

    Page.Header.Controls.Add(meta);

 

    HtmlLink link = new HtmlLink();

    link.Attributes["rel"] = "apple-touch-icon";

    link.Href = "favicon.ico";

    Page.Header.Controls.Add(link);

  }

}


Of course, these two tags will work for all websites – not just the ones made especially for mobile phones.