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);