If you have a DotNetNuke website that has been around for a while, you likely have a large number of pages on the site. Many of those pages likely have individual Skins (themes) applied to them. When there is a skin defined at the Page level in DNN, that setting overrides the skin that is defined at the website level, meaning, if you change the skin at the Website level, it would not change the look and feel of any of the pages with their own skins defined.

Today Garmin has released two new, very cool, products. The Garmin Edge 510 and Garmin Edge 810. You can find out more information about them with some of the information below.

The key feature for the two new devices are the ability to pair the devices with your phone, and using that connection, upload your training data real time to Garmin Connect. I am curious to see if this feature gets extended and used by other services such as Strava. I know there is already a Strava app for Android and IPhone, but imagine if the Strava app talked to your Garmin device directly.

In case you haven’t heard, today is our birthday! Back on 12/24/2002, Shaun Walker released an open source project he called (at the time) IBuySpy Workshop in the forums here on www.asp.net . IBSW was a project which containers many enhancements to the...(read more)
Is anyone at Microsoft listening to the SPAM problem here on Weblogs.asp.net? My “ Can anyone do anything about the spam here on weblogs.asp.net? ” post from October got over 12 spam comments posted to it in the past 24 hours. I have comments all moderated...(read more)
It is a big day in the world of DotNetNuke (yes, DNN is still around folks). DNN 7.0 was released today, you can find out more information by visiting DotNetNuke.com Be sure to read Will Morgenweck’s blog post for all the details . For a quick peak into...(read more)
With the pending release of DotNetNuke 7, scheduled for this week, I updated my free DotNetNuke (DNN) skin , MultiFunction v1.3 . This latest release requires DotNetNuke 7, it shouldn’t install on an earlier version of DNN. This release updates a number...(read more)

This video kind of fits.

Today I had my first eye exam in 15, probably more, years. It is time to get glasses. So. I have that going for me.

For those friends/family who haven’t heard yet. We have two announcements here for the blog (besides the whole glasses thing).

1) We’re having another baby! #2 is on the way in June 2013, no other details just yet.

2) We’re moving! Again. Go figure. We’re headed back to St. Louis, our lease starts on the first of December. We’ll hopefully get a 2012 Xmas card out right after Thanksgiving with the new address for everyone. If you need it before then, email me.

Answers to a few questions:

No, we don’t know if the baby will be a boy or a girl yet.

Yes, I will still be working for DotNetNuke.

I was trying to do some work with the Form and List module in DotNetNuke today and I needed to apply some custom styles to the LIST view of a module, without going in and creating a full XSL template for the module to use, I wanted to style the default table based grid view.

In order to customize this view though I needed to do some custom jQuery that runs after the table is loaded, the jQuery then goes through and looks for columns, and based on the number of columns, adjusts the way those columns display.

First I wanted to make it so that a specific column didn’t have text wrapping, which in HTML would normally use the nowrap property on a column, but because of the dynamic nature of F&L you can’t configure that manually. To achieve this I needed to loop through each Table Row (TR) in the table, and then find the column in question, and apply the css attribute/value for white-space/nowrap. To do this I used code like the following.

$("#tableId tr").each(function(){
    var cellCount = $(this).find("td").length;
    if(cellCount==4)
    {
        $(this).find("td:eq(0)").css("white-space","nowrap");
    }
    else
    {
        $(this).find("td:eq(1)").css("white-space","nowrap");
    }
});

Basically that goes through and finds each row in the table, then checks to see how many columns there are. I do this because the VIEW for the table when you are logged in, versus when you aren’t logged in, is different, the F&L module adds an Edit column at position 0, so you can see in the ELSE statement I basically want to set the width on the 2nd column, position 1 in the zero-based array.

If you want to do something similar for the HEADER row of the table you have to do things slightly differently, using the following code

$("#tableId tr:eq(0)").each(function(){
    var cellCount = $(this).find("th").length;
    if(cellCount==4)
    {
        $(this).find("th:eq(0)").css("text-align","left");
        $(this).find("th:eq(1)").css("text-align","left");
    }
    else
    {
        $(this).find("th:eq(1)").css("text-align","left");
        $(this).find("th:eq(2)").css("text-align","left");
    }
});
So there you go, you can use that jQuery above to go through and make changes to columns in an HTML table, depending on the location of the cell.

Things have been quiet around here, so I figured it was a good time for a status update that is longer than 140 characters.

We are in the middle of the process of planning our next move, true to our nature, we’ve been in Half Moon Bay for less than 18 months, and we’ll be heading back east. We’re going back to St. Louis in December, and currently looking for a place to live. I’ll be working from home and travelling back to San Mateo at least once a month to be in the office at DNNCorp.

The move and planning for such is taking up most of our time, though I am also travelling a lot for work lately, headed to Columbus next week and San Antonio after that.

Here’s a photo of Natalie and Jacqueline taken earlier this evening.

Mommy and Jacqueline at Sunset
So this is totally unrelated to DotNetNuke, as most of my posts tend to be, except that I am getting ready to travel for an extended trip overseas and I was wondering how could I take some blog posts and articles that I found online that I want to read, with me on the plane trip. The problem with my flight being that I will be going overseas which pretty much rules out inflight internet (at least on United, which I have decided booking the flight on was a bad idea, but it is booked). So how can I take some articles from websites with me, without having internet, and without killing trees? Well my Android tablet of course (I assume this would also work on an IPad, but no guarantees). Using my tablet, along with DropBox, and then of course a PDF reader (Amazon Kindle works) I can read articles that I’ve saved.
Lance Armstrong after LT100 2009

Today is the day that Lance Armstrong packed up camp and went home. He has publicly announced that he is no longer going to battle with the USADA over the doping allegations.

I don’t know if he doped, I assume he probably did, but the proof never came out to say that he did. I don’t like the fact that he might have doped, but the more I get into the sport of cycling, the more I read (recently finished David Millar’s book and am just wrapping up Slaying the Badger) the more I understand that cycling was all about doping.

Earlier today the latest release of the .NET MicroFramework (v4.2 QFE2) was released over on https://netmf.codeplex.com/ . You might ask, why does a DotNetNuke guy care about that? Toys! Well, I call them toys, they are my toys. I’ve dabbled with Netduino...(read more)

Long ago when we started shipping jQuery resources with DotNetNuke we began offering a Host Setting which allowed you to use a HOSTED version of the jQuery resources. There are a number of benefits for using the hosted jQuery resources, of which I will mention some below, but there are also some potential disadvantages or risks to this as well.

First a quick summary of what the setting allows you to do. With DNN (specifically with DNN 6.*+) we ship both jQuery resources and the jquery.ui resources. These are javascript files that exist on the web server that hosts your DotNetNuke website. Using the HOSTED setting allows you to basically have those files distributed from a CDN (content delivery network).

Over the past two weeks I’ve been working on a idea to demonstrate how to use Knockout.js with DNN module development. I presented the topic and demo’d a module at both the St. Louis Day of .NET and the Bay Area DotNetNuke User’s Group in the past week. The module is called SlidePresentation, and you can see it in action via the recording from the BayDug meeting earlier this week (available on youtube). The module allows you to create Slides, using...

cardsgame

Coming up in less than a week Joe Brinkman (technical fellow) and myself will be presenting at the fifth annual St. Louis Day of .NET in St. Charles, Missouri. www.stldodn.com

This will be my fourth year presenting there, and I believe Joe’s second time. We will be covering a variety of DotNetNuke topics, including a DotNetNuke Jumpstart session which is the perfect way to learn about the platform if you are new. Here are the topics that we will be presenting, along with the currently scheduled time for them (times subject to change, visit www.stldodn.com for up to date times).

One thing that was added in DotNetNuke 6 but hasn’t been covered in great detail is a method called dnnModal.show. Calling this method is fairly straight forward depending on your need, but before we get into how to call/use the method, let’s talk about...(read more)

Over the next couple of days people should be receiving their Netduino Go Piezo Buzzer Modules, at least if they have ordered them from Amazon.

I was lucky enough to get mine very quickly from Amazon and put together a sample project the other night. This is by no means a complex project, and most of it is code from the public domain for projects based on the original Netduino.

Project Overview

So what does the project do? Essentially it plays 3 “tunes” that are predefined in the code. The tunes and most of the code for the project are based on this thread on Netduino.com.

The primary method for interacting with a Piezo Buzzer module is pretty simple, you just need the following three lines.

PiezoBuzzer Pb1 = new PiezoBuzzer(GoSockets.Socket1);
Pb1.SetFrequency(####);
Thread.Sleep(####);

Socket1 would be the location where you have the module plugged in to the Netduino Go. The ### for SetFrequency is a float, 440.00 should be an A where the note C would be 261.63.Duration is an integer in milliseconds, so 1000 would be 1 second. Basically once you set the frequency you tell the program to sleep for 1 second to let the note play out.

The code in the project is a little more complex than that, providing octaves of notes and their frequencies, as well as the ability to pass in an array of notes and tempo to adjust for speed/duration.

Download the code

But enough of that, how about a video of it in action?

Other Netduino Go Projects

Be sure to check out some of my other Netduino projects and blog posts.

If you are going to be attending DotNetNuke World this year ( https://dnnworld.dotnetnuke.com ) don’t forget that today is the last day to use the discount code 2011Attendee to get both the conference and training for $599. After today the price goes up...(read more)
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.