.NET and Open Source: better together


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

Introducing the Blogifier

I've been playing with this idea for a while now, trying different approaches, building proof of concept samples, throwing them away and starting over. Here is scenario I going after: your client asks you to build web application and, when you done, there is a little extra - "can you also add a blog to our website please? The PR people say it might come in handy and we want our product managers to engage by posting news etc. Shouldn't be too hard, right?" Well, you can add Wordpress or alike and call it a day, but what if they want it truly integrated, not another external application but part of website you just built? That would be a challenge. For example, here is 21 step (!) guide on integrating BlogEngine.Net into your application. And this is a challenge I was trying to tackle by creating Blogifier.

Blogifier is a component with common bloggin functionality - post lists, editor, content manager, RSS feed, categories etc. Point was to make it as easy as possible to plug into Visual Studio solution. I wanted to use Nuget for this, but blogging is heavy on the front-end side - scripts, styles, images, views - and Nuget deals with packaging back-end code into compiled libraries. There whole bunch of authentication libraries on Nuget for example, but they all require you build your own UI and only provide back-end functionality. I wanted adding blog really, really easy. Copying project and adding it to solution would work but seems lame - Nuget is better channel for code distribution by far. So I kept going back to using Nuget until I got whole web site compiled and packaged into set of DLLs, with all the styles and scripts. I guess this is pretty unique - at least Visual Studio completely freaks out trying to manage Razor view or JavaScript file in the class library project :)  

From technology point, I wanted cross-platform solution and went with ASP.NET Core (currently using stable 1.1). So first thing I did was setting up continues integration and deploying sample application to Azure and Digital Ocean, to test Windows and Linux in parallel. It took me about a week to reconcile differences between the two, but I think it was important to do it from the start and make Linux first class citizen and not an afterthought. 

Now I got to the point where project hits beta territory - it is usable but not completed. At this point I feel like I could use some feedback and second opinion before it is too late make any big changes. Below are links to short introductory video and project sites - everyone welcome to try it out and feedback is appreciated.

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. More...

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...