For various reasons, mostly work related, my blog has been moved around a bit - when I bothered to write anything.
Well its all going to start up again, and this time I decided to use
BlogEngine.NET to host my blog.
BlogEngine.NET
One of the reasons I decided to use it, was that it has a
migration utility (I think its based on/conforms to
BlogML, which means ultimately, if it disagrees with me, I'd be able to get the data out.
Installation
An
installation video is provided and its very simple.
It was easy to install, especially by the fact that it uses xml as its default data store. Good job there. Simply copy up to server, set permissions on App_Data folder and you are away.
I did by accident, delete the admin user, and with no users, I could not login at all. :) silly, but if you edit the users.xml file in the App_Data directory, delete the password hash, reload your page, you should be in again. Just remember to change the password again.
Themes
You can download additional
themes except for the one used by
Al Nyveldt, which I really like but could not find.
I did find a few I liked, but its easy enough to modify small things in a Theme.
CodeFormatterExtension
I like that we can export BlogML, and wanted to show you a small snippet
so, happily there is some formatting for code but I could not get it working properly (the CodeFormatterExtension), until I followed
Matt Kellerman's advice, which got me closer but not entirely there.
The syntax for the code blocks [code] [/code] is as follows:
BUT its not really working, as I had to add a pre tag and
encode the xml before pasting into the texbox editor, before I could see anything at all.
Also is the [Code] block not supposed to be replaced?
code:c#|vb|tsql|html|xml; ln=on|off; alt=on|off; title=My source code; js=on; collapsed=false
<blog root-url="/" date-created="2008-12-31T03:55:41" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.blogml.com/2006/09/BlogML">
<title type="text"><![CDATA[Jonathan Crossland]]></title>
<sub-title type="text"><![CDATA[mmm....Pattern Frameworks]]></sub-title>
<authors>
<author id="Jonathan" date-created="2008-12-31T03:37:07" date-modified="2008-12-31T03:37:07" approved="true" email="jonathan@lucidocean.com">
<title type="text"><![CDATA[Jonathan]]></title>
</author>
</authors>
<extended-properties>
<property name="CommentModeration" value="Anonymous" />
<property name="SendTrackback" value="Yes" />
</extended-properties>
<categories>
<category id="19770e74-9ec9-4cde-b2ab-e5051aaaf348" date-created="0001-01-01T00:00:00" date-modified="0001-01-01T00:00:00" approved="true" parentref="0" description="Posts about my adventures with BlogEngine.NET">
<title type="text"><![CDATA[BlogEngine.NET]]></title>
</category>
<category id="e637d2c8-b74a-402c-9c32-7501f30b718e" date-created="2008-12-31T15:48:48" date-modified="2008-12-31T15:48:48" approved="true" parentref="0">
<title type="text"><![CDATA[Frameworks]]></title>
</category>
<category id="c01a866e-b7a5-472d-8f8e-5be54f1f2eca" date-created="2008-12-31T15:49:15" date-modified="2008-12-31T15:49:15" approved="true" parentref="0">
<title type="text"><![CDATA[Design]]></title>
</category>
<category id="8f522a9f-607a-4339-8e19-554ffccd255b" date-created="2008-12-31T15:49:25" date-modified="2008-12-31T15:49:25" approved="true" parentref="0">
<title type="text"><![CDATA[Design Patterns]]></title>
</category>
</categories>
<posts />
</blog>
Enclosures
Adding Enclosures to the syndication, which does not have an explicit http link, generates an error.
[ArgumentOutOfRangeException: StartIndex cannot be less than zero. Parameter name: startIndex]
System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy) +2915957
BlogEngine.Core.SyndicationGenerator.GetMediaEnclosure(String content, String media, String mediatype) in C:\Documents and Settings\Mads Kristensen\Dokumenter\Visual Studio 2005\Projects\BlogEngine.NET\DotNetSlave.BusinessLogic\SyndicationGenerator.cs:939
However, if it does have http qualified full name, it still wont be generated within the rss feed, unless its not using the /file.axd? mechanism - which is how you upload the file and its injected for you by BE. This oddity needs to be resolved, as it has further consequences with what download extensions are looking at. The DownloadCounter, looks for file.axd within the url to count the download, which obviously then wont happen. Is this the way it should be?
Conclusion
Overall, the
code, is very neat and tidy, which is how I like it, and it is relatively bug free.
I noticed as I wanted to fix a spelling mistake on this post, the Edit page did not populate the textbox with the text for me to edit, until I went back and forth a bit, and then it loaded eventually. (I hope that doesn't happen too often).
Some let downs so far, include the extension for formatting code. (the fact that we can have extensions is fantastic) and setting the time zone offset to anything other than 0, causes utcDate error when getting the RSS syndicated.
Tags: blogengine.net, .net