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!
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:
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:
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.
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.
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.
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.
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.
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.
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.
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.
Then in my HTML Module I simply referenced the CSS classes that I specified earlier in the Typekit selectors area.
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.
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.
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.
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 ;-)
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.
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 ManDeeps.com 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.
This 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.
One 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
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
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.
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!