Other Widgets:


This one is simple to use.  The original version can be found at: (Creating a XBox 360 Widget.)  I just wanted to update it for my own needs, and so that it would run with current BlogEngine.NET Core.  This is what it looks like…





Please let me know if there are any problems using this.  It requires .NET 3.5 and BlogEngine.NET 1.5.  If it runs on anything else it is purely unintentional. :)

BlogEngine.NET Core Version is running on this server as of this Post.

ref: (Waiting for a Minor Release of BlogEngine.NET with MultiBlog)


I based my implementation on SqlBlogProvider, but since it was out of synch with BlogEngine.NET I had a dilemma.  My biggest complaint about BlogEngine.NET if I had any at all was the fact that sometimes changes come at a snails pace.  This is not to say that you can’t find a new build there every other day, but that the major enhancements I want don’t always take, or in the case of MultiBlogs, the most popular enhancement to date, is completely ignored.  Once Jacob Proffitt created a solution, I figured it would be rolled into BlogEngine.NET.

OK, so I was Way off on this one. So here’s a strategy:

  • Get the latest BlogEngine.NET code and use it as a baseline. (
  • Get the latest SqlBlogProvider code and ditto. (27978)
  • Make sure to upgrade Everything to .NET 3.5
  • Modify the SQL Database Schema to include Blog and Host tables, and BlogDataStoreSettings
  • and add BlogId columns where necessary.
  • Recreate the DBML for the new schema.
  • remove references to multiblog="true" because they don’t matter anymore.
  • Simplify and verify.

OK, done!!!  Now what?

I have a set of Blogs running an older version of everything and now I have a new schema.  Also, I have new capabilities and only a SQL script to modify or add new blogs.  It is simple but always required modifications before running.

  • Windows Form, new simple DBML for required tables…because the Provider model is too complex,
  • and Done.

Oh, and I needed a migration tool and some more fun with Linq to SQL, so I created a one-off migration tool with a useless UI that could be done from a command line, but I thought I might need more.

And, it’s running now!!!


BlogEngine.NET code is now at version (change set 31351)


Now I have to isolate changes, bug fixes, enhancements I want and implement…but this is the exact scenario I want to avoid.

  • Do I create a Branch that uses most of BlogEngine.NET?
  • Should I start over?

I think the best option is to start a new core based on current or future technology and leave behind what can be upgraded.  Linq, Entity Framework, WCF, Silverlight 4, .NET 4.0 can be used much more.  MVC can become a solid base for the UI, maybe. This is not a hard nut to crack, and get’s easier with time and new technology.  The hardest part about using BlogEngine.NET today is that it takes longer to fix than to build again from scratch.

It’s time for a new architecture.  I’m glad I didn’t create one myself a few years ago when BlogEngine.NET was introduced, but I will be happy when I can safely deploy a new version based on those principles.

Pipedream: Multiple Blogs

I’m not sure if anyone else has noticed but the NUMBER ONE requested feature of BlogEngine.NET (That’s #1 by a landslide) is to support Multiple Blogs per installation.  I have been struggling with this concept and while searching for and designing a workaround using BlogEngine.NET and the Provider model using SQL Server only, I came across SqlBlogProvider that also uses Linq to SQL.  This model supports Multiple Blogs in a single SQL Server Database in a single Application folder.  It now also supports multiple hosts or domains per blog if required.  So the only dilemma I’m struggling with today is where to go from here.


Current Conundrum:Linq2SqlBlogProvider

Now that the SqlBlogProvider supports what I need, although there are a few items I’ve extended I’m still having problems syncing between the “current” or “newest” code base(s) of BlogEngine.NET and the SqlBlogProvider.  They don’t jive, nor should they.  However, I want it all, and I want it now…Yeah, I know it sounds like a song.  The strategy I would have employed was to Add a blog table, and then the host table to support another level of hierarchy, then add a BlogId to each necessary table.  However, in order to create the least possible interference with the Core, the SqlBlogProvider author added separate tables (Junction tables) and a separate Provider project.


I’ve made the changes to the latest BlogEngine source I had from a few days ago ( and SqlBlogProvider (1.5 Change Set 27978) but haven’t finished the work I wanted yet.  My plan is to finish some bug fix work across both projects which may be done as far as my issues are concerned.  Now I’m adding a GUI for setting up new Blogs (via Linq and the new provider I chipped out of SqlBlogProvider).  Then I’ll dog-food it for a while and see where it leads me.  I may learn enough from this to start fresh and rebuild the core in my own way but I’m willing to share the results if someone asks.

You’ll know it’s in use when the BlogEngine.NET version at the bottom of this blog changes from to or above.

This is a thread from BlogEngine.NET on CodePlex. (Multiple blogs on same installation

I would like to see the current dev plan, if it exists yet.  If I knew we/they/you were going to use SqlBlogProvider, and even integrate it into the core, I would like to help.  If there was also a way to allow multiple blogs within a single application, that would be great too.  Should everyone just create a new branch?

If we don't know the future plans, dates, implementation, etc., we're stuck deciding whether to wait or risk going forward with an alternative branch and missing out.  Communication would be good.  I may be missing something.  I've stated recently that I spend more time modifying current BE.NET code than I ever do Blogging and I have over a dozen blogs. is currently stable, from my perspective with SqlBlogProvider supporting all of those blogs on a single folder, with a single SQL database and schema.  The only (minor) issue is still creating multiple Web Applications and pointing them to the same folder.  I can live with that on an 8-way server with 2 GB of RAM.

It’s related to Multiple blogs in one BlogEngine.NET instance and BlogEngine.Net for SQL Server

The concern here is complex, balancing need, want and political correctness.  But it doesn’t need to be this way.  I’m more afraid of pissing-off the folks who have put so much into this project than I am of whether or not I can build a system from scratch so I don’t want to say what I’m thinking.  Hey, if I had the time, or could work with “you folks” I’d want to contribute towards a cleaner architecture, test methods (not that I’m the expert in that), and MVC version, even contribute the Oracle portion of data model and db provider.  But overall, I’d like to see a plan.  I’m most concerned about waiting for people who are deciding on things without customers’ input, frankly because we aren’t customers.  Nobody’s paying for this.  So, you get what you pay for, right?!?!  Not quite.  There’s an incredible value in this product, and for the developer in us, there’s even room for learning by fixing, altering and improving.

The point is, I feel useless in the process and could contribute substantially to the process.  I’d hate to say BlogEngine.NET needs “new” blood, because I think it just needs more time, as in planning and development effort.

If anyone is interested in contributing to this effort, but has been shut out, let me know if you want to go down the branch path together.  I’m not against trying something and dropping it in the future for the right reasons or sticking with it if it adds even incremental value, or for that matter, starting from a completely different approach.

This is what you see when attempting to rate a new post. Click on a Star to rate the post.  Notice the infinitesimally small rating that is generally added when creating a first post.  This may be something I did myself while trying to “fix” the Add a new Blog script.



These are the symptoms I could find so far, but I cannot isolate the DateTime property that is causing the Exception.

Line number (approximate:)


SqlTypeException without enough detail for me to locate the offending data point.  What am I missing?


For more information on this Project:  http://blogenginesqlserver.codeplex.com/.  I will update this post when a resolution is found.