.NET and Open Source: better together


  • Join Us on Facebook!
  • Follow Us on Twitter!
  • LinkedIn
  • Subcribe to Our RSS Feed

Export Existing BlogEngine Comments Into Disqus

For some time now BlogEngine supports multiple commenting systems, from built-in to 3rd party, like Facebook or Disqus. Switching from one to another is as simple as selecting an option in the admin. The catch is, if you have existing comments and want to bring them over - you on your own. Here I'll cover relatively painless process exporting your comments into popular Disqus commenting system.

Full discloser - I do not necessarily recommend moving your comments to Disqus, personally I'm doing it for my own reasons. Internal BlogEngine comments work just fine. Using Disqus would help to unload your blog when you have tons of visitors and it starts to impact performance, I suppose. But it also can potentially bite you down the road, for example you might as well run into limitations on comment traffic in Disqus or they can make it paid for, annoy you with ads or something else to degrade experience. Right now they doing pretty good job, but you never know, so don't tell I haven't warned.

If you still want to take a plunge, here is how you do it.

Creating Disqus Account

Head over to https://disqus.com and create new account if you don't have one. Once you have an account, you can add sites to this account It has to be publicly available over web, not local, and unique within Disqus. For example I could add "rturnet" as site name and provide "http://rtur.net/blog" as site URL.

Exporting from BlogEngine

Navigate to admin panel in BlogEngine and load advanced settings (admin/#/settings/advanced). Click "Export" button and save generated file, by default BlogML.xml. This file is in BlogML format, and Disqus can only read its own custom format, so we need to convert BlogML to Disqus import file. This console application can do conversion or use this compiled executable (BlogML2Wp.zip (4.71 kb)) if you don't want to deal with Visual Studio and source code. Once you have BlogML.Output.xml you ready to load your BlogEngine comments into Disqus.

Importing Into Disqus

Importing into Disqus is pretty simple, navigate to https://import.disqus.com, select your "forum" (site you created in the first step). Upload your BlogML.Output.xml using provided form and wait a little for the file to be processed. Here is screen after loading small test file with 2 posts and 3 comments.

If you click "forum" name in this screen, you'll see details page. This details page will also show any export errors, if any. In my case, after loading over 1,000 comments I had 4 old comments having export errors which I safely ignored.

All threads should be added to Disqus admin and imported comments should appear in the moderated list. At this point, you ready to connect Disqus with BlogEngine.

Switching BlogEngine to use Disqus

In the BlogEngine admin panel, go to settings/comments and select Disqus as your comment provider, enter site name and save changes.

You should be done by now, but I found one small issue I had to resolve for Disqus comments to show on the site. I'm using latest BlogEngine with URL slug instead of post ID. So I had to modify Disqus URL in my blog to use absolute link instead of permalink. You'll have to FTP to your site and make an edit in /post.aspx.

That is it, your site should be using Disqus instead of built-in comments now. You can delete your internal comments if you want to or keep them around just in case. They will not interfere and will be ignored as long as you using Disqus as your comment provider.


Building Widgets for BlogEngine.NET 3.3

Version 3.3 dropped user controls from BlogEngine and new widgets use Razor views instead. To start developing new widget, open source code in Visual Studio, navigate to BlogEngine.NET/Custom/Widgets in the solution explorer and add "Example" folder. If you run application and go to admin/custom/widgets, you'll see "Example" widget added to available widgets. You can even drag it to widget zone and save changes. More...

BlogEngine.NET 3.2 Released

The year wouldn't be complete without it :) It took a lot longer then I hoped, for variety of reasons, but finally went live. New version is much more pleasant to use, it is improved and simplified in many ways. Besides new design, it went through lots of code changes which may not be obvious and this is what I want briefly explain here. More...

Post Paging Extension

Reading this thread on Codeplex I was going to write that no such functionality exists but probably easy to add. But then I though just how easy it really would be? So I fired up Visual Studio and about half an hour later I got functioning plugin that does exactly what requested. And this is why I like BlogEngine - it is insanely easy to customize. At least, when you get used to it because documentation admittedly sucks. More...

Boldy Updated to Version 3.1.1

We getting really close to BlogEngine 3.2 release and I'm mostly switching to integration tasks, checking how it works with external code, like themes, plugins etc. As an exercise I decided to refresh my old Boldy theme and make it work with very latest code. To make things simpler, I took layouts from new standard theme and applied Boldy styles on top of it. The result you can see here on this blog, install from gallery if you running BlogEngine.NET blog or check out code at GitHub.

Also, if you running BlogEngine.NET, I would really encourage download latest version and try it out with your blog to make sure it works smoothly and we didn't miss anything specific to your environment. There were lots of changes to the core base, not just UI, and we would love to catch errors before we go live.

Adding Twitter and Facebook Share Buttons to The Post

There are plenty services and plugins that let you add social share buttons, downside is they usually trying to be all things for all people. So you can end up with complex solution to a very simple problem. For example, I just want Twitter and Facebook share buttons and not really interesting in anything else. I want it to be as light, clean and simple as possible. How hard it is to do it manually? Fortunately, not that difficult and I'll try to describe how to do it in this post. More...

Multiple Blogs vs Multiple Users

BlogEngine supported multiple users as far back as I can remember. But what people really wanted was multiple blogs on the single application install. So that hosting company, for example, can install application and provide free blog to everyone buying hosting space. Having multiple users not helping here, it just not the same. And at some point BlogEngine went all in and added multiple blogs feature. It did it by allowing basically replicate entire blog structure as many times as needed, including membership, in every child blog. So right now we have multiple blogs, each with multiple users, custom roles and elaborate access right permissions for every user. This is nuts. More...

Crazy Fun Times

In application where you publish things, published time seems simple. I write post at 12 pm, hit “publish” and all I want is my post saved with that 12 pm time-stamp. How hard it can be, right? Wrong, which I found the hard way trying to fix issues with publish time in relatively simple application. So I made this cheat sheet, or rather note, to help straighten things up. More...

Drag and Drop Widgets with Bootstrap

Just a little concept for the next BE release. Really want to get rid of editing on live site and move all under admin. Why put it here and not just stick in the Github repository or Plunker? Because blog supposed to be center of your digital Universe and if not then something is wrong with it and it needs to be fixed. Blog, not the Universe - that is out of scope. Maybe next year. More...

Sneak peek on BlogEngine 2015

There has been a lot of activity lately on BlogEngine.NET development that went under the radar, so I want to clear things up a little. Because code moved from Codeplex to Github without much publicity, people don't see any changes in a while and assume project is dead done. This is exaggeration :) New release is under active development and coming along in a month or so. It is a bit of ironic that auto-update added in the previous version supposed to allow small quick releases, but somehow we ended up with another monster update. Old habits die hard, I guess. Anyways, here are some highlights on the coming features, some already implemented and some planned or in the works. More...