Tagged Posts

Chris Hammond

For years I have maintained a set of Visual Studio project templates that are used by thousands of people to quickly and easily create Modules for the DotNetNuke Content Management System, and for years, I have had people request that I create a project template for creating a DNN Skin (now known as Themes).

This weekend I finally took the time to do just that. With the latest release of my Visual Studio project templates, you can now create a Theme for DNN. When doing so, you will be presented with a basic skin, using Bootstrap v3.1.1, based on my HammerFlex theme for DotNetNuke.

Chris Hammond
If you’ve recently upgraded to DotNetNuke 7.3, you might not have noticed that your scheduled tasks aren’t running. How do you know if your tasks are running or not? Follow these steps
Chris Hammond

With the release of DNN 7.3.0 this week, it was time for me to get my sites upgraded. I upgraded most of the sites without any issues, but wanted to point out a few errors that I received on sites, and how I resolved them.

The very first upgrade I did started out bad, it was for this site, and while the upgrade was 100% successful, as soon as I tried to load the site I got a generic 500 error. Accessing the site from the webserver gave me a little more information, seen below, but not much.

Chris Hammond
One of the things I’ve failed to do with my latest free open source skin, HammerFlex, for DNN is provide a good overview of how to utilize the skin. To really understand a skin, one must know the layout, and the thought process behind the layout (panes).
Chris Hammond
A month or so ago I released a new open source skin for DotNetNuke (DNN), called HammerFlex. One of the cool things about the HammerFlex skin is the implementation of Bootstrap, and specifically the Carousel feature that allows you to add a carousel/slider to your site. The skin is designed to use the carousel at the top of a page, I haven’t tried it elsewhere, though it might be possible to use in other Panes in the DNN Skin.
Chris Hammond
I decided recently it was time to upgrade the look of my various websites, and while I originally considered modifying my MultiFunction skin for DNN, ultimately I decided to start from the ground up and create a new Skin for DNN using Bootstrap (http://getbootstrap.com), I’ve decided to call it HammerFlex.
Chris Hammond

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.

Chris Hammond

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.

Chris Hammond

In October, the SignalR project had their first official 2.0.0 release, and with that comes a number of changes to make your modules work with SignalR. You can upgrade your SignalR package via Nuget.

You can find a guide to upgrading your projects at http://www.asp.net/signalr/overview/signalr-20/getting-started-with-signalr-20/upgrading-signalr-1x-projects-to-20

Chris Hammond

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.

Chris Hammond Google+

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.

Chris Hammond Google+

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+.

Chris Hammond Google+

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.

Chris Hammond
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.
Chris Hammond
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.
Chris Hammond

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.

Chris Hammond

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 http://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.

Chris Hammond Google+

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.

Chris Hammond
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.
Chris Hammond
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.
Chris Hammond Google+

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 http://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.

Chris Hammond Google+

imageWith the release of DotNetNuke 7.0 (and now the more recent 7.0.2), it was time to update my module development project templates. If you have worked with my module development templates before, here are the major changes for this release. If you haven’t worked with them before please read this whole blog post as I discuss how to get up and running with the templates.

Chris Hammond
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.
Chris Hammond

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.

Chris Hammond

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;

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;
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.

Chris Hammond is

Chris Hammond is a father, husband, developer, geek and car guy. Specializing in ASP.NET and DotNetNuke, you will find a variety of topics here on the website. For more information check out the about me page.

If you are looking for DotNetNuke consulting please visit my business website at http://www.christoc.com/ 

Filter By Tag

  1. .net
  2. 2008
  3. 240Z
  4. 350Z
  5. A6
  6. About Me
  7. Ads
  8. AJAX
  9. asp.net
  10. ASP.Net AJAX
  11. Audi
  12. Audi A6
  13. Barnsoft
  14. Baseball
  15. Beetle
  16. Best Practices
  17. Blogs
  18. Book
  19. Bootstrap
  20. Borders
  21. Build
  22. C#
  23. Car
  24. Cardinals
  25. Carousel
  26. Cars
  27. Chat
  28. ChristocTemplate
  29. CMS
  30. CodePlex
  31. Colorado
  32. Commandments
  33. Community News
  34. Community Server
  35. communityserver
  36. Consulting
  37. Content Management
  38. Content Management System
  39. Corvette
  40. Corvette Z06
  41. Corvettez06
  42. CorvetteZ06.org
  43. CSS
  44. daily tips
  45. DAL
  46. DAL2
  47. Data Access Layer
  48. Datsun
  49. Design
  50. Designs
  51. Developer
  52. Development
  53. DLL
  54. DNN
  55. DnnCart
  56. dnnCHAT
  57. DNNCMS
  58. DNNCorp
  59. DNNUG
  60. DNNWorld
  61. domain
  62. Domains
  63. Domotics
  64. DotNetnuke Conference
  65. DotNetNuke Corporation
  66. DotNetNuke Development
  67. DotNetNuke Modules
  68. DotNetNuke Support
  69. DotNetNuke Tips
  70. DotNetNuke Training
  71. Dressage
  72. Education
  73. Electric
  74. Electric Car
  75. Electric Vehicle
  76. Engage
  77. Engage Software
  78. Error
  79. Errors
  80. EV
  81. F&L
  82. Facebook
  83. Family
  84. Feedback
  85. Fitness
  86. Fix
  87. Forge
  88. form and list
  89. Free
  90. Friends
  91. general Software Development
  92. Germany
  93. Gmail
  94. Google
  95. Google Apps
  96. Growth
  97. HammerFlex
  98. Hammond
  99. Health
  100. Healthcare
  101. Home Automation
  102. HTML
  103. IIS
  104. ITM
  105. ITM America
  106. ITM-America
  107. javascript
  108. Job
  109. jQuery
  110. JSON
  111. Kentucky
  112. Languages
  113. Las Vegas
  114. Layout
  115. Leaf
  116. Learn
  117. Life
  118. Life News
  120. Marketplace
  121. Messaging
  122. Microsoft
  123. MIT
  124. Module
  125. Module Development
  126. Modules
  127. Moving
  128. MSBuild
  129. NANT
  130. Natalie
  131. Nissan
  132. Nissan Leaf
  133. October 14th
  134. Open Source
  135. OpenForce
  136. OpenForce 07
  137. OpenForce07
  138. OpenSearch
  139. Panes
  140. Personal
  141. Philanthropy
  142. Photography
  143. Photos
  144. Pictures
  145. Places to See
  146. Project
  147. Project 240Z
  148. Project 350Z
  149. Project240z
  150. Project240Z.com
  151. Project350z
  152. Project350z.com
  153. Projects
  154. Publish
  155. Quattro
  156. Rating
  157. Release
  158. Review
  159. Saint Louis
  160. Saint Louis Equestrian
  161. SCCAForums
  162. Schedule
  163. School
  164. Search
  165. Search Results
  166. SEO
  167. Sharepoint
  168. Shift8Read
  169. SignalR
  170. SignalR:
  171. Site News
  172. Sitemap
  173. Skin
  174. Skinning
  175. Skins
  176. Slider
  177. Slideshow
  178. Software
  179. Solo2.org
  180. Sports
  181. SQL
  182. St. Louis
  183. Statistics
  184. Super Beetle
  185. SuperBeetle
  186. table
  187. Task
  188. Technology
  189. Template
  190. Templates
  191. Theme
  192. Themes
  193. Tips
  194. Training
  195. Travel
  196. Tricks
  197. Trips
  198. Trouble Shooting
  199. TulsaTechFest.com
  200. Tutorials
  201. Upgrade
  202. Upgrades
  203. User Groups
  204. Users Group
  205. User's Guide
  206. VB.Net
  207. Vista
  208. Visual Studio
  209. Visual Studio 2005
  210. Visual Studio 2012
  211. VS2005
  212. VS2012
  213. VW
  214. Washington DC
  215. Web Services
  216. weblogs.asp.net
  217. Wiki
  218. Windows
  219. Windows 8
  220. Windows Home Server
  221. Work


Any blog posts here are solely the opinion and views of Chris Hammond only. Comments on blog posts are the opinion of the commenter, and not Chris Hammond.

Powered By

This website is managed by Christoc.com Software Solutions

Find Me