BlogEngine with other XML Providers

Oct 7, 2009 at 6:44 AM

Hi,

Can i use another Xml provider as its database instead of xml's stored in App_data folder?

Please help me on this.

Thanks and Regards,

Prashanth.

Coordinator
Oct 7, 2009 at 7:59 AM

Another XML provider from a different product is most likely not going to work out of the box.

A provider in BE (XML or otherwise) needs to expose many functions for reading, saving, updating and deleting data to and from the data store.

The provider needs to inherit from the "BlogProvider" class and implement all the functions that are required by the BlogProvider class.  You can see a list of those functions here.

Oct 8, 2009 at 9:30 AM

Thanks for your Suggestion.

Can you give an example where BlogEngine is available with XML data provider or suggest how to implement the same.

we have MarkLogic as an xml data provider.Pleae suggest how to configure and use the same.

 

Oct 8, 2009 at 9:37 AM

For your information we use Marklogic as XML content source, so we want to use it as a backend for storing and retrieving the Blog related content.

Coordinator
Oct 8, 2009 at 11:42 AM

There's two providers that are included with BE.  (1) XmlProvider and (2) DbBlogProvider.  These two providers implement all the required functions.

The code for the XmlProvider is divided up into several files.  If you download the Source version of BE, in the Core folder, there's a Providers sub-folder with another sub-folder named 'XmlProvider'.  All the functions are implemented in those files.

The DbBlogProvider is a single file that implements all the same functions that the XmlProvider implements.  The DbBlogProvider can be found in the same Core\Providers folder.

Oct 8, 2009 at 12:56 PM

Can i use a different data source(say Marklogic) to store all the Xml's created in the process of creating a blog/posts/user etc ?

If so please suggest me how to do that?

Coordinator
Oct 9, 2009 at 1:39 AM

The providers store data such as Posts, Pages, Comments, Post Notifications, Tags, Categories, Blog Settings, etc.  A few things like Files and Images that you upload when creating a post are uploaded into the App_Data folder ... this process is not tied to the providers.

Other than these rare exceptions, the provider controls where data is stored, and where data comes from.  They also control and are aware of the format of the data.  So to use a different data source, you would need to create a provider that knows where to get data from, and where to store data in, and knows the format of that data.  Format, meaning Marklogic probably has some pre-defined XML format for the elements of data.  The provider you create would take this pre-defined format into consideration.

I think the task of creating this provider will basically boil down to making a copy of the XmlProvider in BE, and modifying it so it adheres to the format and storage location Marklogic uses.