.NET and Open Source: better together


  • Join Us on Facebook!
  • Follow Us on Twitter!
  • LinkedIn
  • Subcribe to Our RSS Feed

Custom Fields

Usually blogs have well known structure, which is understandable; one of the core ideas behind blogs is ability to "talk" to each other using RSS, format that defines very strict set of entries like "post", "category" or "tag". Also common format helps to move data from one blog engine to the other making your data portable - big plus. But there are times when you want to go beyond this limitation, and add something valuable to you and your readers. So there is need to extend blog's data structure somehow to hold this extra data. For example WordPress adds meta tables for most main entities, and you have post meta, comment meta, user meta etc. I don't necessarily like this approach as it tightly binds extensibility points to existing structure. To borrow from famous Rumsfeld's rant, those are "known unknowns", and sometimes we have to deal with "unknown unknowns". Maybe single generic entry where post or user defines a type would be a better choice, because then we could add new type instead of creating new entry (table). This also allows (oh my!) to have meta for meta entries and not just stick another key/value pair into the post or comment. More...

BlogEngine 2.8 Theme Structure

Looking for improvements to layout and theme structure in the next BlogEngine, I went through existing code analyzing how these things work now. Its not very straightforward, so I decided to put together a quick overview that might help someone maintaining and modifying blog built with BlogEngine.NET. More...

Updater for BlogEngine 2.8

BlogEngine.NET 2.8 was just released to the public, and if you feel lazy going through the steps to upgrade, here is how to do it easier. Download little utility from the link in the end of this post, watch short video with example how it works and you should be able to upgrade without breaking a sweat. One thing that is not mentioned in the video is that this utility if it finds issue it will try to fix it and log this into log.txt in the same directory where you run it. You might want to check this log file to make sure it did a correction properly. More...

Woopra Update

woopra2This real-time customer analytics service just released public beta 8.0 and I tested it with BlogEngine.NET to make sure they still work great together. If you a fan of statistics then you might like it a lot, this service provides functionality similar to Google Analytics with a stress on real-time activity. It is done very well and works great, and with Google dropping services (yep, I’m going to miss Reader) it is not a bad idea to have a plan “B”. I would not recommend to run both at the same time, this might generate too many service calls – although I did it for some time without noticeable downsides. The way it works you create account with Woopra and they give you a script that you add to your admin/settings/custom code/trailing scripts. Then you just go to Woopra site and log in into your dashboard. More...

Jcarousel extension for BlogEngine

This new extension for BlogEngine will let you save images for multiple albums and display any album in carousel-like fashion in your posts and pages using jCarousel plugin for jQuery. It is light-weight and pretty easy to use. I reused code from NivoSlider as foundation, making few improvements and adding ability to create thumbnail images on the fly. You install it from dnbegallery.org and access extension UI under admin/appearance where you should see "Jcarousel" in the menu list in the right side-bar. There you can upload images. To display album on the page as in this post, you add "CAROUSEL:AlbumName" to the post, substituting quotes with square brackets. More...

BlogEngine.NET 2.7 (RC) is out - upgrade it the easy way

imageBeta (or RC) version of BlogEngine.NET 2.7 has been released this weekend with some cool new features like extension-less URLs and lots of small improvements and bug fixes. If you want to test drive it, head over to Codeplex site and download the latest. More...

How to use NivoSlider with BlogEngine

I have updated NivoSlider extension this weekend to support edit/re-upload functionality which can be helpful if you maintain large number of images and sometimes need to make changes. Below is a short screencast that demonstrates installing NivoSlider, adding it to the post and adding new image to the slider. It is about 3.5 minutes long with no audio, I used captions instead as explaining amount is minimum. I've just started learning video editing, so quality is not great but I hope it will help someone having questions on how to install and run NivoSlider. More...

OpenID with ASP.NET Example

In the previous post we’ve got dead simple OpenID authentication working with ASP.NET WebForms application. Lets push it further and make more real world example you can actually use in your project. To make it less work, we will use Javascript OpenID selector – handy little library to display providers and handle user input. It is just two small scripts and one CSS file, very light and easy to modify if needed. More...

OpenID with ASP.NET Made Simple

Implementing OpenID can be challenging, because of large number of scenarios and parties it can be used for and by. So any decent implementation includes lots of stuff you don’t particularly care about and it is hard to parse information to find exactly what you need. To save you some reading time, here how it works with ASP.NET application in the nutshell. More...

BlogEngine 2.6 Updater

BlogEngine 2.6 release is out and you might want to upgrade your existing blog to take advantage of all the new features. You can read instructions how to manually upgrade your site or you can try updater utility I've been using lately to automate upgrades for my blog, it worked well for me and chances are it'll work for you too. It doesn't do database part, so you'll need to do some extra work to run database script and update web.config with connection string. For XML provider all you need is follow instructions below.

Lets assume you use c:\upgrade directory for this exercise.

- Download 2.6 release (web), unzip and copy files to c:\upgrade\be26
- Pull your existing blog to c:\upgrade\old using FTP client like FileZilla
- Download and extract BeConsole.exe to the same c:\upgrade directory
- Create new folder: c:\upgrade\blog
- Open command line, change directory to c:\upgrade and run this command:

beconsole -u c:\upgrade\old c:\upgrade\be26 c:\upgrade\blog

The c:\upgrade\blog now should have your blog upgraded to version 2.6 and ready to be uploaded to your host. I tested it upgrading from 2.0 and 2.5 versions and it worked quite well. Let me know if you run into issues and I'll try to improve it more. May be we can plug it into next BlogEngine for one click auto-update, who knows.