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…

Widget:

GamerCard

Config:

GamerTag

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. :)

Twitter Widget

I wanted to post Twitter feeds for a variety of Blogs and ran into several problems with the incarnation I found available on the web. (TwitterFeed-Widget for BlogEngine.NET)  Running Multiple blogs, I ran into cache bleeding into each blog since multiple widgets or multiple blogs were never thought about when originally built.  I assume this widget, was just a first attempt.  In that light, I only assume that this iteration is my “draft” version as well, but hope to improve it as necessary.

 

Hopefully I do not need to show a screen shot since the sample should be running in the Widgetzone of this Blog.  (Of course, I may not have pushed the most recent code here so I will have to update this Post when I confirm.)

 

Besides updating the Cache to support multiple widgets and Blogs, I removed the XML file and System.IO requirements, and replaced System.Xml with LINQ (System.Xml.Linq).  I only believe that I improved the original but by no means created any ground shattering new solution, { as I like to believe I do in my Professional life everyday :) }

 

XBOX GamerTag Widget

Look for the Improved XBOX GamerTag Widget ( or Creating a XBox 360 Widget.)  I simply updated it for .NET 3.5, Linq, and BE.NET 1.5.  I’ll Post that soon as soon as I can.

BlogEngine.NET Core Version 1.5.1.31 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. (1.5.1.31)
  • 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 1.5.1.39 (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.

Please support my technical-development community support initiative and send checks for any amount to help offset the cost of my next “ergonomic” workstation. You KNOW I’ll support the community MUCH better with this in my office. :)

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.

Status:

I’ve made the changes to the latest BlogEngine source I had from a few days ago (1.5.1.31) 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 1.5.1.22 to 1.5.1.31 or above.