About Us

Why DotNetNukeBlogs.com? Our goal is to be the premier aggregator of DotNetNuke related materials. DotNetNukeBlogs.com was started by DotNetNuke Core Team member employee community member Chris Hammond with the intention to provide a place for the leaders in the DotNetNuke Community to push their content to those needing it most, the users.

If you're a DotNetNuke Expert be sure to get your feed added into our aggregate system. You can read more about us here

DotNetNuke Hosting

Hosting for this website is provided by AppliedI.Net. Be sure to visit them for all your DotNetNuke Hosting needs. 

Latest Community DotNetNuke Blog Posts

The Mighty Blog
Sunday, May 24, 2015 6:36:48 PM

WillStrohl.com on a mobile device

It’s been several years since I last updated the skin on my site.  Thanks to Ralph Williams, the site is looking really good again and it’s responsive.  If you need a new design for your site, I highly recommend him.  However, the process to get to this blog post was quite tumultuous – chock full of hours troubleshooting and continuous frustration spread over the past week.  Simply put, my site “appeared” to be loading okay whenever I came to it, but I rarely browsed my own site.  The process of rolling out my new design had revealed to me that this couldn’t be further from the truth. 

Before I go any further, everything I am about to tell you about how I got the site back to being “normal,” you should know that this could all have been easily avoided.  Rule #1 of running your own site end-to-end is this – NEVER neglect your site or server duties.  This was my downfall.  I had neglected my duties for a few years now. 

What’s Old is New Again

Everything I went through were things that I used to do on a daily basis.  I was one of those people that wore every hat possible and I did it well.  However, it’s been several years since I wore all of the hats, so this took much longer than it should have.  Despite the frustration and lost time, it was quite fun to learn about some of the new tools and methods used to fix these kinds of issues.

The Symptoms

Event Viewer: Nothing but ASP.NET errors and warningsEvery page load on my primary site (WillStrohl.com) seemed to be slower than desired.  Then, about every 3rd or 4th page load, it would take an excessively long time.  We’re talking up to 60 seconds or so.  There are several other sites on my server as well, but their page loads only appeared to be affected when my primary site was having one of those excessively long page loads.

I had my task manager up during most of the troubleshooting and noticed that when there was an excessively long page load, both the memory and CPU levels would spike and stay pegged.  My server has a decent amount of resources, so this was troubling.

Troubleshooting Begins

The obvious thing to do was to look at the Event Log in DNN (since that’s what my site runs), and in the event log in Windows.  No matter what site software/CMS you run, the Windows event log will generally have information that your web-based event log won’t have.

The DNN event log had a number of module and page load exceptions showing, but nothing that made me think that my site was running slowly due to the software.  Exceptions happen and the frequency simply wasn’t there.  The Windows event log was another story altogether – there were nothing but exceptions showing.  The most common ones were related to the w3wp.exe process failing. 

I happened to be chatting with a friend that owns arguably one of the best Windows web hosting companies out there, Applied Innovations (shameless plug for my generous web host), and he turned me on to LeanSentry.  I had conveyed the same information that you now know, and he mentioned how their services allow you to get better insights into the seemingly generic errors that are found in the servers event log.  Their UI leaves much to be desired, but it is indeed a great way to get to know what’s happening at a glance.  What I was dealing with originally is below.

Server performance before any fixes applied

If that image looks crazy to you, you’re right.  The very active parts on either end are when I was actively troubleshooting the site and server.  The middle part is where I had dinner and slept.  The consistent thing you’ll notice are the orange and red lines.  These are lines tracking worker process crashes and application restarts.  As you can see, even with little to no traffic, the server and my site were not having a good time.  Something was majorly wrong.

Keeping It Simple: Cleanup First

Like I said, there are a number of sites on this server – mostly for my pet projects, friends, and family.  They’re pretty much all running DNN too, so first thing first – upgrade them all to the most current version and get rid of any that don’t need to be around any longer.  I had a number of sites that had been shut down over the years, but still were loaded on the server in various ways.  First, I deleted all of the unnecessary sites and their references.  Then, I upgraded the few that were left and disabled 51 Degrees on all of them. 

With my primary site, upgrading wasn’t as simple.  The others were quite clean, but I’ve done a lot on my site over the years – that, and combine my new site getting rid of some of the previous features, there was a lot more work to do.  I had to upgrade a few modules and uninstall some others.  In fact, I also found that one of the modules had a repeating error that couldn’t be fixed, so I had to find a replacement for it and uninstall it as well.

As a result of this cleanup, all of my page load times had decreased dramatically, but it didn’t fix the real issue.  The crashes and exceptions in the Windows event log were still occurring. 

Security Updates

The reasoning behind upgrades is primarily two-fold: performance improvements in more recent versions of DNN, and the related security updates.  This is because a couple of the sites were surprisingly still running DNN 5.x!  Following the site upgrades and module upgrades, I installed and ran the new Security Analyzer module by Cathal Connoly.  It did indeed note a few issues on a few of my sites.  No performance was gained here, but I definitely felt a little peace of mind.  This was especially true of my primary site, since it had a very deeply rooted PHP file in one of the HTML editor providers.

Windows Updates

Many of you are thinking, “Duh, Will.”  The reality is that it’s far too easy to forget to run Windows Update on your server – especially when you login from time to time and see notifications that Windows updates had been applied since your login on  your behalf.  However, I still had 1 critical update to apply and 6 other optional updates.  In total, 3 of them appeared to be related to performance improvements.  This proved to be true.  There was a noticeable improvement in page loads and even a noticeable improvement in the frequency of crashes in the event log, but this was not the fix.

Disable FCNMode

During another IM conversation with some friends, Clint Patterson reminded me of a performance blog by Shaun Walker where the FCNMode setting resolved performance issues on DNNSoftware.com.  While my site doesn’t have anywhere near the same user base and traffic, I figured it wouldn’t hurt anything to switch it.  Sure enough, there was again a noticeable performance impact.  My application restart times were at least were cut by half – but still, the other issues remained. 

Debugging the Crashes

I was getting nowhere pretty fast with the previous attempts at narrowing down causes, so I decided to debug this further by using Debug Diagnostic Tool (Debug Diag).  There’s a blog post by Tess Fernandez that walks you through debugging ASP.NET crashes incredibly well.  This step didn’t help me fix anything, but it did help me to narrow my search for causes down to one of two exceptions that were occurring.  A little tip here… You’re going to be generating dump files if you do this – don’t forget to save your dump files to a drive with plenty of available space.

Getting to the Bottom of it All

The issue that was appearing the most in my application monitoring and event log was the fact that w3wp.exe (the process that runs the websites) was crashing quite often.  There were a few other common exceptions.  One appeared to be related to Windows complaining about a culture missing.  This turned out to not be the real issue, but something that happens a lot and is often expected.  So, I cleared the temporary ASP.NET files and continued looking into the other common exception. 

The other exception was one that kept complaining about the Lucene.Net.dll file not being found. 

Unable to find assembly 'Lucene.Net, Version=3.0.3.0, Culture=neutral, PublicKeyToken=85089178b9ac3181'.

Unfortunately, not only was the file present everywhere that it should be, but it was the correct version as well.  It just didn’t make sense to me at all.  I poured over search after search to try and figure out why this might happen.  I even tried explicitly wiring up the DLL and version in the web.config of my site.  Nothing seemed to prevent the worker process crashes. 

Now here’s what was interesting about this to me.  I performed several searches related to this error – some specific to DNN and some much more general.  Regardless, I kept seeing results appear with Umbraco mentioned.  Originally, I kept ignoring those results in favor of others.  At the end though, I got desperate, so I began reading those ones as well.  As it turned out, many Umbraco implementations were having the exact same issue and the fix was astoundingly simple…  Delete the search index files from the App_Data folder.  In DNN, this folder would be as follows:

\App_Data\Search

I deleted all of the files files in that folder and recycled the application pools.  (Don’t worry, the files will be re-created.) 

I immediately saw a performance increase like none before it.  Every page was loading snappy quick.  The occasional long page loads were gone.  The worker process crashes appeared to be no more as well.  I sat there… I clicked on my site aimlessly for about 15 minutes before I finally rejoiced!  No crashes and no noticeable changes were coming back.  The site was back to normal! 

This fix was something so simple… and it had been so difficult to track down.  The end results are shown below.  Note the dramatic dip near the center when the search files were deleted.  All sites on my server have run smoothly since.

Server performance after all fixes applied

At the end of the day, all of these tools and methods helped to get all of my sites back to a state of being highly responsive in both ways that a site owner would care about.  I highly recommend them all.  Especially LeanSentry, but it’s expensive for a non-business site owner like me.  If you ever hear of them having some kind of freemium edition, don’t forget to let me know. 

DNN Connect
Sunday, May 10, 2015 6:00:00 AM

Working with large and complex regular expressions is very difficult. But now I discovered a method which makes everything easier - so this is Lessons Learned #1 from the development of 2sxc 7.

DNN Connect
Saturday, May 09, 2015 6:00:00 AM

This is a part of my series The New Features of 2sxc 7 and introduces you to using the Visual Query together with WebAPI. 

There are many ways to consume Query data - the most powerful way to give use it in JavaScript is to deliver it as JSON - which can be done easily in WebAPI.

 

DNN Connect
Friday, May 08, 2015 6:00:00 AM

Tis is a part of my series The New Features of 2sxc 7 and introduces you to using the Visual Query together with Razor Views/Templates. There are many ways to consume Query data - the most powerful version on the server is to use Razor.

DNN Connect
Thursday, May 07, 2015 6:00:00 AM
This is a part of my series The New Features of 2sxc 7 and introduces you to the Token-Repeat enhancements and how to use them together with the Visual Query

There are many common ways to consume Query data - the simplest one is to use tokens. 

DNN Connect
Wednesday, May 06, 2015 7:29:16 AM
This is a part of my series The New Features of 2sxc 7 and introduces you to the Visual Query Designer
DNN Connect
Tuesday, May 05, 2015 6:00:00 AM
When people start using 2sxc, they say things like (real quote from store): "***** This is the best module ever. You can create absolutely anything you might need. This Module should be a default on DNN, I don't understand how it isn't. I actually don't see the reason of DNN without a module like 2sxc. " And now it's much better - and still free and open source - here are the 20 most important new features we introduced:  
DNN Connect
Monday, May 04, 2015 6:16:57 AM
It's international Star-Wars day - and we're really excited to announce the stable release of 2sxc 7! It has been our core focus for the last three months and we've developed and improved more than 50 important features. 
DNN Connect
Monday, May 04, 2015 4:30:00 AM

There is some confusion about the poster sessions we will have at DNN Connect 2015. I’ll try to elaborate on what we had in mind for this part of the conference. The idea was borne out of the fact that we wanted to cut back on the “product presentation” sessions we normally have in the conference. Many of you have great projects you are working on and traditionally our conference has been a vehicle to present those projects to your peers. But this year there is a lot to talk about regarding the technological changes at Microsoft and around DNN. So we’re going to experiment with a different format.

DNN Connect
Sunday, May 03, 2015 12:08:13 PM

We are thrilled to announce the program for DNN Connect 2015. This year we have taken a more active approach to content and have attempted to drive it with focus on two main themes: DNN 8 and neXt/asp.net vNext and mobile. There is a lot of noise around the changes that are happening at asp.net and DNN. Basically asp.net is being rewritten from the ground up and we can expect that some features that DNN uses will no longer be available to us. In part these changes are informed by “the mobile era” that we can ill afford to ignore. To make sense of all this we are very excited that Microsoft have agreed to send a speaker from their own asp.net team and we will welcome Eilon Lipton in our midst for this event. Together with DNN’s chief architect Charles Nurse you will have access to the very people that are shaping these changes.

ChrisHammond.com
Monday, April 20, 2015 12:28:20 AM
A few months ago I released V4 of my DNN Development templates, which included a new project template for Themes (skins). This weekend I was working on a new theme (skin) for a customer project and came across a few changes I needed/wanted to make to the Theme project template, so you get to benefit from those changes as I have put a new release out of the project templates.
DNN Connect
Friday, April 10, 2015 6:10:00 PM

We’ve been doing the DNN Hangout for almost a year now.  The primary focus for each hangout is to help the community know what’s going on in the community and the overall ecosystem.  This hangout seems to have captured that focus far better than any prior.  We invited the founding members of the DNN-Connect Association: Peter Donker, Philipp Becker, and Vicenç Masanas.  In this hangout, we learn more about the founders, what DNN-Connect is, and about the very near DNN-Connect 2015 event.

The Mighty Blog
Friday, April 10, 2015 3:02:31 PM

DNN-Connect: Peter Donker, Philipp Becker, Vicenc Masanas

We’ve been doing the DNN Hangout for almost a year now.  The primary focus for each hangout is to help the community know what’s going on in the community and the overall ecosystem.  This hangout seems to have captured that focus far better than any prior.  We invited the founding members of the DNN-Connect Association: Peter Donker, Philipp Becker, and Vicenç Masanas.  In this hangout, we learn more about the founders, what DNN-Connect is, and about the very near DNN-Connect 2015 event.

Want to Be on the Show?

We are always looking for new people to be features on the show.  Please let me know in the comments of via email if you’d like to be on the DNN Hangout.

Next Episode

Next month we will be speaking with Mandeep Singh from Mandeeps.  He’s going to walk us through the most recent release of the Live Forms module. 

Site of the Month

We had a site of the month to feature this month, but I decided to postpone this segment to the next episode so that we had more time to speak with our 3 guests during this hangout.

If you would like for your site to be featured in an upcoming hangout, please let me know.

DNN Hangout with DNN-Connect

Show Notes

Interesting Blogs

Ecosystem Releases

DNN Connect
Saturday, April 04, 2015 9:11:04 AM

Retina and high-res displays are a challenge when you want to do them correctly - but we discovered a very simple solution to this about 2 years ago, which I would like to share. Let's make our DNN sites amazing!

DNN Connect
Thursday, April 02, 2015 4:13:00 AM

Over the past few days I’ve put together a module that implements yet another showcase. “Showcase”, here is similar to what the “Forge” does on the official DNN site. Why would I do this? Good question. What provoked it initially, was the upcoming DNN Connect 2015 conference and my desire to allow people to “showcase” their work/ideas. What I had in mind was what we dubbed “poster sessions”. Basically the ability to put up a poster on a wall in a predetermined format. Now we could just say: OK people, “you can bring an A2 poster to the event and we’ll put it up” but then we’re going to get all kinds of formats (some have more time and creativity in this respect than others). So to level the playing field I was thinking: what if we had a database that could flow into a PDF template?

DNN Connect
Sunday, March 22, 2015 6:15:43 AM

This analogy jumped into my mind the other day. As a (DNN module) developer I feel somewhat like a cook. A cook, taking various ingredients and combining them into something hopefully very tasty. A cook, because we use other people’s work to create our own unique work. It is not just using .net and DNN as a platform that I’m talking about. Here I was thinking about the myriad of libraries and programming paradigms that I’ve used over the years.

The Mighty Blog
Friday, March 20, 2015 12:12:45 AM

Central California .Net User Group Meeting 20150319

I’ve always been passionate about helping people learn more about DNN and use it in new and creative ways.  I noticed that Sean Gahan was giving a presentation at the Central California .Net User Group in Fresno, CA.  (They told me this area is also called Clovis.)  I immediately contacted the, because I was hoping that they might be streaming the user group meeting.  Unfortunately, this wasn’t the case, but they invited me to speak. 

Sean of course presented on DNN development, and they asked me to take this into a deeper level.  I began by giving an introduction of DNN and it’s architecture.  Then we walked through using the Christoc module development template.  The demo was finished off by walking through the example solution I have that demonstrates what the environment might look like for team and enterprise development.  We capped things off by discussing some best practices.  Something I kept trying to highlight was how much code that they don’t have to write anymore.

The meeting was held at a place called Bitwise Mural District.  The name and the look from the outside was deceiving.  I had no idea what to expect, but it ended up being one of the coolest co-working spaces I’ve been to.  It was like walking into a well-funded San Francisco start up office.  I’ve been to tons of code camps and user group meetings across the country, and this was one of the coolest venues for a user group meeting.

If you’re in the “Clovis” area, I highly recommend this group.  The format is very laid back, and highly informative.  It doesn’t hurt that the folks in this group are all fun, smart, and incredibly interested in soaking up and sharing information.  Oh, and my favorite attendee was Dilbert!  (See the photo above.)

 

You can also download the PDF of the presentation.

DNN Connect
Wednesday, March 11, 2015 7:40:00 PM

This month, we talk to our first Microsoft employee, Jared Shockley.  Interestingly enough, he wasn’t technically a Microsoft employee when we originally scheduled him to appear as a guest speaker.  We spoke to Jared about how he found DNN, what it was and is like to work for Microsoft (since this is his second time with the company), and we dive into some of the first things you need to know before starting with Microsoft Azure. 

The Mighty Blog
Wednesday, March 11, 2015 4:29:28 PM

DNN Hangout March 2015: Jared Shockley

This month, we talk to our first Microsoft employee, Jared Shockley.  Interestingly enough, he wasn’t technically a Microsoft employee when we originally scheduled him to appear as a guest speaker.  We spoke to Jared about how he found DNN, what it was and is like to work for Microsoft (since this is his second time with the company), and we dive into some of the first things you need to know before starting with Microsoft Azure. 

Want to Be on the Show?

We are always looking for new people to be features on the show.  Please let me know in the comments of via email if you’d like to be on the DNN Hangout.

Next Episode

We don’t have next month’s speaker scheduled yet.  Please let us know if you want to be part of the show. 

Site of the Month

Northspan websiteEarlier this year we spoke with Aaron and Dylan Lopez from Innosoftware.  They submitted a site of the month submission immediately following that broadcast and I couldn’t wait to show it.  It looks great!

Northspan is a contract drilling company focused on exploration drilling, based in Kelowna, Canada.  Their site follows a lot of the “best practices” that Aaron discussed with us in the January hangout.  They have implemented a beautiful video as the background of the header area and implemented quite a few third party extensions.  Those extensions include DNN Sharp URL Adapter, DNN Sharp Action Form, 40 Fingers Style Helper Object, and plenty of 2 Sexy Content

If you would like to submit one of your sites to be featured in a future hangout, please let me know.

DNN Hangout with Jared Shockley

Show Notes

Events

News

Extensions Mentioned

Additional Resources

DNN Connect
Friday, March 06, 2015 2:02:18 AM

DNN 7.5 is looking for a new theme that gives the first time DNN user a Wow! factor. Are you willing to show your talent and supply that fully open source fresh look for DNN 7.5?

Read on!

RSS URL

Resources

DotNetNuke.com The DNN mothership.

Built by

This site is built and managed by Christoc.com Software Solutions, a leading .NET open source consulting company.