Clint Patterson's Blog


Read the thoughts and musings of a cultured redneck here

DNN Prompt: Making DNN Admins Power Admins via the Command Line
DNN Prompt: Making DNN Admins Power Admins via the Command Line

At DNN Summit I learned of a new tool created by Kelly Ford called “DNN Prompt”. I first saw it in a session that Peter Donker gave and it immediately caught my attention. Since then I’ve learned more about it and want to share some initial thoughts on it.

Peter was demoing something related to the persona bar in his session on React.js when he mentioned that he was going to try a “new trick” he’d just learned from Kelly Ford. He then opened a panel up and a command line was visible. He typed in something like “new-extension” and voila, just like that a new extension was created. He closed the panel and moved on with this session, while I was left in amazement wondering what had just happened.

As one of the hosts of DNN Summit I was in and out of rooms all day, taking pictures and tweeting them, and just busy helping out in general. It was hard for me to pay attention to things, but whatever Peter had just done definitely caught my eye. I turned to the person beside me and asked them what was that panel he just used. I thought it may have been some Powershell script or something. The person to my left didn’t know either.

Enter DNN Prompt
After asking around and nagging enough people I learned that this new feature was called “DNN Prompt”. Prompt is the latest and greatest from Kelly Ford who most of the DNN Community knows as being the creator of XMod

Thinking back on it I think I remember hearing whispers around the DNN Community that Kelly had been working on something that was really cool, but yet I never heard any details. Now I’d seen it in action and was connecting the dots.  At first glance I thought it was black magic of sorts.

In the time since DNN Summit I’ve been able to connect with Kelly and the team of people working on DNN Prompt and actually use the tool. It is definitely neat. In this blog I want to provide a quick intro video on DNN Prompt and relevant links for those who are interested.

The Return to the Command Line
It seems there’s been a recent trend going back to the command line among developers. If you look around at NPM, Node.js, etc. you’ll find the command line being used more and more. Even Kelly’s recent presentation to the Southern Fried DNN User Group here in Charlotte referred to this notion as his title was “How Something Old Can Make DNN New Again”. 

Although the user interface for the command line is not as “user friendly” as a wizard based approach it does allow for faster execution of tasks. When you think about it, it really makes sense because the users of this kind of tool are typically admins or developers… not content editors… and they love this kind of power at their fingertips. Don't get me wrong though, this tool is more than just about speed. The vision Kelly has for the tool is very forward thinking and one to get excited about.

DNN Prompt is a Game-Changer
From my first few times using DNN prompt and from seeing people's reactions at the Southern Fried DNN User Group meeting (both in-person and online) I think it’s a game changer for DNN. Everyone's minds were spinning and it didn't take developer's long to see what this could mean for DNN as the tool is extensible. I think Prompt will be a DNN Administrator’s best friend. Normal DNN administrators will now be “Power Administrators” once they use DNN Prompt enough to know the commands by heart. At conferences in the future you’ll see everyone having Prompt installed, using, and referencing it. I plan on using it a lot in my own DNN sites and think that you will end up using it too! Kelly's goal is to get this into the core of DNN Platform and I hope he is successful with that goal.

As you saw in the video, DNN Prompt has the potential to be a game changer for DNN. It will impact the DNN platform, community, and ecosystem. Also, just as Kelly’s earlier DNN creation (XMOD) has done, I believe Prompt could follow a similar path and potentially spawn a new sub-ecosystem for DNN developers and administrators. DNN Prompt could open a new era for development within the DNN ecosystem as the possibilities are endless. Imagine doing all your daily tasks via the command line or imagine modules and other extensions having their own hooks into Prompt. What if you could instantly shut down registrations across 100 portals with one single command or script out batch commands to do whatever you want within your site… it could get interesting quickly!

Get Involved
Kelly ended his presentation with asking people to get involved. He wants to know your feedback, how you envision using the tool, the commands that would be important to you, etc. The good news is taht DNN Prompt is open source and active on GitHub! I know that the team of people developing the solution would love to have more people contributing to the code base and pushing the solution forward.

Here are some links for those of you interested in participating and knowing more:

3 Reasons to Attend DNNCon Baltimore
3 Reasons to Attend DNNCon Baltimore
DNNCon Baltimore Banner


It’s DNNCon week! The DNN Community is ramping up with excitement about the conference this upcoming weekend. I know that our Carolina based crew is looking forward to the road trip to the DC/Baltimore area, the convos/sessions/parties at the conference, and most of all the fellowship with everyone in the community.

That said, if you’re still on the fence about attending I think you should give a go and here are 3 reasons why:

  1. You’ll Meet People Who Can Help You Learn
    If you’re looking to learn there is no place better to be. Whether you are a DNN guru or a new person in the DNN Community there is so much knowledge to soak in that you should definitely attend. One of the things I’ve always enjoyed is learning how other people go about solving the same challenges that I was facing. Literally everyone around you at the conference has some sort of experience or knowledge that you can benefit from. All you have to do is ask… don’t be shy! 
  2. Node / SPA / MVC / JWT / IOT
    If you’re in the loop on trending technologies then you’ve probably heard of Node JS, Single Page Applications, the Model View Contoller programming style, JSON Web tokens, and the Internet of Things. However, if you’re like me you probably don’t know how to use all of those like a rock star just yet. Well the good news is that there are sessions on all these subjects during the conference! Where else can you go and find this type of knowledge in one day that is all linked to DNN? I’m excited to learn more about these technologies and their integrations with DNN and you should be too!
  3. Open Source is Free & Awesome and DNNCon Is Too!
    DNN is an open source platform and as such you are able to freely download the code and contribute/modify/update as you wish (DNN Platform on GitHub). There is a lot of power, energy, and community in open source and in the DNN Community specifically. This weekend you can experience all that and more simply by showing up at the event. You may even win some of the awesome swag that’s available too! I’ve seen tweets about XBOX’s, Drones, and more! The future is open source, join the movement!
I also heard there was going to be an interesting keynote + some creative Ignite sessions as well! We hope to see you this weekend at DNNCon Baltimore!

Using TypeKit in DotNetNuke
Using TypeKit in DotNetNuke
TypekitLike many web designers I’m constantly working on some side project or rebuilding/redesigning one of my sites.  I’m currently in the process of redesigning a site and since I’m a member of Adobe’s Creative Cloud I figured I should freshen up some of the fonts that I use on the site via Adobe’s Typekit. Typekit makes it really simple to integrate custom fonts into your site. In this blog I’ll walk through how to incorporate custom fonts through Typekit in your DotNetNuke site.

The first thing to do is navigate to the site. Once you’re logged in you can browse the font gallery and select the font(s) of your choice.  I chose the “Atrament web” font style for the site I’m redesigning. The image below shows the screen where you view and choose the font(s) you want to use.

Once you choose a font you can click to the “Type Tester” section to see how any specific words you type will look in your selected font. You can easily increase or decrease the font with the slider and you can also view how the font looks in various browsers on the “Browser Samples” tab as shown in the screenshot below.

Browser Samples in Typekit

Typekit uses “kits” to organize fonts for usage by designers. It’s really easy to create a new kit. Simply hover the kit section and click “Add New Kit”. As you can see from the screenshot below, I've created a kit for each site on which I use custom fonts. You can see how to add a new kit in the below screenshot. 

Add a new kit in Adobe's Typekit

Now that the "kit" is ready I need to add some fonts to it. Once you decide on a font you simply hover over the font and click “Add to Kit” and the font will be added to the kit for which you are currently viewing as denoted in the below image.

Adding a font to a kit in Adobe's Typekit

After you add a font to a kit you can go into the "kit editor" to further customize. Once you’re inside the kit editor you can customize various settings and styles that make the custom fonts appear on your site. You can simply add the CSS selectors that you’re using on your site & they will then render showing the custom font that you've just selected in Typekit. Notice in the below screenshot where I'm adding " .ANewSelector " class in Typekit's editor.

Adding a new CSS Selector in Adobe's Typekit

Now at this point you’re probably wondering what is linking your site & Typekit together so that the selectors know which font face to use. In the kit editor Typekit gives you 2 lines of JavaScript that you need to include in order to make things work. Just copy and paste that script (shown in the below screenshot) into your code and you’ll be ready to rock. 

Copy & Paste JavaScript from Typekit

If you wanted to access specific weights & styles via your skin.css file you can click on the “Using weights & fonts in your CSS” option which will give you the below screen allowing you to copy the CSS necessary for your specific font & weight.

Using fonts & weights in Typekit

Now if you did click the “Copy CSS” option you would end up with some CSS that resembled the below:

font-family: "atrament-web",sans-serif; font-style: normal; font-weight: 400;

Once you click publish you will be ready to go. I should also mention that if you want to develop or test out styles locally you can also enter “localhost” in your kit editor settings and that will make your local sites work with the new custom fonts.

Using LocalHost in TypeKit

If you were concerned about how your styles would display on mobile devices you can click into the "Mobile Settings" section of the Typekit editor as seen in the below screenshot.

Typekit's mobile settings

Now to make all of this active we need to click the big green “Publish” button at the bottom right hand corner of the kit editor screen which you can see in the below screenshot. 

Adobe's Typekit

At this point we’ve successfully chosen our fonts and published them linking the custom fonts to our site. Now we just need to reference them in our skin's .ascx file, the skin.css or specific modules. In my skin’s .ascx file I’ve added the 2 lines of JavaScript to reference TypeKit.

Embedding TypeKit's JavaScript References in my DotNetNuke skin

Then in my HTML Module I simply referenced the CSS classes that I specified earlier in the Typekit selectors area.

Using CSS classes in my DotNetNuke module

And that's all it takes to get everything lined up. You can see an example of the redesigned home page (running locally) using the custom font “Atrament web” that I selected earlier. using new custom fonts via Adobe's Typekit

Typekit makes it extremely easy to use custom fonts in your site. If you’re a Creative Cloud member you should check it out. I hope this blog has been helpful to you with integrating custom fonts in your DotNetNuke sites.



Custom styles in the DotNetNuke Telerik Rad Editor
Custom styles in the DotNetNuke Telerik Rad Editor

If you ever need to put some custom styles in the Telerik Rad Editor of DotNetNuke HTML module it can be a little frustrating if you don't know exactly where to put the files. It's actually a simple process. I cut a quick video walking through this process and wanted to post here in hopes of helping someone who may encounter this same issue.


A new job? at DNNCorp!
A new job? at DNNCorp!

I’d seen the job posting for the Sales Engineer role at DotNetNuke Corp for a while and thought that it seemed to be right up my alley. That is, until I got down to the part about the position being based out of San Mateo, California. I’m a Carolina boy through and through and don’t think I could survive without sweet tea! Not to mention that there’s no way the wife would move and I don’t believe you can hunt deer or catfish out there so it was a moot point to even think about it. I usually see Will Strohl tweet about the position, read the description, sigh, and then close the browser.   

Then a strange thing happened… it seemed there was an opportunity to work remote if I’d be willing to travel some. You can imagine when I learned about this that I got pretty pumped up about it and consequently assured the wife that she should be pumped about it too ;-)  After fixing my hair up, a trip to DNN HQ, and a few weeks later I’m now happy to announce that I've accepted a job at DNNCorp as a Sales Engineer! Along with my role as Sales Engineer I’ll also be doing some community evangelism.

After accepting the role I thought about my journey thus far with DotNetNuke and I would be doing an injustice if I didn’t thank several people and the DotNetNuke Community in general. If you care enough to read this post then you’re probably someone I should say thank you to… so thanks!

I've learned a lot about DNN over the past few years and much of my learning has stemmed from interactions with people online whether it’s on Twitter, a helpful blog entry that someone posted, or working through an issue on the forums or community exchange. In short I don’t think I’d have learned as much without the help, support, and encouragement from everyone in the DNN Community.

I’d specifically like to say thanks to a few individuals starting with Allen Foster. Allen has helped me out greatly along my way. Allen took me under his wing and continues to help me learn and grow. If Allen had never decided to revive the Charlotte based DotNetNuke user group then I’d never have been able to nag and mooch knowledge off people in the Carolinas and I probably wouldn't be writing this post. Will Strohl has always been a supportive, open ear willing to help me out as well as Will Morgenweck, Chris Paterra, and Chris Hammond have all gone out of their ways for me at some point. William Severance answered several of my forum posts way back when I was first trying to first figure things out which helped me to understand that there are people out there who want to help. This was my first glimpse into open source and the community behind DotNetNuke. Mitchel Sellers, Robb Bryn, Henry Kenuam, and Ryan Moore have all helped me out along the way too. I should also mention Armand Datema... Armand has helped me out by showing me the way with some really cool front-end stuff whether it be with JQuery, Form & List, or the DDR menu. I know that a great deal of my learning around DotNetNuke has only been possible through the relationships and graciousness of everyone in the community… so thank you!

I’m excited to be a part of the DotNetNuke team and hope to make a positive impact. Just when you thought I couldn’t tweet about DotNetNuke any more they go and offer me a job ;-)



MVP + SuperFan = One Excited Country Boy: DNNWorld 2012 Recap
MVP + SuperFan = One Excited Country Boy: DNNWorld 2012 Recap

Our crew had a blast last year at DNNWorld 2011 so we eagerly looked forward to this year’s conference all year long. This year DNNWord was moved up a month from November to October which was a welcomed change by me as November is the best part of deer hunting season in South Carolina. As soon as the early-bird registration came out I registered.  

To me, DNNWorld is like a combination of a family reunion, a pep rally, and information-loaded-boot-camp. It’s really hard to describe and put into words, you just have to experience it. There are great people to meet, prizes to win, awesome sessions to inspire you and get your creativity flowing, a side-conversation constantly going on via social media, competitions to enter, arrows to shoot at people, good times to be had, and trees to be climbed. It’s fun and I always leave energized about the future. There was no way we’d miss it.

Road Trip
One of my favorite parts of the DNNWorld experience is simply the road trip down and back. We get a crew from the Carolinas to make the trip and we set out on an 8 hour ride full of a variety of interesting conversations, sing-alongs, fast-food stops, status-tweets, and pee breaks. When I get around smart people I have a habit of asking a lot of questions in hopes of learning. It all makes for a fun and interesting trip. 

This year we were lucky enough to have a very courteous chauffeur in @RobbBryn. He wouldn’t let us pay for anything, he brought chargers and converters for all electronic devices, and even had a mobile hotspot set up as well. Talk about a geek’s dream-mobile. It was awesome. We surfed the net and talked about things in anticipation of the conference… that is… until a good song came on and we blasted the music. The road trip down was only the first time that Garth Brooks’ “Friends in Low Places” would be heard on this trip! 

ODUG or Bust
After 8 hours we arrived in Orlando, checked in to the hotel, dropped luggage, came right back downstairs, and headed to the Orlando DotNetNuke User Group meeting. The pre-DNNWorld ODUG meeting is always fun and filled with a lot of the prominent DNN Community folk. Bruce Chapman presented this year and offered some very useful information regarding URLs in general and some best practices specific to DotNetNuke. After the meeting we all hung out at a local restaurant and then came back to the hotel.

The Conference
DotNetNuke CTO - Shaun Walker during his keynoteDNNCorp put on another excellent conference. Everything was extremely nice and organized. From planning the Day of DNN I recognize that there are tons of details that go into making a successful event. Sometimes tech-folk are the most critical and difficult to please and a conference of this size was surely not an easy feat to pull off. From the location, to the food, to the decorations, key notes, sessions, sponsor booths, competitions and social events… everything was AMAZINGLY AWESOME!! I think this was a consensus among all attendees too. Everything was really nice and well-orchestrated. Kudos to Richard Dumas, Stephanie Tejada, and everyone else involved with hosting the conference. The next version of DotNetNuke (DNN 7) looks to be awesome. It just keeps getting better with every release. And yes, I did leave with 3 more signs this year, 2 of which are huge. See pics from the event.

DNN SuperFan
Every year it’s challenging to come up with something creative and clever that would merit consistent votes from people in the community. I had fun creating my project and talking smack online with everyone throughout the competition and honestly didn’t think I would win. I would like to say a big THANK YOU to everyone who voted for me, especially the ones voted consistently. I know it’s aggravating and I also know that without your votes and support that I wouldn't have been able to wreck a brand new bike on concrete on my first trip out of the garage. Yes, it’s true (more in a bit). Thanks for giving me that opportunity. Seriously (after I get the bike fixed) there are some great riding courses near my house and I plan to exercise more with it in the near future. I've already downloaded the Strava app and hope to figure it out shortly as well.

I was very surprised, thankful, and humbled to be selected as a DNN MVP.  Most of my accomplishments thus far in life have been in the world of athletics so this was different for me and I did feel a little out of place. When I was on stage I looked around at the people to my side and quickly noticed that everyone on the stage surrounding me was way smarter than I am. I looked to my left and to my right and I had brilliant, knowledgeable guys from all around the globe who I look up to and respect. These are the guys that if I post in the forum or in exchange… I hope they respond, guys that if they tweet anything I’m reading it because it’s valuable, guys who make code contributions that are significant to the platform, guys who are well known and respected in the community. Standing there on stage beside these guys still seems unreal to me (and my old ball coaches probably won’t believe it happened either), but it’s just a testament to the fact that hard work, persistence, and motivation can overcome lack of intelligence! Thanks to everyone who nominated me for this award. I really appreciate it and am humbled to have received this honor. 

Favorite Sessions/Presentations
I thought all the sessions I attended were good, but the ones that really stuck out to me were Brian Dukes’ “Responsive Views with Knockout”, Amelia Marschall-Miller’s “Advanced CSS for DotNetNuke”, Charles Nurse’s “DAL 2 – A New Data Layer for a New Decade” along with Nik Kalyani, Robb Bryn, and Joe Brinkman’s Ignite presentations. To me, those presenters really brought the goodness and left me inspired in some way or another. And after Nik’s Ignite I’m glad that my Ignite submission didn’t get accepted because he brought the house down and set the bar extremely high.

QCDUG in the House
Most people (the ones that didn’t leave DNN After Dark early) will remember QCDUG as being responsible for the stage-takeover and unique rendition of Garth Brooks’ “Friends in Low Places” (which by the way… many members of the audience knew the words and were singing right along), but there were more QCDUG members in attendance at DNNWorld than just those of us who took over the stage. I thought it was awesome that our Charlotte based user group had 11 registered members at the conference! It was neat to see so many of our user group members there connecting with the community. Hopefully next year we can have even more… so don’t leave DNN After Dark early or you might just miss something again next year. You never know.

Road Trip Part #2
After the conference was over the QCDUG crew started the return trip back to Charlotte. As I mentioned earlier, the road trip is a fun part for me. On the way down we get hype about the conference with anticipation of things that may occur, but the return trip always consists of a retrospective, post-game, sense-making and deconstruction discourse about the conference. Sharing info we all learned and neat stuff we observed always makes for good conversation and usually breeds creative ideas for the future… and we did have some good convos and ideas being tossed around. One of the keys to ensuring this creative convo happens is to make sure that @CoolCoyotes gets his Starbucks before leaving Orlando! A stop at a Starbucks in Orlando, a gas station near 95, and Cracker Barrel in Georgia, and before you knew it we were back in God’s Country ie, South Carolina. The ride back was more low-key than the ride down, but we were brainstorming all kinds of things surrounding DNN. It was equally enjoyable.

From SuperFan to SuperDork in 12 Hours
Many saw this unfold on Twitter, but I would like to confirm its occurrence. When I got back to the house in SC I had to put the wheels back on the SuperFan bike. After putting them on what would anyone want to do? … ride it down the driveway to make sure it worked right? I hopped on the bike and made my way into the darkness. With the first pedal I heard a clicking sound coming from the chain. I knew this didn’t sound right. The bike chain was clicking against the gear-shifting-mechanism that moves the chain to a new gear. So I clicked the gear shifter to move the chain over hoping that would make the clicking stop. The gear didn’t shift. By this time I had pedaled a few times and was gaining speed. The clicking was getting louder. I clicked the gear shifter on the other side. Nothing happened. Then all of a sudden in mid-pedal-push the chain broke and slung against my ankle leaving me off balance and headed toward concrete. I went to the ground with the bike mangled around me. I felt pain and felt stupid! This just didn’t seem like the correct ending to the story. I was mad that I’d already broken a new bike and even more upset at the pain I now felt in my knees, left elbow, ankle, left-big-toe, head, and right hamstring. I threw the bike off of me and laid there looking at the stars recognizing my inability to ride a bike. Long story short, I’m headed to a bike shop somewhere in Charlotte this week to get the chain/gears fixed and to get the bike sized to fit me. Even though the bike is currently without chain and mad at me I do plan to get it fixed and use it a lot in the near future.

DNN World 2012 will probably be the most memorable DotNetNuke conference for me simply because of all the things that happened. That’s not to say that future conferences won’t be good too, it’s just saying that somehow the stars aligned for me. Whether it was winning an award, singing a country song to the crowd, or watching video of me being thrown out of Canada… I somehow ended up on stage too many times. That won’t happen again and I’m still not quite sure how it happened this time and am humbled by it all.

It’s always refreshing to meet and connect with so many other passionate people in the DotNetNuke community. The energy and buzz from the event definitely recharges your batteries and leaves one with a renewed desire to continue to work hard, learn, and grow. If you weren’t able to make the conference this year, I suggest planning on attending next year… you won’t be sorry that you did.

Thanks again to DNNCorp for putting on such a great event and thanks again to everyone who nominated, voted, and showed me love! I do appreciate it. 



CSS Sprites in Adobe Fireworks + Form & List ManDeeps LiveContent Module Mashup
CSS Sprites in Adobe Fireworks + Form & List ManDeeps LiveContent Module Mashup
On 8/16/2012 I presented on CSS Sprites in Adobe Fireworks, the Form and List and ManDeeps LiveContent module. I've posted the YouTube screencasts of the techniques I used below. Hope you enjoy them.

CSS Sprites in DotNetNuke using Adobe Fireworks

Form & List + ManDeeps Module Mashup

I had to create a portfolio and handle various formats so I tied the form and list module together with the LiveContent module from and used them to create the gallery. Technically I could have done this all with ManDeeps LiveContent module, but tying it in with the Form and List module makes it a little bit easier to maintain for content managers as well as gives me sorting, paging, and stronger control via CSS.


About a month ago a friend of mine named Jason Fararooei told me I should submit a session to the TEDxCharlotteEd event here in Charlotte. I had no idea what this event was about so I took a look at the site. TEDxCharlotteEd’s web site describes the event as “an event that highlights innovative partnerships that are strengthening our community and enriching the lives of students in the Charlotte area.” The web site had a “Call for Speakers” section where they asked speakers from the community to submit their ideas & topics for sessions at the event.
Jason had previously worked with me on a video where I spoke in a local high school to some computer programming and web design classes about Microsoft’s Open Source web platform DotNetNuke. He knew that I was passionate about both technology and education so he encouraged me to enter a submission to the event. 
Below is the video of me speaking to the high school class

I thought about Jason’s suggestion for a while and decided to submit a topic. I submitted a topic titled “Open Source + Education = Brighter Future”. Upon submitting my idea I viewed the source code for the site and noticed that TEDxCharlotteEd’s site was running on an open source web platform… perfectly ironic.
   TEDxCharlotteEd - Twitter announcement of speakers via tweetingTEDxCharlotteEd - Twitter Announcment of speakers via
  Following the link I guess this tweet means I didn't get picked
I’ve posted this blog because I wanted to share my idea even though I didn’t get selected to be a presenter… at least I don’t think I got selected. I got an email saying that my submission was received and being reviewed, but I did not get one saying that I had or had not been selected. Though, given a twitter update from the TEDxCharlotteEd Twitter account announcing the event speakers I didn’t see my name listed and figured it was ok to share the idea here on my blog. I already had the idea conceptualized in my mind so I'm just blogging it instead.
I should probably back up and say that I grew up with parents who were both educators and later administrators in school systems in South Carolina. Today I have several close friends who are teachers and administrators in schools in the greater Charlotte community and one friend who is a former principal who now mentors principals in Charlotte.  I also had a brief stint teaching at Weddington High School in 2005-2006. Growing up in an educational environment, having previously taught, still helping coach my old high school football team, and having friends who are active within the education system makes me familiar with some of the challenges faced in education.  I know that there isn’t a ton of money to throw around and there aren’t a lot of resources available for school districts to utilize. Teachers are held to high standards and are compensated with low wages. To make it worse, recent budget cuts have forced many great teachers out of the profession as well as made it difficult for students to use cutting edge technologies simply because the school systems can’t afford them along with the materials needed to teach. Our school systems need help in a lot of different of which is our community.
The Web, Open Source, & DotNetNuke
Along with growing up with an educational background I grew up with a passion for the web. I can remember first surfing the internet back in the 90’s on a 56k modem and loving it. The web was a catalyst to my imagination and it still keeps the gears in my mind turning. 
As I learned more and more about web design and development I quickly realized that the tools one uses to build web sites can quickly become expensive. To build anything of significance a web designer has to have the right tools (software & hardware) and a good deal of knowledge. This sometimes brought on road blocks for me. I never had a ton of money to throw at software and computers and I also didn’t have a wealth of knowledge. 
DotNetNuke LogoOne day I accidentally bumped into DotNetNuke while looking into some style sheets while on my job which was, at that time, Queens University of Charlotte.  I became interested in the technology and decided to further investigate the platform.  
A week or two later I had the “aha” moment where I realized that somewhere, somebody was putting out a whole content management system (CMS) for free on the net. In my mind these people (whoever they were) were crazy to put this stuff out there for free.  With little cash and little knowledge this was like a dream come true for me. I could leverage the power of this system without creating it! It was a moment that changed my life.  Now days every time I use the system I know that I’m essentially standing on the shoulders of knowledge of many different developers from around the world.
Since researching and learning more I’ve become really enthusiastic about open source technologies, particularly DotNetNuke. Let me describe DotNetNuke a little more… DotNetNuke is a platform that allows for rapid creation of web sites and web applications. It’s very flexible, scalable, easy to learn, and most importantly it’s free! If you don’t speak “tech” lingo then you should research what open source means. In short, open source means that anyone can download the source code for the application, edit it, modify it, contribute to it, use it, etc. 
DotNetNuke an agile platform   
DotNetNuke helps businesses be agile  
After getting involved with DotNetNuke and interacting with the global community behind the platform I realized that my initial reaction of “these people are crazy” was very wrong. Turns out, these people are brilliant. By being open sourced, DotNetNuke taps into creativity and innovation from a vast audience of web designers and developers in a unique way. Many high level developers enjoy freely giving their code contributions to the greater good of the platform because they know that through the contributions of the greater body will stem a greater platform. This model touches on some levels of Systems Theory. This level of synergy is tough to find in a typical for-profit organization where people work because they have to rather than because they want to. I know this statement doesn't apply to every single organization, but I would say it applies to the majority.
Developers from all around the world come together to create the greater DotNetNuke Community.  The community is part of an ecosystem that helps push the platform forward. The ecosystem consists of many entities such as user groups, hosting companies, the corporation that formed around DotNetNuke, vendors, consultants, designers, developers, and integrators.  The result of the ecosystem's synergy is an awesome Content Management System and web application framework.  There’s a reason why DotNetNuke is the #1 open source CMS for .NET technologies.  Did I mention we have a thriving DotNetNuke user group here in Charlotte?
Education + Open Source
Why is all of this important to the education system in the greater Charlotte area or in any school system open to change? Simply put, business is changing, technology is changing, and the way we interact with technology is changing the world. Everyone is reacting to the impetus of change and school systems should too! How will our students compete with the global workforce of competition that awaits them upon graduation? The resources for learning cutting edge technologies (such as DotNetNuke) are available and are at the finger tips of our students. The only thing standing between the students and these resources is the school systems reacting to the change that’s going on around them and adjusting course. It can be done and it isn’t expensive.
With the growth of the web and web technologies, Microsoft started offering “Express” versions of their software. These “Express” versions of their software are free.  What this means is that all the software needed to develop a DotNetNuke site locally is completely free!  By “locally” I mean on a computer sitting in a classroom in any school… no networking or school system servers needed for students to learn and create their own web sites.  
Most schools already have computer labs on which these softwares can run. Check out SQL Server Express, Visual Studio Express, WebMatrix, & DotNetNuke and see if you can’t get any or all of those up and running for free within a day.  All of this software and technology is sitting out there available to anyone with the motivation to use it. If school systems got motivated and embraced these open source technologies students would benefit in the long run and hopefully the technology sector in Charlotte (or any city) would too. Decisions that administrators make surrounding curriculum today could directly affect the economy of Charlotte tomorrow, if not sooner.
I mentioned that we have a thriving DotNetNuke User Group here in Charlotte.  We meet once a month at Microsoft Charlotte and our group would love to have any and all interested students join us once a month to learn more about the framework. We bring in guest speakers, have free food, and free prizes as well. As technologies change so does the platform so there is always more to learn and relationships to be built.  Surely students in our region can learn from people who use the technology on a daily basis.
Charlotte is also home to at least 3 DotNetNuke specific web firms (that I know of) and guess what…those web firms come to our user group to connect and sometimes they hire talent that shows up at our user group.  It’s happened before and it can happen again. If a student was motivated enough to learn DotNetNuke and got a good handle on it then I feel sure they could find somewhere to get plugged in, utilize their skills, and get some extra gas money… that is if they didn’t decide to create a web firm while they’re still in school.  If the student continued to learn and grow with the platform you never know what they might create in the future that could potentially change our city or the world in some way.
TEDxCharlotteEd sought “innovative partnership that could strengthen our community” and I feel that for education a partnership or simply embracing open source technologies could achieve this. Being fair I should mention that there are other open source technologies out there, but I know that there is a strong DotNetNuke presence in the Charlotte area that could assist and partner with the school systems in the movement.  
Many of the training resources and ancillary materials that are being cut out of budgets within education are free and available online, you just have to know where to look and be motivated about it.  Need training materials for your teacher’s lesson plans or for students who want to know more? There’s a whole free video library full of them in DotNetNuke’s online video library.  Have a question that you can’t answer? Just use the hashtag #DotNetNuke on Twitter or make a post in the DotNetNuke Forums or Community Exchange and you’ll find help sooner than later. From an educational perspective these resources are like "live tutors" offering real-time assistance. Need a professional web developer to speak on real life applications of DotNetNuke to your students? We’ve got a whole user group full of them who would love to present.  Want your students to learn from reputable developers from around the globe? Have them attend our user group as homework… if they can’t make it they can join the online stream. There are a great number of resources out there available for learning DotNetNuke in Charlotte and beyond. 
In sum, if the school systems in the Charlotte area, or any area for that matter, incorporated open source technologies such as DotNetNuke into their curriculum then software costs would most likely be lessened, students would benefit from utilizing cutting edge technologies, students would be better equipped for college or employment, and students and teachers alike could tap into a global community of innovation that’s all free of charge.  Embracing these technologies could greatly benefit the students and Charlotte in the long-run.  Why can’t Charlotte be a hot-bed for technology startups in the future? Take a look at Packard Place... it’s already starting a little. The decision to adjust course and embrace change could be the difference.
If you agree that Open Source + Education = A Brighter Future (and that this is an idea worth spreading) then give this page a tweet!

DotNetNuke Basic End-User HTML Editor Tutorials
At our last QCDUG user group meeting some of our members said they wished there were some basic content editing tutorials they could direct their users to for general help/guidelines with editing content in the DotNetNuke HTML editor. As far as I know there are not any ultra-basic tutorials focused on the HTML editor so I decided to cut a few videos in attempt to help fill this small, but sometimes repetitive need.  These tutorials are the ones that review tasks so simple that it almost seems pointless to create them. Nevertheless some end-user will eventually ask how to (INSERT SIMPLE TASK HERE) and it would be great to have a video link ready for them. Hopefully some of these tutorials can save you time from explaining the same principles over and over again to different content managers/editors.
I chose to cut these videos on a DNN 5x version because I figured that there may be a good percentage of sites who haven?t upgraded to DNN 6x yet (but you really should!).  Also since DNN 6 lets you configure the HTML editor some of the features I show may not be visible to your end users depending on how you configure your editors. 
I also realized that you may want to brand these tutorials as your own. For this reason I didn?t verbally publicize who I am in the videos nor did I affiliate myself with any organization or user group. What I couldn?t hide though, was the thick southern accent! If you?re not from the south then just tell anyone that may watch these videos that you?ve got a country boy doing your basic tutorials section. The videos are HD and I uploaded them to YouTube (all as "unlisted"), but in case you want to brand these videos as your own I?ve uploaded the raw video files that can be edited with a video editing software + I?ve uploaded the Camtasia project files in case you own Camtasia. The video files are .MP4 files that are embedded in the zip folder with the Camtasia files.
Be sure to watch these before distribution because I may do something in a way that you think is not correct and/or I may say something wrong! In the image video I used a free service to resize images and you may or may not want your clients doing that. So just a heads up.

The first batch of tutorials I cut were:
DotNetNuke CommunityIf there is a concept that I didn?t cover that you would like for me to?feel free to submit your ideas on the Contact Page. Will I do a tutorial for your customized need specific to your site?? no (or maybe for some dineros). Will I do a tutorial for a general editing task that could benefit the broader DotNetNuke community?? yes! 
I?ve created these tutorials as a small way to give back to the DNN Community and hopefully save someone out there some time. I encourage you to also find ways you can give back because after all, if you?re running a DNN site then you?re right here with the rest of us? standing on the shoulders of others! 


How Google+ Hangouts Can Transform Your User Group
How Google+ Hangouts Can Transform Your User Group

Queen City DotNetNuke User GroupThis past week we had another Queen City DotNetNuke User Group meeting. This meeting was unique in the fact that we had been promoting hard because DNNCorp flew one of their engineers out to speak to our group. Will Strohl arrived to Charlotte late last Wednesday evening. I gave Will a late night mini-tour of Charlotte and we talked as we rode around. Our meetings happen every 3rd Thursday so it wasn’t long before the next day came and it was meeting time. 

At some point either Wednesday night or Thursday during the day I told Will that I thought we should open the meeting up and try a Google+ Hangout to see if any DotNetNuke developers in other areas would like to jump on to watch the presentations. Will was open to it and so I made a point to bring my laptop. When we got to Microsoft (our group meets at Microsoft Charlotte) we began setting everything up. We weren’t really sure how the video or audio quality would be, but we wanted to give it a shot. I put my computer off to the side of the table (near an outlet) on the front row. I turned the Google+ Hangout on and posted a link to it on Twitter. Within minutes I had my first taker. Gifford Watkins, a DotNetNuke phenom from Nova Scotia, jumped on to see what the fuss was all about. Shortly thereafter we had one more, then another, then another and before long we had a crew on a Google+ Hangout at least 20 minutes before the meeting began.

Google+ HangoutOne of the first things I did was to give the guys a walk-around tour of the meeting. I got my laptop in my hands and showed them the room and the spread of food that we had at the meeting. I showed them the server rack near the door and randomly videoed people and talked with them as I walked around. It was kind of like a live virtual tour of the meeting. I did this to try to give the hangout attendees as much of a view of what was going on as possible.

The guys online were saying that they could hear me well and see the video clearly so it seemed like it was working out well. I told them we would do the best we could to make them feel like they were attending the meeting with us. To achieve that we also had one of our guys join the hangout. Will turned his laptop and joined the hangout and he interacted with the attendees via the chat window.  One issue we had to overcome was when someone at the meeting would ask a question from the back of the room. Obviously the guys online couldn’t hear the question so Will would type it out to them in the chat window. He also typed some lines of code that one of the presenters used in his slide deck to make sure the guys could clearly read it. During the Hangout one of the guys typed that being a part of the Hangout was better than being at the actual meeting because they got to see the presentation plus they didn’t get in trouble for “passing notes”. His statement referred to the fact that the hangout attendees could read and write message to each other in the chat window. Will also typed to the hangout attendees and asked them if they had any questions for the speaker and sometimes they did so we were able to ask the speaker questions from hangout attendees as well! Remote Q&A with the speaker. Cool stuff!

In this picture you can see our speaker, Will Strohl, interacting with members of the Google+ Hangout

Will Strohl interacting with Hangout attendees during the meeting

One note that is worth mentioning is that to make this happen the hangout attendees needed to turn their microphones down. I could see where some of the attendees were muting each other because they were getting feedback or their sound would steal the “stage” of the live speaker momentarily because that’s how Google+ Hangouts are configured. We just had to ensure that our speaker was the “live speaker” in the hangout and muting the microphones did this.

I will add one unique note as well. We had one DNN guy who wanted to attend the meeting. Robb Bryn was attending a meeting in the afternoon and was heading to Charlotte after his meeting. His meeting went over by a couple of hours so he was unable to make it. Though, when he found out about us opening it up to a Google+ Hangout he was able to join the hangout from his phone while driving down the road. I could literally see him in his truck riding down the road with trees passing him in the background of his driver’s side window. Eventually Robb finally pulled over on the side of the road and watched the whole meeting from his vehicle. Now that is some dedication and also some awesomeness that he was able to achieve via his Google+ app on his phone.

Richard English raising his DotNetNuke mug as he enjoys attending the meeting from afar

Richard English raising his DotNetNuke mug as he enjoys attending the meeting from afar

By the time the meeting ended we had 12 people total on the Hangout from Egypt, the Netherlands, Ohio, Cali, Pennsylvania, South Carolina, Florida, North Carolina, Nova Scotia, and a few more states up north. They weren’t all on at the same time and some came and went, but nevertheless it was very neat to open the meeting up and reach out to even more people via the Hangout. At the end of the meeting the guys on the hangout were all commenting on how everything went well and they said they really enjoyed it. Some remarked that they felt like they were there and that the video and audio was very clear. They could even read the text that was presented on the screen. We asked them if they thought joining the hangout added value or was beneficial for them and they all overwhelmingly remarked saying yes! They also requested that we do it more at future meetings.

The post meeting hangout summary on Google+

Ultimately the decision to open the meeting up added a new dimension to the meeting. During the meeting we had a lot of energy in the room as well as online in the hangout. There were 2 different conversations going on at the same time and it was really cool to be a part of the live & virtual meeting at the same time. I think we’re definitely going to try to do more of these in the future and I would encourage any other user groups to give it a shot so that members in your community who aren’t in the local area can also attend and contribute.

Google+ Hangouts just changed our user group meetings for the good! And with that said…be sure to tune in to our next meeting!



Clint Patterson

DNN Platform Hosted by