The Mighty Blog

By Will on 9/29/2009
Earlier this year, Tom Kraak took a long trip down to Orlando, Florida to speak at the Orlando DotNetNuke® Users Group (ODUG).  He gave a fantastic session on SEO practices in DotNetNuke®.  I am all set to return the favor on November 17th, 2009 at the Connecticut DotNetNuke® User Group

I will be speaking to the members of the user group about jQuery, and how it is used in DNN module and skin development.  Here is the abstract for the session:

Will Strohl...
By Will on 9/28/2009
I had built a module a while ago called the WillStrohl.FeedHandler.  It was specifically built for what I am about to talk about, but it can be used to make adjustments to nearly any XML or RSS feed.  Basically, it consumes an existing XML feed, and allows you to change whatever you want in the feed, while supplying you with a new XML feed URL to pass on to your website visitors and other XML feed consumers.  I mainly only use this module with the XML feed from DotNetNuke® sites, and most often with the Blog Module.

The XML output in the RSS engine in DNN has some known issues.  I won’t go into them all, as they are obvious when you try to consume the feed.  Here are a few things that I fix in my blog’s XML before allowing you to consume it to your RSS readers.

Standalone Ampersands First, I have found that the XML that is rendered will occasionally be littered with standalone...
By Will on 9/25/2009
A while back, I built a module for the Day of DotNetNuke® that was specifically meant for me to collect contacts for people that were interested in being volunteers at the event.  I called it that Contact Collector Module, because that’s all I wanted to do.  I wanted to collect contacts.  The module worked great, but it also highlighted some needed features.  I am happy to say that as of about 1:00 AM EST this morning, those features are now in the module.

One of the most visible weaknesses was in the expectation from the person filling in the contact form.  They expected more feedback to let them know what happened.  The initial release only told them that the information was saved.  In version 1.01.00 of this module, you can now optionally have an e-mail sent to the contact and even an administrator when a new contact is added.  The e-mails are even using a template to allow you...
By Will on 9/24/2009
Whenever I provide a listing of records, I always provide a way to search those records.  Typically, the chosen display for these records comes in the form of an HTML table.  My search usually consists of a little T-SQL magic in a stored procedure, which would require a PostBack of some kind to the web server to retrieve the filtered records.  This has never been efficient.  While thinking of this concept earlier today, I had an epiphany.  Why not use jQuery?

I could use jQuery to search the records in one of two ways.  First, the obvious way is to use the built-in AJAX feature in jQuery to perform the search on the database, and then return just the data needed to change the HTML mark-up on the fly.  While that is cool, my current listing of records is not that large.  I wanted a faster solution.

I chose to instead use jQuery...
By Will on 9/22/2009
One cool thing about the recent releases of DotNetNuke® is that they include the intellisense file for jQuery in the installation and source.  What is that file for?  Well, that’s quite simple.  It allows you to have intellisense for jQuery the same way that you have it for VB and C#.  Here’s how you can take advantage of that when developing modules in DotNetNuke®.

First of all, Scott Guthrie already does a great job of explaining how to get jQuery intellisense enabled in Visual Studio, so I will not rehash that information.  Just read his blog post about it and come back here.  Don’t take too long though, because I have a short attention span…



Okay, you should have follow Scott’s steps in the above paragraph. Now let’s get back to DNN.



First of all, there is a difference in how you handle jQuery from version 5.01.00 and those that came before it.  For those versions that are lower, you will need to add the intellisense file to the website project.  If you need to do that, put it in the following directory with the following name:

~/Resources/Shared/scripts/jquery/jquery.intellisense.js

Doing this will ensure that you follow the same directory and file naming convention, and further ensures that subsequent upgrades of DNN does not break your module.  Of course, commercial modules may have to come up with a different solution to support a wider variety of DNN installations.  (Also, you may have to give further consideration to jQuery versions.)

Now that the file is in place, open the mark-up for any user control in your module source.  Add the following line of HTML code:

script language="javascript" type="text/javascript" ...
By Will on 9/21/2009
I have given a tiny preview about the Southwest Florida Code Camp 2009 in an earlier blog entry.  But I now have all of the information you’ll need if you want to attend this years code camp in Naples, Florida.  Unfortunately, this is not going to be presenting DotNetNuke® content by the usual suspects.  I will be the only person presenting on DNN.  That’s better than nothing though!  Here’s what you can expect.

I have 3 back-to-back sessions in the latter half of the day on Saturday, October 3rd (8:00 AM), at the Embarq Auditorium which is part of the Florida Gulf Coast University.  My first session begins just after the lunch break, at 1:45 PM.  This is the dreaded hour for any instructor, presenter, or teacher.  This is when the audience...
By Will on 9/21/2009
One of the great things about the DotNetNuke® 5 series is that it automatically includes jQuery.  I have noticed that when I use a clean install of DNN 5+, I can immediately use jQuery to my hearts content.  However, I was shortly stumped on another DNN website, when I tried to drop some jQuery code onto the page, and I just received script errors.

Since I was using the latest and greatest version of DNN (v5.01.02 at the time), I chalked it up to having a missing reference to jQuery.noConflict().  So, I looked in the rendered HTML to see if it was there.  I was surprised to not see jQuery in the HTML source at all.  I was highly confused.

...
By Will on 9/17/2009
One of the first things I do when using new or upgraded software is to look at the “options” or “preferences” to see how I am allowed to customize or extend my experience with the software.  Windows Live Writer was no different.  I had been using WLW for quite a while now though, and I only recently noticed one of its features.  As it turns out, it’s one of my favorite features!  Did you know about the Auto Linking feature?

The Auto Linking does exactly what it sounds like.  It automatically links text in your blog posts for you, as you type.  There’s no thinking or clicking involved one you set it up.  This feature is so simple and intuitive – but most of all, it’s incredibly productive!  Here’s how to use it…

First, click on the Tools menu, and choose Options.

Windows Live Writer: Tools menu > Options menu item...
By Will on 9/17/2009
There is a new version of the WillStrohl.Injection Module available for download.  If you are unfamiliar with this module, once you drop it onto a page in DotNetNuke®, it allows you to inject HTML-based content into the mark-up on your DNN website.  I have written, licensed, and made this module available as a free and open source project so that everyone can benefit from it.  This module could be useful for any number of use-cases.  Some of the more popular use cases have turned out to be for jQuery, Google Analytics, Google Adsense, and more.

One of the chief complaints in the previous versions was a limitation on the number of characters that was allowed for the content to be injected.  This originally shown its ugly head when I included this field in the indexing on SQL Server.  This problem has been solved.  You no longer...
By Will on 9/15/2009
I just began using the Wizard Web Server Control for the first time recently.  (Can you believe it?)  As it turns out, this control is very useful, and it allows you to easily manage short, wizard-like workflows within ASP.Net.  I am using this control inside of a new custom DotNetNuke® module I am writing, where I take a visitor through an application process. 

One of the features of the Wizard control is the HeaderTemplate.  The HeaderTemplate allows you to place a header section at the top of the control throughout the defined steps.  This is useful for usability to give you another way to visually tell the visitor what they are doing, or what step they’re on.  Here is a simplistic example of the control, using the HeaderTemplate feature.

asp:Wizard ID="wizSignUp" runat="server" ActiveStepIndex="0" DisplaySideBar="false"> HeaderTemplate>...
By Will on 9/15/2009
I have always disliked the Apple Software Update, mainly because in the beginning it kept nagging me to install iTunes, and even installed it without my knowledge before.  I only have it running to keep Quicktime updated.  I don’t like Quicktime myself, but many people and movie houses post videos in the Quicktime movie format.  Therefore, since I like to watch movie trailers, I keep Quicktime installed, and updated.

In the last 2 years, the software update has been less intrusive to me, but today it ticked me off again.  I am just being picky and venting, but it showed me something that caused me to get irritated enough to spend some valuable time looking into it.

The software update dialog popped like it usually does, showing the available updates and new software available for Windows.  Usually, only Quicktime shows up in my updates pane.  However, this time, the iPhone Configuration Utility also does! 

Apple Software Update: iPhone Configuration Utility highlighted...
By Will on 9/15/2009
Brandon Haynes If you are not familiar with the name “Brandon Haynes” then you should check this guy out (keep within context, jokers).  I had the pleasure of meeting Brandon at the first annual Day of DotNetNuke®, where he presented a topic titled, “Advanced Authorization in DotNetNuke 5.1.” ...
By Will on 9/11/2009
A while back, our house sprung a leak in the form of allowing water to enter the attic through the ceiling.  The water does what all water does on earth, it made its way down until it found ground.  On its way down, it made sure to soak the dry wall, and destroy the floor in my sons room.  Fixing the roof was quite simple, as it just needed to be resealed at a joint.  The room however needed a new wall and floor.

Both the floor and wall were going to be taken care of for us, but I decided to do the painting of the wall myself.  And since one wall was getting painted, all of the walls needed to be painted.  Here’s what the room looked liked once everything was torn out.



  ...
By Will on 9/10/2009
I have just posted the installation and source packages of the WillStrohl.LightboxGallery Module for DotNetNuke®.  If you are not familiar with this module, I blogged about it recently.  There are no new features in this release, just some stabilization.  Here are the release notes:

Fixed a bug the prevents the album from rendering – I was referencing the incorrect class to grab the path for the selected gallery folder on the server. Ensured that slashes are interpreted no matter which are used – This was already done for the slashes throughout the folder name, but I was not checking for the preceding slash. Changed the folder not found error to tell us the folder we tried to access, if authorized – If you are logged in with Edit permissions to the module, the error that tells you when a folder path is not found tells you...
By Will on 9/10/2009
I often elude to the fact that I favor patronizing small businesses on Twitter.  This is true.  If given the choice between a major chain and a small business, I will walk into the small business 9 times out of 10.  Why is that though?

In it’s simplest explanation, I like to spend my money in my community.  That money will have a greater chance of staying in my community, and in turn, benefitting my community.  Let’s give you an example. 

The biggest example of a chain store is of course Walmart.  They have the largest retail reach of any other retailer.  As a result, they are able to leverage their business size to create some of the lowest prices found on many products.  Sounds great if only looked at on the surface.  But when you buy a cart full of goods, how much of that money stays in the community?  Here is a short list off the top of my head:

Store Associates and Managers payroll Annual business license Annual business...
By Will on 9/9/2009
I have been putting off upgrading WillStrohl.com to the most recent version of DotNetNuke® for quite a while now.  I have been keeping it in the 4.09.x series, mostly due to laziness.  However, as of a few moments ago, I have completed an upgrade and clean-up of this site. 

What did that consist of? I upgraded WillStrohl.com to version 4.09.05 earlier today for security reasons.  But I knew that upgrading to the Cambrian series of DNN would be much more involved and require more time, so I waited until this evening to begin.  The upgrade process was mostly uneventful.

I of course backed up my site files and database first.  DO NOT forget to do that!

Earlier, I upgraded from version 4.09.04 to 4.09.05.  Tonight, I upgraded from 4.09.05 to version 5.00.01, and then to version 5.01.02.

The main...
By Will on 9/9/2009
Orlando DotNetNuke Users Group Last night was our September Orlando DotNetNuke® Users Group (ODUG) meeting.  I was the presenter, and the topic was the “DotNetNuke® Core Blog Module.”  Overall, this was yet another great event, despite a scary start.

This topic was originally scheduled for July, but I had to cancel the meeting due to me being out of town unexpectedly.  I was extra heart-broken about cancelling...
By Will on 9/8/2009
When I am developing any product, I try to do my best to limit the amount of time that my customer or staff will have to manage that product.  This can be looked at from one perspective in terms of usability.  I like to think that I keep usability as my #1 priority.  However, another way this comes in to play is with administration under the covers.  There are literally too many ways that you can do that, thus limiting how many I can mention.  So I will just mention the one I intend to talk about, Foreign Keys. 

Foreign Keys are very often a foreign topic to developers.  Most developers know enough about a database to get connected and manage the data that their code affects, but many do not know enough about the ins and outs of things like Foreign Keys and Indexes.  There is a marketplace of consultants that look specifically at things like this.

Example Foreign Key Relationship...
By Will on 9/3/2009
ODUG Next Tuesday, I will be presenting a session about the DotNetNuke® Core Blog Module for our September Orlando DotNetNuke® Users Group (ODUG) meeting.  You may think you know about the blog module, but I am going to walk you through the entire thing, from beginning to end.  I will begin with an overview of blogging, and then move into...
By Will on 9/2/2009
Applied Innovations I was asked not long ago to write a blog for Applied Innovations.  If you don’t know who they are, Appliedi is a very well-known web host in the State of Florida.  They do a ton to sponsor and help the community around here.  I have already begun switching my websites over to their hosting plans, since using them for the Day of DotNetNuke® and Orlando DotNetNuke® Users Group...
Add to Technorati Favorites
Tweet about my blog
The opinions expressed here are the personal opinions of Will Strohl and do not necessarily represent the views and opinions of the DotNetNuke Corporation.
© Copyright 2004-2011 by Will Strohl. All rights reserved. Website Skinned By: Ralph Williams  Website Hosted By: Applied Innovations