.NET and Open Source: better together

RTur.net

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