<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>Thoughts from Scott</title>
    <description>Random thoughts, musings and ideas as I travel through this thing called life.</description>
    <link>http://www.scottallender.com/blog/tabid/72/BlogId/1/Default.aspx</link>
    <language>en-US</language>
    <managingEditor>scott@n3bu1a.com</managingEditor>
    <webMaster>srallender@gmail.com</webMaster>
    <pubDate>Mon, 20 Jul 2009 15:36:30 GMT</pubDate>
    <lastBuildDate>Mon, 20 Jul 2009 15:36:30 GMT</lastBuildDate>
    <docs>http://backend.userland.com/rss</docs>
    <generator>Blog RSS Generator Version 3.5.1.19887</generator>
    <geo:lat>38.725331</geo:lat><geo:long>-90.444516</geo:long><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/scottallender" type="application/rss+xml" /><item><title>Links for 2009-06-18 [del.icio.us]</title><link>http://feedproxy.google.com/~r/scottallender/~3/yYasVyccdwo/n3bu1a</link><pubDate>Fri, 19 Jun 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/n3bu1a#2009-06-18</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.localwineevents.com/events/overview/us/54/st-louis-wine"&gt;St Louis, Missouri : Wine Tasting, Wine Education, Wine Classes and Wine Dinners&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/n3bu1a#2009-06-18</feedburner:origLink></item><item><title>Links for 2009-06-17 [del.icio.us]</title><link>http://feedproxy.google.com/~r/scottallender/~3/_kYdOjMzVSU/n3bu1a</link><pubDate>Thu, 18 Jun 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/n3bu1a#2009-06-17</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.ninebyblue.com/"&gt;Nine By Blue   &amp;raquo; Nine By Blue&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.packunited.com/#"&gt;Security web Company - Packunited - News to security on the Net&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.lifehack.org/articles/management/5-components-your-business-web-site-needs.html"&gt;5 Components Your Business Web Site Needs - Stepcase Lifehack&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/n3bu1a#2009-06-17</feedburner:origLink></item><item><title>Links for 2009-06-16 [del.icio.us]</title><link>http://feedproxy.google.com/~r/scottallender/~3/sPNcMyaX-Os/n3bu1a</link><pubDate>Wed, 17 Jun 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/n3bu1a#2009-06-16</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://visualstudiogallery.msdn.microsoft.com/en-us/"&gt;Visual Studio Gallery&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.seochat.com/c/a/Web-Directories/Submitting-to-Directories/"&gt;Submitting to Directories&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.dmbcllc.com/2009/06/16/programming-seo-ping/"&gt;Programming SEO &amp;ndash; Ping&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/n3bu1a#2009-06-16</feedburner:origLink></item><item><title>Links for 2009-06-15 [del.icio.us]</title><link>http://feedproxy.google.com/~r/scottallender/~3/KUP-jr9Lggg/n3bu1a</link><pubDate>Tue, 16 Jun 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/n3bu1a#2009-06-15</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blog.wekeroad.com/blog/youre-not-your-data-access/"&gt;You&amp;rsquo;re Not Your Data Access &amp;laquo;  Rob Conery&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.wekeroad.com/"&gt;Rob Conery&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dnnprofessor.com/Articles/tabid/223/articleType/ArticleView/articleId/242/PageID/258/relnofollow__DotNetNuke_Page_Rank_vs_Google_Love.aspx"&gt;rel=&amp;quot;nofollow&amp;quot; - DotNetNuke Page Rank vs. Google Love &amp;gt; DNN Professor &amp;gt; DNN Professor Articles Index&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.dmbcllc.com/2009/06/15/twitter-from-asp-net-direct-messages/"&gt;Twitter From ASP.NET &amp;amp;ndash; Direct Messages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://googlewebmastercentral.blogspot.com/2009/06/update-on-sitemaps-at-google.html"&gt;Official Google Webmaster Central Blog: An Update on Sitemaps at Google&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://googleblog.blogspot.com/2009/06/translating-worlds-information-with.html"&gt;Official Google Blog: Translating the world's information with Google Translator Toolkit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.visibilitymagazine.com/Bruce_Clay_/Bruce_Clay_Inc_/Solving_the_Three_Misses_of_Thin_Content/168/default.aspx"&gt;Bruce Clay , Bruce Clay, Inc. , Solving the Three &amp;quot;Mis&amp;quot;ses of Thin Content&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/n3bu1a#2009-06-15</feedburner:origLink></item><item><title>Links for 2009-06-10 [del.icio.us]</title><link>http://feedproxy.google.com/~r/scottallender/~3/kx-c90HX8SM/n3bu1a</link><pubDate>Thu, 11 Jun 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/n3bu1a#2009-06-10</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://aspalliance.com/983_Introducing_Serialization_in_NET.all"&gt;Introducing Serialization in .NET: ASP Alliance&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/n3bu1a#2009-06-10</feedburner:origLink></item><item><title>Links for 2009-06-09 [del.icio.us]</title><link>http://feedproxy.google.com/~r/scottallender/~3/s1Hb8DkVlss/n3bu1a</link><pubDate>Wed, 10 Jun 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/n3bu1a#2009-06-09</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blog.dmbcllc.com/2009/06/09/jquery-modal-dialog/"&gt;jQuery &amp;ndash; Modal Dialog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/n3bu1a#2009-06-09</feedburner:origLink></item><item><title>Links for 2009-06-04 [del.icio.us]</title><link>http://feedproxy.google.com/~r/scottallender/~3/HzzJ8B3GuzQ/n3bu1a</link><pubDate>Fri, 05 Jun 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/n3bu1a#2009-06-04</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blog.dmbcllc.com/2009/06/04/twitter-from-aspnet-friends-vs-followers/"&gt;Twitter From ASP.NET &amp;ndash; Friends vs Followers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nexus.realtimepublishers.com/rtwa.php"&gt;Windows Administration in Realtime | Realtime Nexus&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/n3bu1a#2009-06-04</feedburner:origLink></item><item>
      <title>Oooh!  SPAM Email!</title>
      <description>&lt;p&gt;Let me start off by saying that I love Gmail's Spam Filter. In the words of Tony the Tiger, "It's greeeaaat!" That said, I got my first piece of spam today that somehow made it through Gmail's filter. &lt;/p&gt;&lt;p&gt;Here is the content of the email: &lt;/p&gt;&lt;div&gt;&lt;table style="border-collapse:collapse" border="0"&gt;&lt;colgroup&gt;&lt;col style="width:448px"/&gt;&lt;/colgroup&gt;&lt;tbody valign="top"&gt;&lt;tr style="height: 57px"&gt;&lt;td vAlign="middle"&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="font-family:MS Mincho; font-size:13pt"&gt;新しいメールアドレスをお知らせします&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="color:black"&gt;&lt;span style="font-family:MS Mincho"&gt;新しいメールアドレス：&lt;/span&gt;&lt;span style="font-family:Arial"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial"&gt;&lt;span style="color:#5797b0; text-decoration:underline"&gt;&lt;strong&gt;mr_isaac_caleb1200@yahoo.co.jp&lt;/strong&gt;&lt;/span&gt;&lt;span style="color:black"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:green"&gt;I am isaac caleb bank manager of BOA Bank in Burkina faso.I would like you to indicate your interest to receive the transfer of 10.5M Dollars.I will like you to stand as the next of kin to my late Descease customer whose account is presently dormant,for claim&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Yours faithfully,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;mr isaac caleb&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:black"&gt;&lt;br /&gt;&lt;br /&gt;- &lt;/span&gt;&lt;span style="color:green"&gt;Mr Isaa a Caleb&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:12pt"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;Does this sound familiar? To me it sounds like the Nigerian schemes that went through the world a few years back. I only think this because Gmail's spam filter made sure that crap never reached me. &lt;/p&gt;&lt;p&gt;Anyway, in case anyone is wondering I regard this as spam because: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;If I'm a bank employee, I'm not sending my bank related emails through Yahoo! &lt;/li&gt;&lt;li&gt;If I'm going to send email from a Japanese address, why am I going to use an Anglo name? &lt;/li&gt;&lt;li&gt;Most importantly… WHY IS SOMEONE I DON'T KNOW OFFERING ME A LARGE AMOUNT OF MONEY???!! &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Anyway, this email has now my made my day. What's your favorite spam messages?&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/scottallender/~3/p9uY7YkLxFc/Oooh-SPAM-Email.aspx</link>
      <author>scott@n3bu1a.com</author>
      <comments>http://www.scottallender.com/blog/tabid/72/EntryId/51/Oooh-SPAM-Email.aspx#Comments</comments>
      <guid isPermaLink="false">http://www.scottallender.com/blog/tabid/72/EntryId/51/Oooh-SPAM-Email.aspx</guid>
      <pubDate>Mon, 18 May 2009 15:37:42 GMT</pubDate>
      <slash:comments>5</slash:comments>
      <trackback:ping>http://www.scottallender.com/DesktopModules/Blog/Trackback.aspx?id=51</trackback:ping>
    <feedburner:origLink>http://www.scottallender.com/blog/tabid/72/EntryId/51/Oooh-SPAM-Email.aspx</feedburner:origLink></item>
    <item>
      <title>Social Media Thoughts</title>
      <description>&lt;p&gt;I'm in the middle of researching for a presentation I'm giving at a seminar on using &lt;a href="http://www.marketstl.com/2009/04/22/look-at-me-seminar-get-your-business-in-front-of-online-customers/" target="_blank"&gt;Social Media for Businesses&lt;/a&gt;, and I'm thinking to myself, this is going to be a really hard topic to talk on, &lt;strong&gt;especially&lt;/strong&gt; since I'm &lt;b&gt;not&lt;/b&gt; a consultant.  Social media (at least to me) is a buzz word, much like e-commerce was in the late 90's and early part of this century (can some tell me what to call this decade?).&lt;/p&gt;&lt;br /&gt;&lt;p&gt;And then I stumbled on this link.  &lt;a href="http://blog.socialmedia.com/social-media-myths-that-irk-me" target="_blank"&gt;Social Media Myths that Irk Me&lt;/a&gt;.  First off, it's an awesome title to a blog entry.  At the time of this post, I looked up &lt;a href="http://www.google.com/search?q=major+social+media+networks&amp;ie=utf-8&amp;oe=utf-8&amp;aq=t&amp;rls=com.ubuntu:en-US:unofficial&amp;client=firefox-a" target="_blank"&gt;major social media networks&lt;/a&gt; and it's the fourth link in Google.  Secondly, it iterates (some alliteration there) my thoughts on Social Media.  Briefly (please click on the link above for more info) the points are this:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Social media is a medium, kind of like television and (gasp!) the newspaper.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Social media isn't a product, it's a platform for a service (see above) to promote your message.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Social media should be considered a part of &lt;strong&gt;traditional&lt;/strong&gt; marketing (just because the platform changes, doesn't mean the message should).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Social media is a controlled discussion.  Just because the platforms don't censor, doesn't mean your business can't control the initial message.  If you're that concerned about the blow-back, maybe you should concern yourself with either this is the approriate medium or your business's track record.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Social media outcomes can be tracked.  It's all apart of the same internet.  Google can track where I come from when I visit a new site, why can't you?&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;In my opinion, all of this makes sense!  All that has changed from "traditional" marketing and "new" marketing is the speed that the message is received.  It may be a stretch (but not a tough one), but is a store boycott different from someone blasting a business on a forum, blog or tweet?&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://news.cnet.com/8301-17852_3-10233409-71.html" target="_blank"&gt;Trent Reznor (of NiN) makes a comparison between Wal-Mart and Apple because his iPhone app is rejected&lt;/a&gt; for something his band did in 1994.  In that same week &lt;a href="http://news.cnet.com/8301-13579_3-10235906-37.html?subj=news&amp;tag=2547-1_3-0-20&amp;part=sphere" target="_blank"&gt;Apple revokes its decision&lt;/a&gt; and allows the app to go forward.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;So let me get this straight.  Trent Reznor publicly airs a grievance against a party, the party nearly immediately retreats from its previous stance.  Rather than deal with the negative publicity (and more importantly the lost sales it could &lt;b&gt;potentially&lt;/b&gt; generate), the party retracts its original position.  The internet (the medium) provided Mr. Reznor the ability (the service) to voice his issue (by starting the discussion, he initially controlled discussion).  Apple (granted, it probably drew some conclusions, but it could track customer service complaints) retracted itself.&lt;/p&gt;&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;What are your thoughts?&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/scottallender/~3/mMEIXSSC5dQ/Social-Media-Thoughts.aspx</link>
      <author>scott@n3bu1a.com</author>
      <comments>http://www.scottallender.com/blog/tabid/72/EntryId/50/Social-Media-Thoughts.aspx#Comments</comments>
      <guid isPermaLink="false">http://www.scottallender.com/blog/tabid/72/EntryId/50/Social-Media-Thoughts.aspx</guid>
      <pubDate>Fri, 08 May 2009 04:50:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.scottallender.com/DesktopModules/Blog/Trackback.aspx?id=50</trackback:ping>
    <feedburner:origLink>http://www.scottallender.com/blog/tabid/72/EntryId/50/Social-Media-Thoughts.aspx</feedburner:origLink></item>
    <item>
      <title>Overriding the Base Skin Object in DotNetNuke</title>
      <description>&lt;p&gt;Today, I was presented with an interesting problem.  How can you use the same content for two different website, but account for some very minor changes in your DotNetNuke skin?  After thinking about it for a little bit, I decided to override the base Skin class.  Turns out, with an RESX or XML file, this is a pretty darn elegant solution.
&lt;/p&gt;&lt;p&gt;First, let's take a look at the code.  In order to do this properly, the class being created needs to inherit from &lt;span style="font-size:10pt"&gt;&lt;span style="font-family:Courier New"&gt;DotNetNuke&lt;span style="color:maroon"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;UI&lt;span style="color:maroon"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;Skins.Skin.&lt;/span&gt;  T&lt;/span&gt;his enables the class to pick up all of the appropriately used public properties and methods and provides the ability to add overridden/custom properties.  In my particular case, the driving force behind the customization in the skin development was the URL name.  I probably could use any PortalSetting (name, ID, etc), but I chose to go with the URL.  It's easy enough to get.  Here's what my code started off looking like:
&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;public&lt;/span&gt;
			&lt;span style="color:blue"&gt;class&lt;/span&gt;
			&lt;span style="color:olive"&gt;MySkinDefault &lt;/span&gt;: DotNetNuke.UI.Skins.&lt;span style="color:olive"&gt;Skin&lt;br/&gt;&lt;/span&gt;{
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    &lt;span style="color:blue"&gt;public&lt;/span&gt; MySkinDefault()
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;{
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;}
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;}
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;At this point, the code is doing nothing.  Loading a skin that inherits from this class will load exactly like the regular skin object.  That's no fun.  In the skin I was working with, I added three ASP.Net controls, a Label and two Literal controls.  To make sure that my custom Skin class could reference them, I added three new lines of code.
&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;public&lt;/span&gt;
			&lt;span style="color:blue"&gt;class&lt;/span&gt;
			&lt;span style="color:olive"&gt;MySkinDefault&lt;/span&gt; : DotNetNuke.UI.Skins.&lt;span style="color:olive"&gt;Skin&lt;br/&gt;&lt;/span&gt;{
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;protected&lt;/span&gt; System&lt;span style="color:maroon"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;Web&lt;span style="color:maroon"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;UI&lt;span style="color:maroon"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;WebControls&lt;span style="color:maroon"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;&lt;span style="color:olive"&gt;Label&lt;/span&gt; lbl;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;protected&lt;/span&gt; System&lt;span style="color:maroon"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;Web&lt;span style="color:maroon"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;UI&lt;span style="color:maroon"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;WebControls&lt;span style="color:maroon"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;&lt;span style="color:olive"&gt;Literal&lt;/span&gt; ltcTop;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;protected&lt;/span&gt; System&lt;span style="color:maroon"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;Web&lt;span style="color:maroon"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;UI&lt;span style="color:maroon"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;WebControls&lt;span style="color:maroon"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;&lt;span style="color:olive"&gt;Literal&lt;/span&gt; ltcBottom;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    &lt;span style="color:blue"&gt;public&lt;/span&gt; MySkinDefault()
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;{
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;}
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;}
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;The new items are scoped as protected so that they can interact with the ASCX file.  This is important because if they are marked private, the code-behind file that gets generated by the .Net framework wil not be able to access the controls.  For more info, check this link out: &lt;a href="http://msdn.microsoft.com/en-us/library/015103yb(vs.71).aspx"&gt;http://msdn.microsoft.com/en-us/library/015103yb(vs.71).aspx&lt;/a&gt;.  It's a bit dated, but it helps explain. 
&lt;/p&gt;&lt;p&gt;Now that I have controls on my skin that I can reference, I need to be able to dynamically fill them.  For that, I need to override the base class's &lt;span style="font-family:Courier New; font-size:10pt"&gt;OnLoad&lt;/span&gt; event.
&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;protected override void&lt;/span&gt; OnLoad( &lt;span style="color:blue"&gt;EventArgs&lt;/span&gt; e )
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;{
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    &lt;span style="color:blue"&gt;if&lt;/span&gt; (!IsPostBack)
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    {
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;        &lt;span style="color:blue"&gt;if&lt;/span&gt; (Context.Request.Url.Host == www.myexample.com)
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;        {
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;lbl.Text = "I am at myexample.com!";
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;ltcTop.Text = "&lt;a href=http://www.scottallender.comhttp://www.scottallender.comhttp://www.scottallender.comhttp://www.scottallender.com\"http://www.somewhereelse.comhttp://www.scottallender.comhttp://www.scottallender.comhttp://www.scottallender.comhttp://www.scottallender.com\"&gt;Some where else!&lt;/a&gt;";
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;        }
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;        &lt;span style="color:blue"&gt;else
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;        {
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;lbl.Text = "I am not at myexample.com!";
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;ltcTop.Text = "&lt;a href=http://www.scottallender.comhttp://www.scottallender.comhttp://www.scottallender.comhttp://www.scottallender.com\"http://www.myexample.comhttp://www.scottallender.comhttp://www.scottallender.comhttp://www.scottallender.comhttp://www.scottallender.com\"&gt;myexample.com&lt;/a&gt;";
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;        }
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;        ltcBottom.Text = ltcTop.Text;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    }
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    &lt;span style="color:blue"&gt;base&lt;/span&gt;.OnLoad( e );
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;}
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;Two things to note:
&lt;/p&gt;&lt;ol&gt;&lt;li&gt;The override keyword let's me override the base implementation of the OnLoad event.  Since it's overriding the event, I don't need to pass it a sender (that's already done for me in the initial declaration).
&lt;/li&gt;&lt;li&gt;I &lt;strong&gt;want&lt;/strong&gt; DotNetNuke's base Skin object to pick up where my method completes, so I call my base class's OnLoad event, passing the e argument from my class.  The reason I want DNN to finish it's work is because the Page_Load event does a bunch of more stuff, and I don't want it to code it in my implmentation.
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;My finished class looks like this:
&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;public&lt;/span&gt;
			&lt;span style="color:blue"&gt;class&lt;/span&gt;
			&lt;span style="color:olive"&gt;MySkinDefault&lt;/span&gt; : DotNetNuke.UI.Skins.&lt;span style="color:olive"&gt;Skin&lt;br/&gt;&lt;/span&gt;{
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;protected&lt;/span&gt; System&lt;span style="color:maroon"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;Web&lt;span style="color:maroon"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;UI&lt;span style="color:maroon"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;WebControls&lt;span style="color:maroon"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;&lt;span style="color:olive"&gt;Label&lt;/span&gt; lbl;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;protected&lt;/span&gt; System&lt;span style="color:maroon"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;Web&lt;span style="color:maroon"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;UI&lt;span style="color:maroon"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;WebControls&lt;span style="color:maroon"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;&lt;span style="color:olive"&gt;Literal&lt;/span&gt; ltcTop;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;protected&lt;/span&gt; System&lt;span style="color:maroon"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;Web&lt;span style="color:maroon"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;UI&lt;span style="color:maroon"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;WebControls&lt;span style="color:maroon"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;&lt;span style="color:olive"&gt;Literal&lt;/span&gt; ltcBottom;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    &lt;span style="color:blue"&gt;public&lt;/span&gt; MySkinDefault()
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;{
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;}
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;protected override void&lt;/span&gt; OnLoad( &lt;span style="color:blue"&gt;EventArgs&lt;/span&gt; e )
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;{
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    &lt;span style="color:blue"&gt;if&lt;/span&gt; (!IsPostBack)
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    {
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;        &lt;span style="color:blue"&gt;if&lt;/span&gt; (Context.Request.Url.Host == www.myexample.com)
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;        {
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 144pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;lbl.Text = "I am at myexample.com!";
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 144pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;ltcTop.Text = "&lt;a href=http://www.scottallender.comhttp://www.scottallender.comhttp://www.scottallender.comhttp://www.scottallender.com\"http://www.somewhereelse.comhttp://www.scottallender.comhttp://www.scottallender.comhttp://www.scottallender.comhttp://www.scottallender.com\"&gt;Some where else!&lt;/a&gt;";
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;        }
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;        &lt;span style="color:blue"&gt;else
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;        {
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 144pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;lbl.Text = "I am not at myexample.com!";
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 144pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;ltcTop.Text = "&lt;a href=http://www.scottallender.comhttp://www.scottallender.comhttp://www.scottallender.comhttp://www.scottallender.com\"http://www.myexample.comhttp://www.scottallender.comhttp://www.scottallender.comhttp://www.scottallender.comhttp://www.scottallender.com\"&gt;myexample.com&lt;/a&gt;";
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;        }
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;        ltcBottom.Text = ltcTop.Text;
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    }
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    &lt;span style="color:blue"&gt;base&lt;/span&gt;.OnLoad( e );
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;}
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;}
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;Pretty simple stuff.   Now comes the fun part of making sure that my Skin uses this class.  To do that, I need to make certain of two things:
&lt;/p&gt;&lt;ol&gt;&lt;li&gt;In the Page Declaration section, I need to inherit from this class, &lt;strong&gt;not&lt;/strong&gt; the DotNetNuke Skin class.
&lt;/li&gt;&lt;li&gt;That my Label and my Literal controls are present on the skin.  Since I'm not checking to see if those to control instances are null, they must be there.  Otherwise I get a &lt;span style="font-family:Courier New"&gt;NullException&lt;/span&gt;.
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Here's what my skin object would look like:
&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="background-color:yellow"&gt;&lt;%&lt;/span&gt;&lt;span style="color:blue"&gt;@&lt;/span&gt;
			&lt;span style="color:#a31515"&gt;Control&lt;/span&gt;
			&lt;span style="color:red"&gt;Language&lt;/span&gt;&lt;span style="color:blue"&gt;="vb"&lt;/span&gt;
			&lt;span style="color:red"&gt;AutoEventWireup&lt;/span&gt;&lt;span style="color:blue"&gt;="false"&lt;/span&gt;
			&lt;span style="color:red"&gt;Explicit&lt;/span&gt;&lt;span style="color:blue"&gt;="True"&lt;/span&gt;
			&lt;span style="color:red"&gt;Inherits&lt;/span&gt;&lt;span style="color:blue"&gt;=" MySkinDefault"&lt;/span&gt;
			&lt;span style="background-color:yellow"&gt;%&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;&lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;table&lt;/span&gt;&lt;span style="color:blue"&gt;&gt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:#a31515"&gt;    &lt;/span&gt;&lt;span style="color:blue"&gt;&lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;tr&lt;/span&gt;&lt;span style="color:blue"&gt;&gt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:#a31515"&gt;        &lt;/span&gt;&lt;span style="color:blue"&gt;&lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;td&lt;/span&gt;&lt;span style="color:blue"&gt;&gt;&lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;asp:Label &lt;/span&gt;&lt;span style="color:red"&gt;id&lt;/span&gt;&lt;span style="color:blue"&gt;="lbl"&lt;/span&gt;&lt;span style="color:#a31515"&gt;
			&lt;/span&gt;&lt;span style="color:red"&gt;runat&lt;/span&gt;&lt;span style="color:blue"&gt;="server"&lt;/span&gt;&lt;span style="color:#a31515"&gt;
			&lt;/span&gt;&lt;span style="color:blue"&gt;/&gt;&lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;td&lt;/span&gt;&lt;span style="color:blue"&gt;&gt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:#a31515"&gt;        &lt;/span&gt;&lt;span style="color:blue"&gt;&lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;td &lt;/span&gt;&lt;span style="color:red"&gt;style&lt;/span&gt;&lt;span style="color:blue"&gt;="text-align:right;"&gt;&lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;asp:Literal &lt;/span&gt;&lt;span style="color:red"&gt;ID&lt;/span&gt;&lt;span style="color:blue"&gt;="ltcTop"&lt;/span&gt;&lt;span style="color:#a31515"&gt;
			&lt;/span&gt;&lt;span style="color:red"&gt;runat&lt;/span&gt;&lt;span style="color:blue"&gt;="server"&lt;/span&gt;&lt;span style="color:#a31515"&gt;
			&lt;/span&gt;&lt;span style="color:blue"&gt;/&gt;&lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;td&lt;/span&gt;&lt;span style="color:blue"&gt;&gt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:#a31515"&gt;    &lt;/span&gt;&lt;span style="color:blue"&gt;&lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;tr&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:#a31515"&gt;    &lt;/span&gt;&lt;span style="color:blue"&gt;&lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;tr&gt;&lt;/span&gt;&lt;span style="color:red"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:#a31515"&gt;        &lt;/span&gt;&lt;span style="color:blue"&gt;&lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;td &lt;/span&gt;&lt;span style="color:red"&gt;colspan&lt;/span&gt;&lt;span style="color:blue"&gt;="2"&lt;/span&gt;&lt;span style="color:#a31515"&gt; ID&lt;/span&gt;&lt;span style="color:blue"&gt;="ContentPane"&lt;/span&gt;&lt;span style="color:#a31515"&gt;
			&lt;/span&gt;&lt;span style="color:red"&gt;runat&lt;/span&gt;&lt;span style="color:blue"&gt;="server"&gt;&lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;td&lt;/span&gt;&lt;span style="color:blue"&gt;&gt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:#a31515"&gt;    &lt;/span&gt;&lt;span style="color:blue"&gt;&lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;tr&lt;/span&gt;&lt;span style="color:blue"&gt;&gt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:#a31515"&gt;    &lt;/span&gt;&lt;span style="color:blue"&gt;&lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;tr&lt;/span&gt;&lt;span style="color:blue"&gt;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:#a31515"&gt;        &lt;/span&gt;&lt;span style="color:blue"&gt;&lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;td &lt;/span&gt;&lt;span style="color:red"&gt;colspan&lt;/span&gt;&lt;span style="color:#a31515"&gt;=&lt;/span&gt;&lt;span style="color:blue"&gt;"2"&lt;/span&gt;&lt;span style="color:#a31515"&gt;
			&lt;/span&gt;&lt;span style="color:red"&gt;style&lt;/span&gt;&lt;span style="color:#a31515"&gt;=&lt;/span&gt;&lt;span style="color:blue"&gt;"text-align:right;"&gt;&lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;asp:Literal &lt;/span&gt;&lt;span style="color:red"&gt;ID&lt;/span&gt;&lt;span style="color:blue"&gt;="ltcBottom"&lt;/span&gt;&lt;span style="color:#a31515"&gt;
			&lt;/span&gt;&lt;span style="color:red"&gt;runat&lt;/span&gt;&lt;span style="color:blue"&gt;="server" /&gt;&lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;td&lt;/span&gt;&lt;span style="color:blue"&gt;&gt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:#a31515"&gt;    &lt;/span&gt;&lt;span style="color:blue"&gt;&lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;tr&lt;/span&gt;&lt;span style="color:blue"&gt;&gt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;&lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;table&lt;/span&gt;&lt;span style="color:blue"&gt;&gt;&lt;/span&gt;&lt;span style="background-color:yellow"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;And there you have it!  An overridden skin that you can customize even further than the what the out of the box DotNetNuke install provides.&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/scottallender/~3/IjtdUoApAZk/Overriding-the-Base-Skin-Object-in-DotNetNuke.aspx</link>
      <category domain="http://www.scottallender.com/blog/tabid/72/blogid/3/default.aspx">Software Development</category>
      <author>scott@n3bu1a.com</author>
      <comments>http://www.scottallender.com/blog/tabid/72/EntryId/49/Overriding-the-Base-Skin-Object-in-DotNetNuke.aspx#Comments</comments>
      <guid isPermaLink="false">http://www.scottallender.com/blog/tabid/72/EntryId/49/Overriding-the-Base-Skin-Object-in-DotNetNuke.aspx</guid>
      <pubDate>Thu, 07 May 2009 22:35:49 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.scottallender.com/DesktopModules/Blog/Trackback.aspx?id=49</trackback:ping>
    <feedburner:origLink>http://www.scottallender.com/blog/tabid/72/EntryId/49/Overriding-the-Base-Skin-Object-in-DotNetNuke.aspx</feedburner:origLink></item>
    <item>
      <title>Troubleshooting DNN Upgrade Issue on Windows Server 2008 or IIS7</title>
      <description>&lt;p&gt;So tonight, I decided to upgrade my personal sites to DNN 4.9.3.  What could go wrong?  Upgrading between 4.6.x versions and greater is easy since &lt;a href="http://www.dotnetnuke.com/Community/Blogs/tabid/825/EntryId/1844/XmlMerge-what-is-it.aspx" target="_blank"&gt;the XmlMerge functionality was introduced&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Wow!  I was wrong!&lt;/p&gt;&lt;br /&gt;&lt;p&gt;I backed up both the database and the file system (which should always be done no matter what type of upgrade), downloaded the &lt;a href="http://www.dotnetnuke.com/tabid/125/default.aspx" target="_blank"&gt;upgrade files&lt;/a&gt; from &lt;a href="http://www.dotnetnuke.com" target="_blank"&gt;dotnetnuke.com&lt;/a&gt;, unzipped the contents over my current site files and upgraded.  So far so well.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;BAM!  Did not even make it to the upgrade screen.  Big fat yellow ASP .Net exception screen stating &lt;i&gt;&lt;b&gt;Request for the permission of type 'System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Not exactly the most straight forward error message.  At this point, I started going through Google, and still nothing.  But then I started thinking, if it's a permission issue, I need to check what the permissions were on the file system.  Since the site wasn't even rendering, I figured it might be a permission issue on the libraries within the bin directory.  I checked the permissions, and sure enough, the user account I have associated with .Net Application Pool was nowhere to be found.  After adding the appropriate permissions to the Bin\ directory and performed an app restart, the site worked fine!&lt;/p&gt;&lt;br /&gt;&lt;p&gt;I say it's an IIS  7 issue primarily because this is the first time I've updated a DNN site on IIS 7.  On any IIS 6 sites I have never ran into this issue.  If anyone has, I'd like to hear what steps were taken during the upgrade process.&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/scottallender/~3/OksoatRBUMc/Troubleshooting-DNN-Upgrade-Issue-on-Windows-Server-2008-or-IIS7.aspx</link>
      <author>scott@n3bu1a.com</author>
      <comments>http://www.scottallender.com/blog/tabid/72/EntryId/48/Troubleshooting-DNN-Upgrade-Issue-on-Windows-Server-2008-or-IIS7.aspx#Comments</comments>
      <guid isPermaLink="false">http://www.scottallender.com/blog/tabid/72/EntryId/48/Troubleshooting-DNN-Upgrade-Issue-on-Windows-Server-2008-or-IIS7.aspx</guid>
      <pubDate>Wed, 06 May 2009 04:51:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.scottallender.com/DesktopModules/Blog/Trackback.aspx?id=48</trackback:ping>
    <feedburner:origLink>http://www.scottallender.com/blog/tabid/72/EntryId/48/Troubleshooting-DNN-Upgrade-Issue-on-Windows-Server-2008-or-IIS7.aspx</feedburner:origLink></item>
    <item>
      <title>Presenting At MarketSTL SEO Seminar</title>
      <description>&lt;p&gt;So it has finally happened! I'm going to be presenting at the &lt;a href="http://www.marketstl.com" target="_blank"&gt;Look At Me! seminar&lt;/a&gt; on June 11, 2009 at &lt;a href="http://maps.google.com/maps?f=q&amp;source=embed&amp;hl=en&amp;geocode=&amp;q=caitos+restaurant+glendale+mo&amp;sll=38.611757,-90.401516&amp;sspn=0.008165,0.014591&amp;ie=UTF8&amp;ll=38.623174,-90.376797&amp;spn=0.065328,0.11673&amp;z=13&amp;iwloc=A&amp;cid=3574171589716790561" target="_blank"&gt;Caito's&lt;/a&gt; in Glendale, MO. I will be presenting a session titled &lt;b&gt;Integrating Social Media Into Your Business Culture&lt;/b&gt;.  A lot of &lt;a href="http://www.marketstl.com/2009/04/22/look-at-me-seminar-get-your-business-in-front-of-online-customers/" target="_blank"&gt;interesting topics&lt;/a&gt; will be discussed, with the keynote being presented by &lt;a href="http://www.cshel.com/" target="_blank"&gt;Carolyn Shelby&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;During this presentation I'll be illustrating how any sized business can take advantage of social networks and the concepts they represent. I will be using &lt;a href="http://www.myspace.com/" target="_blank"&gt;MySpace&lt;/a&gt;, &lt;a href="http://www.facebook.com/" target="_blank"&gt;Facebook&lt;/a&gt; and &lt;a href="http://www.twitter.com"&gt;Twitter&lt;/a&gt; as examples of what can be done to achieve your marketing goals.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Check my &lt;a href="http://www.twitter.com" target="_blank"&gt;twitter feed&lt;/a&gt; with updates and thoughts, while I'll be adding more focused research points at my &lt;a href="http://www.scottallender.com/facebookaccount.aspx" target="_blank"&gt;facebook area&lt;/a&gt;.&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/scottallender/~3/ipvFpx-vn7c/Presenting-At-MarketSTL-SEO-Seminar.aspx</link>
      <author>scott@n3bu1a.com</author>
      <comments>http://www.scottallender.com/home/tabid/36/EntryId/47/Presenting-At-MarketSTL-SEO-Seminar.aspx#Comments</comments>
      <guid isPermaLink="false">http://www.scottallender.com/home/tabid/36/EntryId/47/Presenting-At-MarketSTL-SEO-Seminar.aspx</guid>
      <pubDate>Wed, 06 May 2009 04:19:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.scottallender.com/DesktopModules/Blog/Trackback.aspx?id=47</trackback:ping>
    <feedburner:origLink>http://www.scottallender.com/home/tabid/36/EntryId/47/Presenting-At-MarketSTL-SEO-Seminar.aspx</feedburner:origLink></item>
    <item>
      <title>DotNetNuke Scheduler Tips &amp; Tricks</title>
      <description>&lt;p&gt;So lately, I've been clowning around with DotNetNuke's scheduler engine.  I'm in the process of creating a Twitter module for DNN for my day job.  Apparently, the day job's website and intranet are pounding the "hell" out of the Twitter API, causing none of the updates to show after a specific amount of API requests are passed (probably between 65 - 100).&lt;/p&gt;&lt;br /&gt;&lt;p&gt;How do I resolve the issue?  Well, I decided to cache the requests in a database that I control via the RSS feeds that twitter provides.  Doing that, and creating the corresponding user interface, enables me to "pound" my database as opposed to the Twitter API, which then ensures that content is always being displayed.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;That's all great, but it stinks if I have to manually update the cache myself, which is where the DNN Scheduler comes into play.  I created a scheduled task (I will do my best to post a blog later about it), and my life should have been hunky dory.  Unfortunately, if you don't set up the scheduled task using the exact class name and assembly name (&lt;Fully Qualified Class Name&gt;,&lt;Everything Before Prior to .DLL extension is the Assembly Name&gt;), then you scheduled task sits there like a bump on a log.  Actually, it's worst than a bump on a log because the scheduler exception won't trap a mistyped assembly.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Long story short, when creating a scheduled task in DotNetNuke, be SURE that you know both the FULLY QUALIFIED class that will execute and the Assembly Name.  Otherwise your scheduled task won't execute.&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/scottallender/~3/8bzJ6RxJwLA/DotNetNuke-Scheduler-Tips-Tricks.aspx</link>
      <category domain="http://www.scottallender.com/blog/tabid/72/blogid/3/default.aspx">Software Development</category>
      <author>scott@n3bu1a.com</author>
      <comments>http://www.scottallender.com/home/tabid/36/EntryId/46/DotNetNuke-Scheduler-Tips-Tricks.aspx#Comments</comments>
      <guid isPermaLink="false">http://www.scottallender.com/home/tabid/36/EntryId/46/DotNetNuke-Scheduler-Tips-Tricks.aspx</guid>
      <pubDate>Fri, 03 Apr 2009 04:27:00 GMT</pubDate>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.scottallender.com/DesktopModules/Blog/Trackback.aspx?id=46</trackback:ping>
    <feedburner:origLink>http://www.scottallender.com/home/tabid/36/EntryId/46/DotNetNuke-Scheduler-Tips-Tricks.aspx</feedburner:origLink></item>
    <item>
      <title>Getting Keyboard Keys To Work Correctly on Linux Hosts Running VMware Workstation</title>
      <description>&lt;p&gt;Helping to resolve mismatched keystrokes (backspace not working, arrow keys don't work appropriately, etc) in vm guests hosted by Linux VMware Workstation 6.5.1 hosts.&lt;/p&gt;&lt;a href=http://www.scottallender.com/home/tabid/36/EntryId/45/Getting-Keyboard-Keys-To-Work-Correctly-on-Linux-Hosts-Running-VMware-Workstation.aspx&gt;More...&lt;/a&gt;</description>
      <link>http://feedproxy.google.com/~r/scottallender/~3/Fb50Y-2VAS4/Getting-Keyboard-Keys-To-Work-Correctly-on-Linux-Hosts-Running-VMware-Workstation.aspx</link>
      <author>scott@n3bu1a.com</author>
      <comments>http://www.scottallender.com/home/tabid/36/EntryId/45/Getting-Keyboard-Keys-To-Work-Correctly-on-Linux-Hosts-Running-VMware-Workstation.aspx#Comments</comments>
      <guid isPermaLink="false">http://www.scottallender.com/home/tabid/36/EntryId/45/Getting-Keyboard-Keys-To-Work-Correctly-on-Linux-Hosts-Running-VMware-Workstation.aspx</guid>
      <pubDate>Thu, 19 Feb 2009 01:25:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.scottallender.com/DesktopModules/Blog/Trackback.aspx?id=45</trackback:ping>
    <feedburner:origLink>http://www.scottallender.com/home/tabid/36/EntryId/45/Getting-Keyboard-Keys-To-Work-Correctly-on-Linux-Hosts-Running-VMware-Workstation.aspx</feedburner:origLink></item>
    <item>
      <title>Auto Pass Through with Active Directory Provider in DotNetNuke</title>
      <description>&lt;p&gt;* Please note this only pertains to version 1.02 and I have to do some code skimming to vlaidate.&lt;/p&gt;
&lt;p&gt;While at work today, i was dorking around on the customer extranet and I noticed something peculiar.  Even though auto-login was enabled on the AD provider in DotNetNuke, users were still being redirected to the login page.  To make matters even weirder, Autologin by IP was enabled and I was in the appropriate IP range.&lt;/p&gt;
&lt;p&gt;So my first step in troubleshooting this issue was to verify that the ~/DesktopModules/Authentication/ActiveDirectory/WindowsSignin.aspx was still authenticating correctly, which it was.&lt;/p&gt;
&lt;p&gt;Ok, then my next step was to check the Windows Credentials.  Yup, NTFS was set to allow corporate users and Anonymous Access was unchecked in IIS.  So scratch that off the list.&lt;/p&gt;
&lt;p&gt;Now I'm starting to shake my head.  I've used this version of the provider successfully for the past year or so.  At this point, I start checking the IIS logs.  Maybe (and this a huge maybe), it's not picking up on corporate users in the Reponse Header.  Nope, IIS logs are showing what they need to show.&lt;/p&gt;
&lt;p&gt;Ok, so the site is authenticating through WindowsSignin.aspx correctly, Windows/IIS is configured correclty, and the web logs show nothing out of the normal.  Ok, what now?  I start looking at the Authentication Settingss for this site and I noticed Hide Login Controls is checked.  On a complete lark, I uncheck it and voila!  Auto Login works!  Huh?&lt;/p&gt;
&lt;p&gt;This is where I depart the land of reason and go into some hunches.  i &lt;strong&gt;think&lt;/strong&gt; because this authentication provider was hiding the control, the Login module didn't realize that two providers were active on the site.  Since the login module couldn't tell that two authentication providers were on the same site, it didn't know that auto login was enabled for Active Directory users.  By making sure that the controls weren't hid, the Login Module knows more than one provider is being used, and therefore can check settings on the Active Directory provider.&lt;/p&gt;
&lt;p&gt;I'm going to follow up with this in the code to make sure.  Check back if you're interested.&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/scottallender/~3/u0DmfQi12ys/Auto-Pass-Through-with-Active-Directory-Provider-in-DotNetNuke.aspx</link>
      <author>scott@n3bu1a.com</author>
      <comments>http://www.scottallender.com/home/tabid/36/EntryId/44/Auto-Pass-Through-with-Active-Directory-Provider-in-DotNetNuke.aspx#Comments</comments>
      <guid isPermaLink="false">http://www.scottallender.com/home/tabid/36/EntryId/44/Auto-Pass-Through-with-Active-Directory-Provider-in-DotNetNuke.aspx</guid>
      <pubDate>Mon, 16 Feb 2009 19:07:00 GMT</pubDate>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.scottallender.com/DesktopModules/Blog/Trackback.aspx?id=44</trackback:ping>
    <feedburner:origLink>http://www.scottallender.com/home/tabid/36/EntryId/44/Auto-Pass-Through-with-Active-Directory-Provider-in-DotNetNuke.aspx</feedburner:origLink></item>
    <item>
      <title>DotNetNuke Module Settings Header/Footer</title>
      <description>&lt;p&gt;So I was bouncing around on a project I'm working on for my "day job," and I noticed a tremendous number of Text/HTML modules being used as a summarization for the function of the page.  Using the Text/HTML module in that function is fine, but it's not taking advantage of linking to other pages on the site or token replacement, it's kind of a waste.&lt;/p&gt;
&lt;p&gt;How do you get around that though?  Well, every module in DNN has an advanced setting where  you can specify header or footer text.  In the case outlined above, this works perfectly.  One of the benefits of using this is with less modules on the page, page loads become a little more efficient.&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/scottallender/~3/6ptmKuyELDY/DotNetNuke-Module-Settings-Header-Footer.aspx</link>
      <category domain="http://www.scottallender.com/blog/tabid/72/blogid/3/default.aspx">Software Development</category>
      <author>scott@n3bu1a.com</author>
      <comments>http://www.scottallender.com/home/tabid/36/EntryId/43/DotNetNuke-Module-Settings-Header-Footer.aspx#Comments</comments>
      <guid isPermaLink="false">http://www.scottallender.com/home/tabid/36/EntryId/43/DotNetNuke-Module-Settings-Header-Footer.aspx</guid>
      <pubDate>Fri, 15 Aug 2008 05:22:00 GMT</pubDate>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.scottallender.com/DesktopModules/Blog/Trackback.aspx?id=43</trackback:ping>
    <feedburner:origLink>http://www.scottallender.com/home/tabid/36/EntryId/43/DotNetNuke-Module-Settings-Header-Footer.aspx</feedburner:origLink></item>
    <item>
      <title>Joined Technorati!</title>
      <description>&lt;p&gt;I have a few ideas on some new topics that I'm going to post about later this week.  With that in mind, I really don't want to relay on just the search engine's spidering my site to provide the content.  So, I've joined &lt;a href="http://technorati.com/claim/2cstugkah" rel="me"&gt;Technorati&lt;/a&gt;!  Hopefully this will provide a boost in helping other IT folks get the information I've provided through my years of experience.&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/scottallender/~3/69JZ11Vhpf0/Joined-Technorati.aspx</link>
      <author>scott@n3bu1a.com</author>
      <guid isPermaLink="false">http://www.scottallender.com/blog/tabid/72/EntryId/42/Joined-Technorati.aspx</guid>
      <pubDate>Mon, 21 Jul 2008 04:20:00 GMT</pubDate>
      <trackback:ping>http://www.scottallender.com/DesktopModules/Blog/Trackback.aspx?id=42</trackback:ping>
    <feedburner:origLink>http://www.scottallender.com/blog/tabid/72/EntryId/42/Joined-Technorati.aspx</feedburner:origLink></item>
  </channel>
</rss>
