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.

From: TVUG President, Griff Townsend:

Sorry for the delay in getting this out: things always seem to get hectic around the time to put announcements out, and this month was no exception. With that said, I've spoken with this month's presenter (in the mirror), and he is ready to go.
Using the Entity Framework in .Net 3.5 SP1


Speaker: Griffith Townsend, MCP.NET, MCSE
When: Tuesday September 8th, 2008 - 6:30-9PM
Where: VersaTrans Solutions, Latham, NY


When developing multi-tiered applications, it’s not uncommon that to encounter code and architectural “noise” where a developer is forced to shift languages between the business logic layer and the data layer. The preference of many developers is the use of tools (typically Object Relational Mapping solutions) to abstract the database-specific aspects of the data layer into objects usable by the upper layers by object-oriented programming languages.

Microsoft’s long awaited Entity Framework (EF) is one approach to raise the level of abstraction in complex applications, separating the logical object schema from the underlying data store. EF allows developers a lot of flexibility in creating and mapping database entities, relationships, functions, and procedures into either direct class translations or custom business entities.

In this presentation, Griff Townsend introduces us to the Entity Framework as of its initial release in SP1, providing an architectural overview of EF, while also extending it into a working Data Layer. The presentation will also cover:

  • Building your first EF model
  • Using Stored Procedures and customizing business objects in the EF model
  • Extending the Framework to support more robust data access
  • LINQ to EF vs. LINQ to SQL
  • Sharing Entities between layers


Bio: Griff Townsend is a Senior Software Engineer for 6N Systems and the President of the Tech Valley .Net Users Group. In addition to over 14 years of web- and windows- development experience in Central and Upstate New York, he has also taught Software Development for Syracuse University and ITT Tech. He is a Microsoft Certified Developer in .Net, as well as a Microsoft Certified Systems Engineer. He's starting to blog these days, too.