BlogEngine.NET and VistaDB

wrenches For my presentation at Philly Code Camp this past weekend, I talked about the provider model and we used BlogEngine.NET as the source code for the talk.  As part of the presentation, I created 3 new providers for BlogEngine.NET to store data in a VistaDB Express database.  These 3 providers allow you to keep most all your blog data in a single database file for easy backup of your site.

In thinking about my presentation, I decided early on I wanted to write new membership, role, and blog providers for the presentation.  I figured it would be helpful to go through the steps in the session and even though no one would want to watch me implement each of the required methods, we would gain a lot by writing a little of the code, putting in the pre-written versions, and then discussing a bit more of it.  A light weight database seemed to be an ideal fit for what I wanted to do. 

You might ask why I chose VistaDB and it is a good question.  I actually was encouraged to go the Sqlite route, but I decided to give VistaDB a try.  I have heard good things about Sqlite, but the fact that I've heard very little about VistaDB other than the fact that Graffiti CMS uses it out of the box, made me curious.  Once I found that they have an Express edition available for open source projects and non-commercial use, I decided to give it a try.  I'll write more about VistaDB soon, but I can say it has a lot going for it and I am really happy with my experience with it so far.

I promised to make my code available so here it is.  The source includes BlogEngine 1.3.1 with the additional files I created.  If you are interested in using the VistaDB implementation with BlogEngine for yourself, check back tomorrow.  I've made a separate project with the necessary files and will make the needed dll, the database, and the web.config changes and I'll give the details on it all tomorrow.  If you just can't wait, you are more than welcome to dig into this code.  It is all here.

Update: I made some updates to the VistaDB providers (security and the like), moved them out of the Core project, and made them into a separate dll for easy installation with the BlogEngine project.  The details and the download can be found here

Comments

5/24/2008 4:27:47 PM #

Jason Short

Fantastic!  Your project looks really good.  I just wanted to post publicly that the VistaDB Express edition can be used in this manner just fine.  Take a look at the license requirements from our site and feel free to post to the VistaDB forums if you have any questions.

Thanks Al for a great contribution to the community.

Jason Short United States |

5/24/2008 9:23:35 PM #

Chris

Is using VistaDB any different/better than using SQLExpress edition?  I agree that running a full version of SQL isn't really worth the cost but if SQLExpress is free then why wouldn't that be the DB of choice, assuming you have already decided to use a database instead of XML.

Chris United States |

5/27/2008 1:13:32 AM #

Ingmar

Because i can set up VistaDB in a shared hosting account. My shared hosting provider is offering SQL Server for some extra's. If VistaDB can speed up things against the XML provider I'm pleased to have a performance upgrade for free Smile

Is BE going to support VistaDB out of the box? Or will this be a seperate download?

Ingmar Netherlands |

5/28/2008 5:52:43 AM #

Al Nyveldt

Chris,  VistaDB has a number of advantages over SQL Express, but the main one most are concerned about is that SQL Express doesn't hold up well in shared hosting environments and some hosting providers (like mine) don't allow it anymore.  

Ingmar, The vistaDB will be a secondary download option and not part of the core BlogEngine project.  That said, I'm using VistaDB, so you can be sure that a VistaDB upgrade option will be available.  (The fact that VistaDB will require a 3rd party DLL will keep it out of the core BE project.)

Al Nyveldt United States |

6/16/2008 10:29:03 PM #

Pierre

I've got the following setup: a C++ application, using COM calls a C# DLL, which calls others DLLs which in turn access VistaDB20.DLL (ver. 2.1.8.2) .

I cannot step through my C++ code because the VistaDB DLL causes an interminable set of breakpoints:

"Invalid Address specified to RtlFreeHeap( 00140000, 0604FB78 )"

I am working with a 3rd-party app and have no control over which version of VistaDB is used. The C++ is Visual Studio 6, latest SP.

Not an optimal experience.

Pierre Canada |

5/16/2009 8:46:37 AM #

trackback

BlogEngine.net and VistaDB

BlogEngine.net and VistaDB

VistaDB.Net Blog |

Comments are closed
Recent Comments