Data Store Release Candidate

For BlogEngine enthusiasts who like live dangerously and always update their sites with latest code from repository, in the latest build Extension Manager set to use generic data store layer instead of doing it's own thing as it did previously. The story behind it is that in the next release we adding Widgets and customizable Themes, and it makes sense to unify data storage for any kind of "extensions" to avoid headaches in the future. For Extension Manager, it means a bit of redesign. Most of it transparent to the users, but some requires your attention.

If you are using XML blog provider

  • Location of the files has been changed from /app_data/Extensions.xml to /app_data/datastore/extensions
  • Each extension now saves data in it's own file that has the same name as extension class name (ending with ".xml")
  • If you have customized extensions with saved settings, you can update your site and then simply copy saved settings to new locations

If you are using MS SQL blog provider

  • There is a new table added to hold extensions, widgets and themes data:
CREATE TABLE [dbo].[be_DataStoreSettings](
        [ExtensionType] [nvarchar](50) NOT NULL,
        [ExtensionId] [nvarchar](100) NOT NULL,
        [Settings] [varbinary](max) NOT NULL
  • Currently, there is no upgrade utility to copy data from old to new table. But it will be available soon.

If you are using MySQL or any custom blog provider

  • Your provider has to override new data store interfaces:
public override Stream LoadFromDataStore(DataStore.ExtensionType exType, string exId);
public override void SaveToDataStore(DataStore.ExtensionType exType, string exId, object settings);
public override void RemoveFromDataStore(DataStore.ExtensionType exType, string exId);


This site is all about developing web applications with focus on designing and building open source blogging solutions. Technologies include ASP.NET Core, C#, Angular, JavaScript and more.