One stop shop for BlogEngine 1.3 extensions

by Klaus Graefensteiner 25. January 2008 06:29

I just finished upgrading my blog to BlogEngine version 1.3. While in the process of porting it to the new release, I spent some time experimenting with the extensions and the new BlogEngine 1.3 Extension Manager. I tried to keep track of most of the extensions that get posted on CodePlex and I thought I write a blog post that lists all the extensions that I found and demonstrates them in this post, if applicable. This way BlogEngine fans that don't keep track of all the traffic on CodePlex would get be able to quickly check the availability of a specific add-on for BlogEngine.

 

The Tools

The whole article was written with the current release of Windows Life Writer and the Code Snippet plugin for Windows Live Writer. The videos that I use for this post where created with Microsoft Movie Maker 2.1.

 

Extension Manager screen shot

After I deployed all the extensions that I found, I took the following screen shot. On this screen shot you will notice that some extensions are using the old format of adding a tabs to the extensions settings pages like the  , where others integrate into the new

 ExtensionManagerList

Before you start

Known bugs

I was using the 1.3.0.0 version of BlogEngine, which has a bug in the Extension Manager (http://www.codeplex.com/blogengine/WorkItem/View.aspx?WorkItemId=4910). Please get a later release that has a bug fix for this issue. Otherwise you will get an "System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection Parameter name: index" error. I merged the changes from the 1.3.0.12 (9268) change set.

New bugs

I also found two bugs related to saving extension settings to the extensions.xml file. The first issue is that a Save operation seems to succeed although the extensions.xml file is write protected. I also found that the content of extensions.xml is sometimes incomplete. Some elements and closing tags are missing. It seems to be a good practice to have a backup of extensions.xml handy. I looked at the source code and I discovered that there is a "catch all and continue normally" during in the SaveXML() method of the manager.cs file. This explains that you can write to a write protected file and that a bad behaving extension can corrupt the extension.xml file without any warning. The thumbnailer extension has a bug for example that would cause such a corruption. The result is that some one would wonder why extension settings are always reset to the defaults.

Compatibility issues

Currently all the extensions that I tested didn't follow any consistent guidelines of where to put what kind of files. The supporting files are located all over the place. This makes it a little bit harder to maintain the extension plug-ins. I found one compatibility issue between the mp3player extension and the Silverlight media player extension. Both download a JavaScript file called Player.js. This leaves the second control without the correct JavaScript file, if both are used on the same page or post. I renamed the file used by the mp3player extension to mp3player.js and changed the extension source code accordingly to workaround this issue.

Kudos to the extension authors

Almost all extensions that I tested worked well. There was one extension that was not using the ExtensionsSettings framework appropriately and ended up exposing a design issue with the BlogEngine Extension Manager itself.

 

AkismetExtension

Description: Passes comments to Akismet for validation

Author's Blog: Justin Etheredge

Link to provider of 3rd party service: http://www.akismet.com

Related links: http://www.wordpress.com

Supported Versions: 1.2 and 1.3

Remarks: N/A

Demo:

AkismetExtensionParameters

 

BBCode

Description: Converts BBCode to XHTML in the comments

Author's Blog: BlogEngine.NET

Link to provider of 3rd party service: N/A

Related links: N/A

Supported Versions: 1.2 and 1.3

Remarks: N/A

Demo:

BBCodeParameters

 

BreakPost

Description: Breaks a post where [ m o r e ] is found in the body and adds a link to full post

Author's Blog: BlogEngine.NET

Link to provider of 3rd party service: N/A

Related links: N/A

Supported Versions: 1.2 and 1.3

Remarks: N/A

Demo: More...

Tags:

BlogEngine.NET

Administration

About

Powered by:
BlogEngine.Net
Version: 1.5.0.7

License:
Creative Commons License

Copyright:
© Copyright 2009, Klaus Graefensteiner.

Disclaimer:
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

Theme design:
This blog theme was designed and is copyrighted 2009 by Klaus Graefensteiner

Rendertime:
Page rendered at 3/10/2010 6:52:07 PM (PST Pacific Standard Time UTC DST -7)