RTUR.NET

.NET and Open Source: better together

NAVIGATION - SEARCH

Using Images in the BlogEngine Comments

Most of the web applications will not let you use HTML as form input for security reasons. And this is why BlogEngine has BBCode extension - to provide you with ability to define which HTML tags you want visitors be able to use. But it has it's own limitations and can't handle some of the HTML tags without little overhead. For example, I wanted to let visitors to use images in their comments, so I went to extension manager/BBCode and defined [img] code. Problem here is that image tag has specific syntax and BBCode does not set to handle it. I had to modify Parse method to process image tag properly. All I did is added a check to see if code is "img" and, if it is, I use custom parsing. Otherwise BBCode uses default code processing. More...

BBCode Enhancements

BBCode extension is a part of standard BlogEngine distribution and since 1.3 it has admin interface that you can use to add or delete codes. That is cool, what is not cool is that updated codes will not show in the comment form; the values used there are hard coded. Makes no sense, so I decided to fix this little inconvenience. This is not hard, only ~/user controls/CommentView.ascx and corresponding code behind file need to be changed. First, open for edit code behind (~/user control/CommentView.cs) and add using directive and simple function that will pull data from settings object and format them for display: More...

BlogEngine.net on GoDaddy with SQL provider

This weekend I worked on incorporating one of the patches uploaded by Phil Garcia (thanks Phil!) that added SQL Server support to Extension Manager. Now you can pick your provider as usual and, if MS SQL Server is your provider, Extension Manager will persist settings to the database rather than XML file as it does by default. Personally, I don't use SQL provider for my blog; I'm totally satisfied with XML here. But I realize there are lot of people who feel differently about it and for whom database is a must. So I used this occasion as an opportunity to add test site to my hosting account and set it up to use SQL instead of XML to be able to try it in hosting environment. More...

Documentation on Extension Manager

I planned to update documentation on WIKI site to include section on Extension Manager, but for some reason site was down this weekend. So I decided to publish it here for everybody who are interested to be able to take a look before I move it under WIKI when WIKI will return back in business. There four major classes that together represent Extension Manager API and extension writers can leverage these classes in many ways in their code. More...

Quick update on 1.3 release

BlogEngine 1.3 has been released this weekend, so now I can take a deep breath and relax a little. Last couple of weeks I've been torn between two deadlines, one on Extension Manager rushing into 1.3 and another on my day job. One down, one to go... Last night I upgraded my blog to 1.3, so now it runs on latest and greatest code base. Not sure if I followed best practises, but it did work so for those curious these are the steps I followed: More...

Extension Manager 101

As APIs for Extension Manager finalized, I decided to put together a few simple examples explaining how you can take advantage of them. Consider situation when you have an extension that uses couple user specific variables. For instance, Akismet extension by Justin Etheredge needs to know API key and URL that specific for each blogger who uses extension. Currently, blogger has to enter this information by hand in the source code or extension author has to craft his own admin UI. Chunk of code below shows how Extension Manager can make life easier. All you need is to specify parameters you want blogger to be able to maintain and let Manager know about it. More...

How extensions can use Extension Manager (beta)

It is subject to change based on input I’ll get, but here is how you can use Extension Manager that is in the BlogEngine build 8474 when you write extension. To utilize manager functionality you first of all need an extension that requires some kind of customization, probably you want users be able to change values set by you as defaults. If so, you can use manager to create default property page for your extension, save default values and let user change them later on. Here is how you save list of default parameters to Extension Manager using BBCode as example: More...

State of Extension Manager

First of all, Mads asked me to join BlogEngine team and contribute by implementing Extension Manager as a part of BE core functionality, and I’ve agreed. If you downloaded latest bits you’ve probably noticed that it already has Extension Manager in it, although you might run into issues using it. It is very early in development and there been lots of small changes and playing around at this stage. One issue Mads pointed at was the fact that, when edit source code, IIS also reloads worker process, not only the application. More...

Let Extension Manager manage settings

By now we have simple and functional admin interface for extension management. Let’s go beyond basics, how about default settings page that extension writers can take advantage of? Let me explain what I mean. Suppose, you wrote BBCode extension (hope Mads won’t be mad at me:). It let people use XHTML in their comments without compromising security. The way it works: you define a square bracket syntax that people can use and extension converts it into real markup on comment serve. This is what code looks like: More...