This post is really a test of sorts. If you can read it, that means that Windows Live Writer still works as a desktop blogging platform. It’s been many years since I’ve actively blogged, but so far for 2014 I’m 2 for 2 (3 for 3 if this works). In the days of old, Windows Live Writer (WLW) was a great little tool for blogging, creating and saving your blog on your PC, then easily publishing it out to your website.

Recently I was promoted, from my position of Sr Software Developer and team lead, to Director of Customer Experience, directing a team of 15 people at ClubReady, Inc. I have 4 software developers that work for me, and 11 customer support and training personnel. One thing I've noticed, not just at ClubReady, is that people often times have a hard time communicating with others, be that in person, or electronically. Over the years I've learned a thing or two about communicating, so I wanted to put together a list of ways to help people communicate better in your professional career.

I don't think I've always been a good communicator, so I do believe it is something that anyone can work at, and improve. As a kid, I was pretty shy, I didn't like getting up in front of people and speaking, and I clearly remember missing out on a holiday concert in preschool when I cried my eyes out because I didn't want to sing in front of a crowd. At some point though, that changed, I really don't know when that was? If I could attribute it to one thing, I guess it was likely my 6 years of band (saxophone) in middle/high school. In College I managed to be a DJ on the college radio station after interviewing for the program multiple times, though it wasn't really until after college that I started doing any public speaking.

My website was due for an overhauled design, somehow a full year came and went and I hadn't done any major updates to the website. I guess that is what happens when you, move, change jobs, and have a second child in on year, time sort of magically goes away.

A couple of weeks ago I started working on a new DNN skin, to replace my MultiFunction skin that I've had in use here on ChrisHammond.com for a number of years now. Initially I was going to work on upgrading MF, but after giving it some thought, I felt like I wanted to start over, and this time around I wasn't sure that I was going to create an open source skin, most likely just something that I would use for my own websites, of which I have plenty to spread the skin around on.

Earlier in 2013 I started working on a new round of DNN Module Development tutorials. For a few months now I've been promising that I would finish up that series, but at this point I am going to announce that the series is on hiatus. 

There are a number of reasons for this, the primary of which is that I am simply too busy. My work role at ClubReady, Inc. has changed over the past month, was promoted to the Director of Customer Experience leading a team of 14 other folks, including developers and customer service staff.

In a previous blog post I talked about what you can do to get DNN 7.1 working if you previously had Xepient's Open Search installed. One thing I failed to cover though, was what happens after you disable open search? You likely no longer have the DNN Search Results module on a page, and after upgrading to DNN 7.1.2 (I didn't notice this in 7.1.0) you may find that the "Preview" search results in the Search SkinObject no longer work.

You may not actually notice, but if you try to "search" and you just get redirected back to the page you were on when you searched, you likely are running into the problem I have a fix for below.

I upgraded a number of websites to DNN 7.1.2 tonight, and I ran into two different problems, this blog post will hopefully help you address the issues that I ran into, if you happen to run into them as well.

Disclaimer: Always backup your website/database before making any changes or running any SQL scripts you got off the web. I don't take any responsibility for damage you cause to your own website, but if you need consulting help with your DNN site, I am available.

In a previous blog post I talked about how to use SignalR with your DotNetNuke modules, well, if you are using DNN 7.1 and the "Advanced" URLFormat option (upgrades won't use this by default, new installs will) then the SignalR/Hubs route will no longer work, DNN will return a 404 for that path.

What you need to do is "override" the URL settings in DNN. In the DNN Platform, you have to do this manually, via the database, I believe the EVOQ ($paid$) versions have a UI for this, but for those of us who focus specifically on the open source platform, you need to make manually update database entries to customize the URL handling in 7.1+.

I was upgrading a customer's website this evening, in a test environment thankfully, and ran into a problem. The upgrade appeared to run successfully, minus one little issue with a primary key (in the 6.0.0 script).

But after running the upgrade, the website wouldn't load. I kept getting an error in Chrome, and then finally started getting 503 errors as the server shut down the application pool completely.

So if you've been under a rock lately, you might have missed this little phenom known as KickStarter. Well today you're going to want to check it out. Secret Labs, the folks who brought you Netduino (hey, I'm wearing a Netduino t-shirt today, what a coincidence...(read more)

Garmin Edge 500 Last night Garmin was nice enough to send out an email to all Edge 500 users (assuming they sent it to anyone who has registered their device with Garmin.com). The email said there was an update available, and recommended that people perform the update by going to your dashboard on my.garmin.com.

Long story short, I updated my device, but it failed. So I tried again, and it failed, this time bricking the device. I was unable to get it to power on, until I tried every button press combination possible until I was able to get it to give me something.

I started this list a while back, and decided I would go ahead and finish it, and post it online. Thanks to Oliver Hine for #9 As someone who runs, edits or develops for a DotNetNuke website, these are 10 things you should always stick to.
I have released version 2.2 of my open source DotNetNuke Module Development Templates. Version 2.2 is really just a minor update for the release, with a couple of fixes, one big, and the rest fairly small.

I’ll start this post off by stating a few things. One, I don’t work for DotNetNuke Corporation anymore, but I still love this project and will continue to work with it for the foreseeable future. That being said, expect tough love from me going forward.

The messaging feature was added in DotNetNuke 6.2, and since then it might have seen a bug fix or two, but it like most other features added to DotNetNuke over the past 4 years, has remained stagnant and seen no additional enhancements.

Now, how can you go about trying to improve the Messaging in DotNetNuke right now?

One of the biggest problems with the messaging module is the message that actually gets sent to the email address of the person receiving the message. It contains absolutely NO information on WHERE the message came from, other than the username of the person who sent it, in the SUBJECT of the email.

Here are a couple of time lapse videos from the winter (spring) snow storm here in St. Louis over the past weekend.

The first video got a couple of media inquiries via YouTube this morning, and was featured on Fox 2 here in St. Louis on their 5 o’clock news broadcast. It is an hour’s worth of shoveling on Sunday morning compressed into 27 seconds.

The second one is of our trip to see the Moolah Shrine Circus at the St. Charles Family Arena.

Both videos were shot with a GoPro Hero3 Black.

This was originally posted on Facebook over the weekend I just emailed a Rabbi in Nashville, TN. Why? Well, my mother came to me tonight and said "A few years ago I found a memory card on a sidewalk. I never looked at it. I left my primary memory card at home by mistake this trip and had this one to use. Someone's photos are on it." So what does a geek do? Opens up the photos on the card and starts looking to see if I can figure out who's photos they are.

This post will provide you with a basic tutorial for utilizing SignalR with custom DotNetNuke Modules. If you want to bypass the blog post go check out the source on GitHub, you can Fork my Repository. The module created here will be very simple, if you want a full blown module with more features be sure to check out the open source DotNetNuke Module SignalRChat, and see it in action at https://dnnCHAT.com/

SignalR is an ASP.NET library for using websockets and long polling in your applications. Basically what this means, is that you can have your web pages (or apps) maintain an open connection with a webserver, passing data back and forth, without having to do standard posts and gets for the content and functions. SignalR is a free library that you can get from www.signalr.net and you can DL from nuget.org right into your Visual Studio projects.

At the new gig we use RackSpace’s Hosted Exchange service for our email. I wanted to get that email setup on my Samsung Galaxy Nexus, and have already purchased a license for TouchDown, which in my experience, is a great Android app for using Exchange email. The problem I ran into is that figuring out what information to use in the TouchDown configuration based on RackSpace’s cryptic instructions was hard to figure out. After far too many different things tried, I finally figured it out.

imageJust because I don’t work for DotNetNuke anymore, doesn’t mean I am done with this fabulous platform. For my new gig at ClubReady (, I started this past Monday) I am not doing DotNetNuke related work, but I am still working on the web. I was doing some research and testing with SignalR, if you want to find out what it is, click on the link there and check it out. In short, it allows for webpages and apps to have an open pipe between the client and the server, allowing you to send information back and forth with ease.

If you’re a developer who frequently creates DotNetNuke Module Projects, than you likely realize DNN is far easier to work with when you run Visual Studio as an Administrator. Why? Because DNN, and the method of module development that I preach, requires your environment to use IIS locally, not with dynamically assigned ports and such that IIS Express will use.
It is with a bit of sadness, and a bit of excitement that I put together this blog post. After February 15th I will no longer be an employee of DotNetNuke. I’ve been with the company almost 3 years (March 1st would have been my anniversary), and I’ve been working with the project for the past 10+ years and worked for one of DotNetNuke’s leading partners, Engage Software, for almost 6 years before starting with DNNCorp.

This blog post is no longer being maintained, visit the Christoc.com Tutorial for customizing the module development templates.

With the 2.0 release of my module development project templates last week I’ve had a few inquiries into how to customize the templates. You can download the templates from https://christoctemplate.codeplex.com/

Why Modify the Templates?

First, why might you want to modify the custom templates? The main reason is that these templates are defined using a specific namespace, DotNetNuke.Modules.*, which is fine in most cases, but what if you want to use your own namespace? Well you have to create a project, then search/replace all instances of that namespace, while not removing any DNN references at the same time. Customizing the project templates will allow you to define your own company namespace, email address, website, and even copyright information, in the template so that you do not have to search/replace every time you create a new project.

RSS URL

Chris Hammond

Chris Hammond is a father, husband, leader, software developer, photographer and car guy. Chris focuses on the latest in technology including artificial intelligence (AI) and has spent decades becoming an expert in ASP.NET and DotNetNuke (DNN) development. You will find a variety of posts relating to those topics here on the website. For more information check out the about Chris Hammond page.

Find me on Twitter, GitHub and LinkedIn.