.NET and Open Source: better together

RTur.net

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

Using custom objects in Widgets framework

When working with Widgets framework in upcoming BlogEngine 1.4, you have three choices for saving widget settings to data store: StringDictionary, XmlDocument and CustomObject. StringDictionary is really a simple one and will fit your needs in a lot (if not most) cases. XmlDocument provides more flexible data storage excellent for complex hierarchical data structures, but it might be a daunting task to handle. You might look at LinkList that comes with standard install on example of using XmlDocument. Custom object provides you with familiar way of working with complex data, but it has it's own gotchas. I'll try to address some of them here. More...

OneNote vs. EverNote

It is hard to keep track of everything you need to remember our days. You can try fancy Moleskine or stick papers to refrigerator, but it never worked for me. For a while now I use OneNote from Microsoft - and I really like it. It has lots of cool features, easy to use and well integrated with Office suite and other MS applications. One thing that always bugged me though, is that it is very much last century application when it comes to the web. There is no easy way to share your notebooks across desktop boundaries. Mostly I got around it carrying my stuff on the USB key, which works but obviously not the optimal way to go. Then I came across EverNote and from what I've herd it was a lot more web oriented, so I decided to test run it. More...

Documentation for Extension Manager

Developers don't like to write documentation. There is nothing one can do about it. Yet, no matter how many great features you add to the project, no one will use them if they not well documented and easily discoverable. There is no special department for document writers on the open source projects (alas), so man has to do what the man has to do...

It is work in progress, but I promise to put extra effort and catch up on all features I've been doing for BlogEngine before 1.4 will be released some time late spring. I'll maintain documents both on Wiki and this site, in the future Wiki will have documentation on current release and this site will have latest on new features that will be rolled out to the Wiki when new release will become available.

BlogEngine Widgets Tutorial

Widget is a special control you can add to the sidebar. What makes it special is that it is a member of the "zone" - area where you can add and configure these reusable components through the zone manager. It is similar to SharePoint WebParts - you can drag it around, set properties etc. And, in BlogEngine, you can build widget just in few simple steps. More...

Fixed vs. fluid CSS layout

People are arguing about which layout is better since web exists. Some like it fixed, others prefer it fluid (or elastic). I always used fluid layouts, mostly because I really hate to see narrow column with unreadable small text on the screen with large resolution - and I used to see it a lot. Naturally - large companies going after broad audience don't want to alienate even tiny portion of potential customers and always go with [W:lowest common denominator]. Lately, though, I start noticing these ugly sites disappear. To confirm my guess, I went to [W:Google analytics] for my blog and looked at screen resolution for clients that access this site. Wow... you guys! More...

Serializing XMLDocument to binary format

Why in the world would you want to do that? Well, for one, you might want to use it in Remoting. Second possibility is when you have different objects that you want to treat the same way, and XML Document is one of them. Whatever your situation is, XML Document is not serializable as is. You'll have to provide your own implementation - create class that inherits from XMLDocument and implements ISerializable interface: More...

Data Store Release Candidate

For BlogEngine enthusiasts who like live dangerously and always update their sites with latest code from repository, in the latest build Extension Manager set to use generic data store layer instead of doing it's own thing as it did previously. The story behind it is that in the next release we adding Widgets and customizable Themes, and it makes sense to unify data storage for any kind of "extensions" to avoid headaches in the future. For Extension Manager, it means a bit of redesign. Most of it transparent to the users, but some requires your attention. More...

Office Live Workspace

I have Windows Live account and, when I’ve read about new Office Live offering, it got me exited and I went to try it out. What a cool idea: you install little add-in for office and, when you need to save a file, instead of your hard drive you save it in the cloud. Work from home, save, go to your job and just pull your excel spreadsheet or word document and you pick from where you left. And you always have full power of office and all resources of your desktop machine. This is way cooler then Google Docs! That is – when it works. More...

Strategy pattern in C#

dp-3

Do you use design patterns in your daily development? You probably should, and if you don't you might start with reading some books on the subject. I would suggest one from Head First series, although not everybody is a big fan of this book. But I found it fun and easy reading that can trigger your curiosity and encourage you to dig dipper. It is written for Java developers, but language samples presented in the book are minimal and, if you don't understand Java, you can refer to this project for C# translation. More...

Using multiple settings in Extension Manager

One of the limitations in the Extension Manager is that extension can handle only one settings object. In most cases, for simple extensions, that is enough. But sometimes you need to let blogger maintain multiple set of settings. Common scenario would be when you want to set some parameters and then maintain list of data. For example, in download counter I might want to have settings for kind of files or directories to watch for or ignore, and then I want to save download log into table structure. Currently – can’t do it without custom admin page. More...