Clint Patterson's Blog


Read the thoughts and musings of a cultured redneck here

Clint Patterson
Clint Patterson
Clint Patterson's Blog

Using TypeKit in DotNetNuke
Specify Alternate Text
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.



Central Eagle Baseball Alumni Association
Specify Alternate Text

Recently Punkie Haigler contacted me about the Central Eagle Baseball Alumni Association. He showed me the article he ran in the Pageland Progressive that is posted below:

For nearly two decades now, Coach Mitch Leaird and his staff have carried on the winning tradition of Central High Baseball. This proud program that was started by Coach Joey Mangum in 1977, has won its share of Region Championships, District Championships, and given many players the opportunity to play at the next level.

During these tough economic times, Coach Leaird has had to operate on a limited budget. As former players, we can help make sure our beloved program has the resources it needs to continue the winning tradition. We are asking you to join the Eagle Baseball Alumni Association for a yearly donation of $20. The money raised through this club will be used exclusively for the baseball program.

On Friday, April 12th, at 6:00 pm, we will celebrate Alumni Night at the home baseball game against Indian Land. We hope all former players will join us on this night to present Coach Leaird with our fundraising check and enjoy a night of great baseball and seeing old teammates and friends. Players who have joined the Alumni Association will be admitted free.

Please help us help our baseball program. Join Today!

Punkie Haigler
[email protected]

My first questions to Punkie was, can we give online, and then it dawned on me that there was another reason Punkie was contacting me. So after a few weeks of working out some technical items here online we’ve finally made it possible for anyone to give online to the Eagle Baseball Alumni Association. You can click the button here in the blog to donate. Though, as I post more blogs over time this blog will pushed lower on the page and therefore I’m going to leave the button on the home page of my site as well so that it’s easily findable.

Although the yearly donation is slated at $20 if you feel compelled to give more I’m sure Mitch, Marty, and the other coaches and players would greatly appreciate it. If you have any comments, suggestions, or want more info, please contact Punkie at the contact info he mentioned above.

Also, I wish I could make the Alumni Association game, but we're hosting a large web conference in Charlotte that weekend. So ya'll have a good one and I hope to be there next year.



Custom styles in the DotNetNuke Telerik Rad Editor
Specify Alternate Text

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!
Specify Alternate Text

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
Specify Alternate Text

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
Specify Alternate Text
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.

Specify Alternate Text

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!

Webneck: The Fragmented Identity
Specify Alternate Text

As a web developer and a hunter I find myself taking on two contrasting identities and, often times, bouncing back and forth between the two.  When I?m with my co-workers I?m the ?web guy? with a country accent and when I?m with my hunting buddies I?m ?the guy who spends too much time up in city working on computers?(which is not really workin)?!  You may be just like me, the guy who makes the commute to work in the city and returns back south chasing deer, turkeys, and anything that will bite a hook on the weekends.  If you are, then you'll be able to empathize with my sentiments that follow.  Accordingly, no matter on which end I find myself, I end up receiving a hard time from both my fellow hunters and co-workers.  Though, I?ve come to appreciate both sides (and the hard time that they give me). 

To help me illustrate what I?m describing a little, let me tell you a story about one of my friends from the city.  I frequently find myself talking people from Charlotte into coming down to Pageland and ?letting their hair down?.  (My dad says I ought to work on the Pageland Chamber of Commerce).  I have a friend who is a New Yorker that now lives in Charlotte and I talked him into coming down to the country for a day.  I took him fishing and we spent a few hours on the pond and really didn?t catch much.  Towards the end of the trip I asked him what he thought about fishing.  His response kind of caught me off guard.  I expected him to be critical of my guiding abilities and to talk smack to me.  Instead he replied saying that he really enjoyed fishing.  I thought he was being sarcastic and I asked him why and he responded ?Do you hear the birds? and I said ?yes?.  Then he noted to me that he never hears the birds where he lives in the city.  He went on saying how he didn?t know of any pond that he could go fishing in that was close to Charlotte.  He commented on how he really enjoyed the peacefulness of just floating on a pond simply because it wasn?t something he gets to do often and that it was relaxing to him. 

Earlier that same day I had taken him out to a shooting range and it was his first time shooting a rifle, shotgun, and pistol.  He actually hit the bull?s-eye on his first shot with the rifle, but it did bloody up his brow a little.  He was even able to hit some skeet as well.  He did go home with a nasty bruise on his shoulder too.  Thinking he would talk junk to me about his shooting experience, I asked him how he felt about shooting and he responded that he really enjoyed it as well.  He spoke of shooting the rifle and the immense moment of silence right before he pulled the trigger.  He talked about the power and intensity that is packed into those few seconds of silence and yet how he didn?t even hear the gun go off.  Yes, he learned and had a new appreciation.  He thanked me for bringing him to shoot and for allowing him to get a new perspective on guns.  He even took the target with the hole in the bulls-eye back to his house to show off! 

From my friends responses it appeared that the moments he experienced "out of his element" were invaluable to him and helped him gain perspective.  I believe this is the case because lessons learned when you find yourself seemingly out of your element and somewhat vulnerable offer the most room to grow.  The things that hunters find commonplace were new learning experiences and good memories for my friend.  He was open to coming down and, as any country boy would do, we tried to get him ?countrified? as much as possible... and it was fine by him.  His normal identity is that of a city boy (who at first holds a gun on his shoulder as if it were a surface to air missile launcher).  By coming down and living the life of a country boy for a day, he learned and benefitted from real-world experiences that derived knowledge that you can?t get from a book.

My friend found himself in the middle of a day that was outside of his normal environment.  As I thought about his experience and how he was so grateful and appreciative, I reflected on my own life and realized that my ?normal? is being caught in between these two environments.  Going back and forth between the identities is my "normal" and I?ve learned to appreciate it.  I like to, how do they say, ?get in where I fit in? and that?s about all anyone can do.  Though, to ?fit-in? in the contrasting environments takes a little vulnerability and openness with the end goal being to learn about the other side and yes, to learn about one?s self.

Not surprisingly, one?s identity is directly linked to what they do and the activities in which they are engaged.  I'm engaged in more than one activity which leaves me actualizing multiple identitities. Though, it is only from the perspective of the fragmented identity (i.e. living the experiences of both worlds) that I am able to draw a true appreciation and understanding for both sides.   Because I?m not always in the city, I appreciate certain aspects of a city life such as being able to go somewhere where nobody knows me, or the ability to get to almost any type of store relatively quickly, or being able to work with an organization that has a large scale web site who can offer me employment.  On the flip side, because I?m not always in the country, I appreciate going to a restaurant and knowing the locals, or the winding country roads that are free of major traffic jams, being able to get out in the woods and work with my hands...and, as my friend said, to hear nature around me.  The fragmented identity sharply brings into focus the advantages and disadvantages of both sides, allows me to see if and when the two converge, and in doing so brings on diversity and broader horizons.   Had I never spent a good deal of time in the city, I wouldn't appreciate the country...and vice versa. 

It's not too bad being a ?webneck?.




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
Specify Alternate Text

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

I also blog on other sites...

And contribute to OSS Documentation...

See my pics on UnSplash