Al Nyveldt

Adventures in Code and Other Stories

Today, we (the BlogEngine.NET team) finally made our first official release of BlogEngine.NET.  The first release has a whole boatload of features including:

  1. A nice variety of cool widgets
  2. A very sweet commenting system
  3. Great syndication support (RSS, Atom, and Feedburner)
  4. Support for Metaweblog API
  5. Trackbacks / Pingbacks
  6. A nice blog search
  7. Referrer stats
  8. Easy theme creation.

 

There is a bunch of other good stuff in there as well.  Please take a moment to check it out.  You can get it here.

The team put in a lot of effort to make it come together and we are very happy to finally get this release out the door.  The feedback from the early adopters was also a huge key to getting the bugs fixed and helping us see what was most important for the first release.  Thanks to all who tried it out and gave some feedback.

We'll need more help in future versions, but help would also be appreciated with updating the documentation and making new themes and widgets.  If you are interested, head on over to the BlogEngine.NET site and get started.  (I'll be working on documentation more this week as we need to get more of it filled out.  Please feel free to make a wiki account and help me.)

A few cool BlogEngine.NET links to check out:

  1. Main BlogEngine.NET site (http://www.dotnetblogengine.net/)
  2. Project Road Map - A look ahead to the future releases
  3. Documentation - This is where you'll learn how to do whatever you'd like to do with BlogEngine.NET
  4. CodePlex Discussions - The place to ask and answer questions and discuss new ideas.
  5. Mads' Release Post - Mads Kristensen, the team leader and project creator, put together a nice post on the official release.  (Yes, the man can do it all.)  His post shares a little of the history of the project and the team.

A few weeks back, I put together an initial Microsoft SQL Server (MSSQL) blog provider for BlogEngine.NET.  It basically allows me to keep all my posts, comments, and stuff in a MSSQL database instead of the standard XML files that BlogEngine.NET uses as a default. 

Why would I want to do this? Well, I not really sure.

It has been a very popular request on the BlogEngine site and I thought that someone from the team should do it and use it so that it doesn't get left behind in the development.  I seemed like the logical person for the job for a number of reasons:

  1. I have SQL Server access with my hosting through WebHost4Life.
  2. My personal/family site is very SQL Server dependant so I'm going to keep my database access for a while.
  3. I'm a team player.

While the bulk of my data is coming from SQL Server, there are still a few pieces of data that are gathered from xml files.  Specifically, the settings, the blog roll (not in use on my site as of today), and referrals. Also, files (images, zip files, etc.) are stored in the App_Data folder.  These items were not a part of the base blog provider class that I implemented to make the SQL Server provider, so they remain as they were for now.

I'm not really sure how I feel about moving all these pieces over either.  I like having files/images where they are and having my settings in an xml files feels right to me.  The others I think should come over eventually which means getting them added to the blog provider or creating a Control provider to handle this storage of information. 

On a side note, I'm ignoring the membership provider for now.  BlogEngine.NET uses implements the membership provider and defaults to use an XML provider.  I could switch this to MSSQL, but I haven't done it yet.  One thing at a time.

The BlogEngine team will need to discuss handling the blog provider further, but I'm guessing that won't happen right away as we are working on getting the new release done and the documentation that goes with it.  In the meantime, I'd really like to hear from those people who are itching to use SQL for data storage what your preferences are for storing this other data and why.  You can let me know in the comments or on the discussions on CodePlex

In the short term, I'll be testing it out on my site for a while before putting together the scripts for installing and using it.  Everything seems to be working great so far as I've been playing with it on a test site for a little while now.  That said, if you see something that isn't working as expected, please let me know.

Podcast Review - May 2007

It has been a little while since I shared my current podcast list, so I thought I'd write a quick update.

Must Listen Group:

HanselMinutes - Still the best.  There have been a few shows that have been subpar, but for the most part it gets listened to within a day or two of when I get it.

Often Listen Group:

.NET Rocks - This has recently moved up my listening list.  While I figured when they went to the twice a week schedule, I'd listen even less, that hasn't been the case.  Since I decide based on the guest and the topic, it just seems there have been more opportunities to find a match for me.

Key Life with Steve Brown - A daily Bible teaching show that I listen to in spurts.

Polymorphic Podcast - Craig's show is almost always good, just not too frequent.

Wild Chronicles - This is a video podcast I often watch with my kids.  We will do 3 in a sitting maybe 3 times a month.  The kids ask for them all the time however.  I will watch one occasionally on the iPod as well.

Occasionally / When the mood strikes Group:

APM: Marketplace - This used to be a favorite of mine, but I'm just overwhelmed with the shows now that I have so much other quality listening.  I'm surprised to say that I miss the Takeout version they use to offer instead of the full show.  (I remember being disappointed when I could only get the takeout and not the full show.)

NPR: Technology - NPR Technology stories.  It is very good, but I just don't get to it often.

tWit (this Week in Tech) - This is the one I listen to the least, but still once in a while.

Overall, I've been listening to audiobooks a lot more often than podcasts these days.  Maybe sometime soon, I'll write about the various books I've listened to and re-listen to.

I heard from a few BlogEngine.NET users out there who are starting to take advantage of the power of the Metaweblog API for editing their blog, but I wanted to write something up to show everyone how easy it is to get started with it.

The newest releases of BlogEngine.NET now include RSD (Really Simple Discovery) which allows programs to automatically detect where the metaweblog APIs can be found.  This just makes the process of getting started even easier.

I've been using Windows Live Writer (WLW) for posting since finishing the API a few weeks back and it has been a great experience.  In order to give you a true start up experience, I decided to download WLW and install it fresh in a Virtual PC I use for testing.

After installing it and starting it up for the first time, you get this great welcome screen where you are given the opportunity to click Next.  Upon doing so you get your first choice of the configuration.  It is an easy one, "Do you use Windows Live Spaces or another service?"  Of course, BlogEngine.NET is another service, so chose "Other weblog service" and click Next.

Now, you get to the real entry window.  You enter the url to your blog, your login and password.  Once you click next it will connect to your site, download some site information through the Metaweblog APIs and then come back with a finished dialog box.  Click Finish to get started with your first post.

Once you have gone through the set up you can then use the WLW interface to type up your blog posts in style.  It makes handling images, formatting, and basically the whole process a pleasure to work with.  It is extremely handy for images as you just add the image to the post, pick a size and WLW will make a small thumbnail image for your post as well as link to the full size image automatically.  (You can change this default, but it is a nice time saver.)

There are also a bunch of cool plugins for WLW for inserting all sorts of things into your posts as well as functionality to pull up and edit older posts that need to be cleaned up.

Once you have a blog post typed up, you click Publish from the toolbar and it will upload your blog post and all the images for you automatically.

For those of you who don't have the RSD set up on your site yet or if your tool of choice doesn't auto-detect, you can still take advantage of the Metaweblog API.  In the setup, after it asks you for the url of your site, it will come back and ask you how to connect.  You want to select "MetaWeblog API" or "Custom Metaweblog API".  You will then need to tell it the path to the API which is:

http://www.yourdomain.com/folderpathifneeded/metaweblog.axd

For example, my path is http://www.nyveldt.com/blog/metaweblog.axd.  If my blog was in the root of my domain, it would be http://www.nyveldt.com/metaweblog.axd. 

You should also be prompted for your username and password as none of the APIs will work without them.

Once you get on to it, it is hard to go back to the standard web entry method.

Is it reusable?

Well, it is the week of one of the big conferences of the year and I'm conferencing!  However, while the developer world I'm most interested in is at Mix 07, I'm at a different conference in Orlando. 

While I'd guess the average person would be thrilled to be in Orlando for the week, I'm not average. As a matter of fact, I was doing a little BlogEngine.NET work this evening instead of more typical conference activities and I began thinking about the late afternoon session I attended at the conference.  The question which came from the audience in the session rings in my head, "is it reusable?"

The session was on using Crystal Reports with this companies product.  Yes, that is right, while others are hearing about DLR, Silverlight, and other cool things, I'm learning hearing about Crystal Reports....  (Breath in... Breath out.... It's ok.  Stay positive.)

Where was I?  Oh yeah, the presenter had just finished talking about the crystal function to add a SQL command (basically putting a SQL statement in a textbox to be sent to the server for processing ) instead of the using the standard Crystal UI of selecting tables, linking tables, etc.

After the presenter finished telling us about this and making a command (by copying and pasting the SQL generated by Crystal by the way), someone asked about the newly created command, "is it reusable?"

The response left me stunned on many levels.  He said matter of factly, "Yes."  He quickly expanded his answer by saying that you could copy and paste the SQL text to a new command in a new report.  He went on to recommend pasting it into Word or Notepad and saving it there for future reuse. I'm not going to focus on the reasons why this didn't sit well.  I'll simply say this was the loosest definition of code reuse I'd come across to date.

I'm not saying I've never copy and pasted code, I'm just saying I would never have thought to describe that as reusable code.  I could go so far as to say duplication is not reuse, but that is not the point of this entry. The point of this entry is to brighten my spirits and you, the reader, are just along for the ride. 

With this new definition on my mind, I could think of anything that I could get to the clipboard as reusable. As of now, I've decided that in order to stay positive the rest of the conference, whenever things aren't going as I'd hoped, I'm going to remind myself that every piece of code I've ever written is completely reusable while I'm at this conference.  I almost feel like a better developer already.  I'm just wishing I brought some of my old FilePro code..

About

BioPic Hi. My name is Al Nyveldt and I'm a software developer from central Pennsylvania, USA.

I'm on the BlogEngine.NET development team and write on a variety of development related topics. More...

Follow me on Twitter
Contact me via email

Recent Comments

Quote of the Day

"And remember, no matter where you go, there you are."

- Earl Mac Rauch

Sponsor


Recommended Books



Archives


Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2008

Sign in