.NET and Open Source: better together

RTur.net

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

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

Entity Framework 7 Getting Started

If you are new to Entity Framework, especially to all new EF7, best way to start is to look at this code from sample application. It shows all you need to know to get rolling: connecting to database, creating a table, inserting and selecting data all in one simple console app. You can run it in the new shiny Visual Studio 2015 with break points on any line that you want to verify and literally walk step by step understanding the process. Which is: More...

Bootstrap List Pager

Bootstrap provides nice lists to display all kind of items your website might need. It is very useful, and because it meant to show just few items it is not paged. Problem is, sometimes I do need it paged. For most cases, it can be just a few rows, but for some it can grow in few dozens. Not hundreds, that would mean you need a grid, but still having dozens rows would make UI look really ugly. For these cases, I would want paged list kind of like one on the right in this picture. More...

ASP.NET Globalization in BlogEngine.NET

The basic globalization in ASP.NET pretty simple: you create resource (.resx) file for every supported language and include it in App_GlobalResources. ASP.NET will compile it and load on demand. If you put your resources in labels.resx, in your code you can access individual resource like this: More...

Updater utility for BlogEngine 2.9

If you want to try new BlogEngine.NET 2.9 beta just released to the public, and planning to upgrade your blog, here is little handy utility you can use. Using it pretty simple, just follow these steps and you'll get your blog upgraded in no time. Well, at least I did - no guarantee it will work for everyone, of course. So please don't skip backup and testing and blame it on me :) More...

Custom Fields

Usually blogs have well known structure, which is understandable; one of the core ideas behind blogs is ability to "talk" to each other using RSS, format that defines very strict set of entries like "post", "category" or "tag". Also common format helps to move data from one blog engine to the other making your data portable - big plus. But there are times when you want to go beyond this limitation, and add something valuable to you and your readers. So there is need to extend blog's data structure somehow to hold this extra data. For example WordPress adds meta tables for most main entities, and you have post meta, comment meta, user meta etc. I don't necessarily like this approach as it tightly binds extensibility points to existing structure. To borrow from famous Rumsfeld's rant, those are "known unknowns", and sometimes we have to deal with "unknown unknowns". Maybe single generic entry where post or user defines a type would be a better choice, because then we could add new type instead of creating new entry (table). This also allows (oh my!) to have meta for meta entries and not just stick another key/value pair into the post or comment. More...