For those of you who use my RSS FeedReader Web Part for SharePoint, it has been updated into an ‘official’ release for the project.  Version 3.0.0.2 is now the latest release.  It incorporates all the changes from our team’s contributor, Ryan – thanks Ryan!!!  You can read the checkin on the Codeplex site or review this previous post for Ryan’s checkin notes.

As always, the source code is included on the site, licensed under the Ms-Pl.

There has been some emails/work items/debate over the installer.  The installation is two parts:

    • Installation of binaries
    • Deployment to SharePoint servers

It has been much debated with me in private emails about that the MSI installer should automatically deploy to the server.  Initially this is how feedreader did it.  And I was flooded with email complaints.  Why?  Well, turns out people don’t always install to the same locations, have SharePoint in the same locations, want to deploy only certain web parts to certain SharePoint site collections, etc., etc. – I could go on.  The bottom line is that every configuration was different enough that it didn’t make sense to me to put effort into the installer to either a) guess or b) ask configuration questions.

SharePoint already provides a tool to do this: stsadm.exe.  The readme (yes, there is a readme file) provides instructions for deploying the web part to your specific configurations.  I also received notes that the sample script should be more explicit.  Again, people haven’t always been installing the binaries to the same location so if I was explicit, I’d be wrong in some instances.  I can’t please everyone :-)

The first step (after running the MSI which installs the binaries to your machine) is to run the stsadm tool to add the web part solution:

stsadm -o addsolution -filename %YOUR_INSTALL_DIR%\SharePoint.WebParts.Rss.wsp

Note the %YOUR_INSTALL_DIR% is not a literal you should be typing.  This refers to where you installed the binaries.  If you didn’t change any settings it would be this:

stsadm -o addsolution -filename "C:\Program Files\Tim Heuer\RSS feedreader Web Part\SharePoint.WebParts.Rss.wsp"

Notice that if you have spaces in your path you must put them in quotes.

If you have problems/suggestions log them as a bug/work item on the Codeplex site please.  If you have an idea and would like to contribute, the source is available!

The web part package you may have noticed is not packaged in a WSP file for easier deployment to Windows SharePoint Services v3 and in fact, that is a new requirement (WSS v3) for this update.

Yes, this is one of those posts where you reflect on ‘life’ and how precious it is.  Today was a weird day for me because of two things that caused me pause.  Allow me a little history…

Just over 5 years ago now I received a call that my father was in the hospital as a result of a massive heart attack and was unconscious.  Those are things you never want to hear…ever.  Needless to say it was going to get worse.  In fact my father was in immediate need of a heart transplant to live.  In the interim, they would equip him with an artificial heart.  Sounds logical right?  Unfortunately, ‘artificial hear’ in my father’s situation (due to his body size, chest cavity, etc.) translated to a massive piece of equipment.  Literally my father was hooked up to a pressure device that was on wheels and was about the size of a machine washer.  He had these HUGE tubes connected into his chest and external pumps that served as ventricles.  EVERYTHING was external to his body – yes you could see blood pumping in and out…it was disgusting and amazing at the same time.

After about 7 months of this and a false start on a heart transplant we got the call that a heart was coming and it was local (a donated heart has about a 4hr ideal life span to transplantation).  Hours of surgery later my father had a new heart.  It was a long road to recovery but he is alive today with a donor heart.  My family is eternally grateful for this gift.  My children would have not known their grandfather otherwise (my wife was 9months pregnant when this was all happening).

Fast-forward 5 years later.  Today we received a letter from a woman we’d never met.  It was the mother of the donor heart.  My own heart sank as she wrote this letter on father’s day.  She wrote how she had hoped we were able to benefit as she has felt this long for some time.  We had suspected the identity of the donor heart immediately as on the day my father received his, there was a terrible murder in a neighboring city of a young man.  To this day we suspected it was his heart.  Today we received confirmation of such.  To protect his identity I am not revealing details but that isn’t the point anyway.  My father lives today as a result of one man’s unfortunately loss of life and his remarkable decision to be an organ donor.  This letter from the family is a reminder of what a remarkable miracle happened to my father. 

The second thing today that made me slow down is a funeral my wife and I attended.  For the past 6 years we had known an individual and her daughter.  She was from Mexico and trying to make a better life for her and her daughter.  Her daughter meant everything to her.  Last week she was struck by a car and a week later died as a result of head injuries.  She was 16.  We attended her funeral today and it was amazingly sad to see a family have to bury such a young life.  Our friend was overwhelmingly saddened as you could imagine.  Our hearts were broken as we know how much her daughter meant to her…how much she shaped her life around her daughter and made every decision to better their lives together.

UPDATE:
What I forgot to mention is the 16 year old girl donated her heart (received by a 12 year old boy in WA), lungs (60 year old woman in WA), liver (8 year old and 68 year old), pancreas (50 year old) and kidneys (unknown).  What a great gift on such a tragedy.  Donate Life.

So, I guess here’s where the “count your many blessings” part comes in.  Cliche?  Who cares.  I came home and hugged my kids.

Some new videos just got posted to the Silverlight community site.  Topics included:

As always, feedback and ideas are welcome.  Ben’s been leaving some great comments here on suggested topics and I’d love to see more.  I’ll be starting a new ‘series’ soon…more to come on that in a week’s time.

As a reminder, these videos are meant to help jump start some learning.  We try to keep them intermediate initially so they aren’t incredibly simple and aren’t incredibly difficult.  If we are missing the mark, I expect that you’ll leave comments on those videos that do so!

Related topics:

As I patiently awaited, here’s what was presented to my browser:

Build successful image

I’ve made my first official “commit” to an open source project that I didn’t start.  I feel good.  I feel like cracking open a Mt. Dew and going crazy.  Honestly though it does feel good (and fun). 

My blog engine I use is .  It’s the blog engine I’ve used almost exclusively (I actually started with .Text before scottw sold out went to Telligent to make Community Server.  I kid of course, Scott is a great guy, and very smart.  But when .Text was seemingly going to get stale, others stepped in.  Notably Phil Haack started Subtext which was an initial fork of .Text.  I’ve used it ever since and haven’t looked back.

SubText logoSubtext has a great community of developers that communicate regularly, share ideas, get feedback…all the things you’d expect out of an OSS project but don’t always get.  As I mentioned this was the first project I really got dirty in that wasn’t mine in the OSS world.  Over the past year or so I’ve been giving feedback, making some modifications to fit my needs, etc. but hadn’t really contributed much literally beyond “you guys should do this” comments.  Most of that was because of time and because I had fixed things for my own needs.

Until today.  This past week I had been submitting patches to the team with feedback and things that I really felt valuable and used in my custom build.  Yesterday I got an email from Phil asking if I wanted commit rights to the SVN repository.  I admitted my nervousness, but he let me in anyway :-).  I have to admit that the image above wasn’t the first one I received :-).  I was quickly met after my first commit with a failed build.

Sunofa...I broke the build.  Well, I will go to my grave saying that I didn’t, but something did.  I believe the popular thing is to blame Vista…so I do that too.

At any rate, with some hand holding I figured out the error of my way (had one file wrong) and got my changes into Subtext 2.0 trunk.  I'm really excited to be a part of this community with Subext even on the smallest scale compared to all the others who do the real work.  I'd encourage you all to find an OSS project and help out...with feedback and resolutions.

I'm not sure when my stuff will make it into the next Subtext build for release but I've previously written about what modifications I've made, but here's what I committed today:

    • Enhanced MetaWeblog API implementation to support providing a "slug" URL name for the post.  This gives the user the option to use the default URL naming, the "auto-friendly" or now to override that with your own slug name.
    • Fixed a bug in the SiteMap handler for blogs not hosted at root domains.  Would love people to test this out.
    • Added support for WordPress API functions of: newPage, editPage, getPages, newCategory
    • Simple modification to the Windows Live Writer manifest to prevent those who think they can future post :-)
    • Tag-based RSS syndicator

In all honest, most of my submissions were self-motivated.  I think that is really what starts getting people involved in OSS projects...not an interest, but selfishness.  All the changes I made are there to make Subtext+Live Writer the best experience it can be.  With the WordPress API implementation you can now create new "pages" in Writer that are Articles in Subtext.  It also supports adding new categories on the fly within the API.  It may not affect many who use Subtext, but I was happy to contribute and hopefully add some small value to the project!

Related Post:

The Silverlight Streaming service has been upgraded to support Silverlight 2 beta 2 applications.

As a note to customers who were previously hosting Beta 1 applications for test purposes, as beta 1 is no longer a supported test platform for SLS.  Authors should update/upload their applications using the latest Silverlight 2 bits.  These are available (with the tools) from the Silverlight community site.

Silverlight 1 applications hosted on SLS are not affected by this upgrade and still supported of course.

Remember that you can also now directly upload a XAP file to SLS using the Manage Applications functionality and then it will dynamically create a manifest file for you – so you don’t have to even worry about packaging up things in some scenarios!