Articles from Tutorials

How I Get My DotNetNuke Sites To Run So Fast 

One of the most common questions that I get via the forums on this site, or via e-mail is "How do you get your sites to run so fast".  Although not perfect, my sites typically run a bit faster than your average DotNetNuke sites.  Previously I have kept the exact specifics of my changes to myself, however, with a litle encouragement from the community I have decided to share the full context of the changes that I make to a default DotNetNuke installation to get better baseline performance, as well as extra items that I do to help when I really need that "boost".

Read more...

Posted by Mitchel on Monday, January 05, 2009

Upgrade to DotNetNuke 5.0.0 From 4.6.2 or Later 

With the upcoming release of the final DotNetNuke 5.0.0 release it is time to get the most current upgrade guide out there.  Upgrading to DotNetNuke 5.0.0 from 4.6.2 or later will be a very simple process thanks to the streamlined upgrade features added in 4.6.2 and later versions of DotNetNuke.  The following instructions provides the steps needed to upgrade to DotNetNuke 5.0.0 frm 4.6.2 or later.

Read more...

Posted by Mitchel on Monday, December 22, 2008

Installing DotNetNuke 5.0.0 On Remote Host 

This is my sixth revision of a DotNetNuke remote hosting provider installation tutorial.  This tutorial will provide you the basic overview of how to perform a clean installation of DotNetNuke 5.0.0 on a remote web hosting provider.  Please note at the time of release only the Release Candidate version of DotNetNuke is available, this version is NOT recommended for production usage.  Please be sure to use the proper version for your intended usage.  This guide will work for both the RC and the final DNN 5.0.0 version.  In the article I will try to point out the most common differences between different hosting providers, I will also be providing specific examples regarding the use of the Plesk control panel which is what my preferred hosting provider (3Essentials) uses.  All steps within this tutorial are promised to work with 3Essentials hosting, others are most likely possible, but have not been fully confirmed with the provider.  Additionally this guide is geared towards a manual instlalation at the root of the site, which is not supported by all hosting providers.

Read more...

Posted by Mitchel on Monday, December 22, 2008

Installing DotNetNuke 5.0.0 Locally 

With the first full release of DotNetNuke 5.0 most likely coming sometime in the very near future I thought it was about time for an update to my standard DotNetNuke installation guides.  This installation guide is geared towards local installation on a Windows XP or Windows Server 2000-2004 server.  Installation on Vista or Server 2008 is slighly different when it comes to the IIS portion of the installation.  This guide is the ninth total revision of my installation tutorials and contains many new updates and recommendations to prevent users from experiencing difficulties when installing.  This tutorial still uses the "Automatic" installation process, this is done to help encourage the creation of a more secured DotNetNuke installation by disabling AutoUpgrade and other features that are not yet configurable via the Installation Wizard.  If enough demand is shown, I can create a tutorial for the installation wizard as well.

Read more...

Posted by Mitchel on Monday, December 22, 2008

Creating a DotNetNuke User Account From Code 

Just recently an issue was brought to my attention that my External Database Provider module when creating users was making it so that notification e-mails could not be sent when assigning roles. So I started looking into the code, and how I was creating a user. The user creation code was something that I have been using for a long time, some code that was first found on a blog or forum post about 2-3 years ago. Not noticing anything wrong with the code, at least from an obvious point of view I started to look into the database to see if there were any differences at the database level. Looking into the users' information I noticed that they were missing their user profile, and then I found out that a few key elements still needed to be set to "fully" create the user. This posting shows you the "Full Code" to insert a user into a DotNetNuke portal from a C# Codebehind, translation into VB should be very simple.

Read more...

Posted by Mitchel on Monday, December 22, 2008

DotNetNuke 4.9.0 Authentication Provider Install Error 

Recently working with a client of mine we discovered a bug in DotNetNuke 4.9.0 that has been reported to the DotNetNuke corporation, but will not be resoled until another relese is completed.  This bug affects the installation of ANY Authentication provider and is only an issue on DotNetNuke 4.9.0 installations.  The bug will manifest itself as a JavaScript error when trying to install the provider.

The fix is quite simple, while still logged in as host navigate to "Host" -> "Host Settings".  From here expand the "Other Settings" section and uncheck the box for "Enable AJAX".  Click "Update Settings" to apply the changes, then click "Restart Application" to ensure that the change has been made.

Now you can install your authentication provider.  Once the installation is complete, simply re-enable Ajax and everything is back to normal!  I hope this helps those of you looking to install authentication providers on 4.9.0.

Posted by Mitchel on Thursday, November 06, 2008

SQL Server RANK, ROW_NUMBER, and Partition 

Finally getting the opportunity to get back to SQL Server 2005 development, and coming to the conclusion that NOT all of my projects have to support SQL Server 2000 I started looking all of those "fun" new items that we all really wanted. This article is going to go through a scenario that demonstrates how to use Common Table Expressions, Rank() and Partition to get results for a very common data scenario. We will present this information with an introduction to the problem, scripts to setup the problem in a test environment, and lastly the implementation, with a review/summary at the end.

Read more...

Posted by Mitchel on Saturday, November 01, 2008

Limit SQL Server Database List 

Recently when working with a client I was asked how in a SQL Server database environment with multiple databases how we can prevent users from seeing all other databases on the server. Permissions are configured to restrict who can actually query the database, but in the end, individuals still can see the names of the other databases on the server, getting potentially an idea of who else you are hosting, or information that you just don't want to share. I have found many blog articles that talk about how to get around this, but all of them were a bit choppy, so I thought I would take a moment to walk through a demo of the process. This article walks through the entire scenario.

Read more...

Posted by Mitchel on Wednesday, October 15, 2008

DNN SEO Case Study Part 1 

From Mitchel: I'm happy to announce that Tom Kraak of Seablick Consulting will lend his expertise in the area of DNN Search Engine Optimization (SEO) and DNN Ecommerce as a guest blogger on MitchelSellers.com. You may already know Tom from his own blog or have seen him lurking around the DNN forums, DNN conferences and community events … welcome Tom!


Mitchel recently relaunched his company website and while certainly functional and visually pleasing, there is room for improvement on the search engine optimization front. So let’s help out a good friend and business partner by applying my DNN SEO Quickstart Guide to IowaComputerGurus.com (ICG.)

Title and Description Meta Tags

First, let’s change the home page title from "Welcome to IowaComputerGurus Inc." to "DotNetNuke Modules & Custom .NET Development | IowaComputerGurus." The title now contains important keywords and at the same time much better reflects the company and its mission. While branding is important, I do prefer to put keywords first and the brand name last especially for product and service oriented small businesses.

While it can be challenging to stick to the recommended limit of 65 characters including spaces for page titles, we do have slightly more freedom when it comes to the meta description (about 100 characters more to be exact.) With that in mind, let’s rewrite "Welcome to IowaComputerGurus Inc. a Des Moines Iowa based software consulting firm. Specializing in .NET and DotNetNuke solutions" to something more enticing such as "As a Microsoft Certified Partner, IowaComputerGurus provides information technology consulting services with a focus on .NET and DotNetNuke software development." Remember, as opposed to the page title, the meta description carries almost no weight as a ranking factor and therefore acts more like a pay-per-click ad with the main purpose of attracting clicks in search engine result pages (SERPs) by accurately describing the page content.

Here is one more suggestion of a meta title and description combination, this time for the Custom Module Development page:

Custom DotNetNuke (DNN) Module Development | IowaComputerGurus

IGC specializes in the development of custom DotNetNuke modules by following DNN programming best practices and a proven approach to software development.

Link Building

Yahoo! Site Explorer reports about 9,000 off-domain, incoming links to the ICG home page, which in part contributes to the healthy 5 Google toolbar PageRank. However, the majority of these incoming links are from Mitchel’s own blog as well as the dotnetnuke.com forums, where Mitchel is one of the most active participants. So I recommend diversifying by seeking links from relevant business partners, affiliates and organizations (such as the Microsoft Partner program, the local chamber of comments, etc) and reputable directories. Furthermore, it’s important to pay attention to the anchor text of any links to be acquired going forward. I do realize that this is not always possible, but if the opportunity does arise, Mitchel should request keyword-laden anchor text such as "DNN Module Development" and "Free DNN Modules" pointing to the appropriate pages.

Quality Copy & Content

In regards to website copy and other textual content, IowaComputerGurus.com is a bit too wordy for my taste. I would eliminating some of the corporate jargon and then rewrite the copy starting with the home page by injection keywords and key phrases gathered from free tools such as this one, that one or even Google itself (search for "DotNetNuke" and scroll to the bottom of the search engine result page to find the "searches related to" section.) Also, short of combining MitchelSellers.com with IowaComputerGurus.com, I would reserve case-study type articles for ICG to satisfy the hunger of search bots for fresh and original content.

XML Sitemap

I usually shun DNN’s native xml sitemap implementation and use a 3rd party tool such as this one instead, but for a site mainly build around traditional DNN pages it works quite well as all relevant pages are indeed present in sitemap.aspx. While that’s a good start, I still don’t like the idea of having the lastmod, changefreq, and priority nodes read all the same for every single page. Call me picky, but that takes me straight back to my Notepad "drawing board." And lastly, to get the most of an xml sitemap, I suggest submitting it to Google Webmaster Tools, Yahoo! Site Explorer, and Live Search Webmaster Center.

Robots.txt Exclusion Protocol

Mitchel currently has no robots.txt file in the root directory of IowaComputerGurus.com (server returns a 404 HTTP status code), which signals to the search engines that access is allowed to all resources served by the website. That’s not an ideal situation as some of DNN’s supporting directories and files have no business being indexed and subsequently appearing in SERPs. To remedy that, I usually recommend using dotnetnuke.com’s robots.txt implementation as a base and then adding exclusions specific to your website. In the case of ICG, I would at least additionally disallow /home/ctl/privacy.aspx, /home/ctl/terms.aspx, and /forums/afv/ to restrict access to the privacy statement, terms of use, and certain areas of Active Forum.

That wraps up part one of my SEO overhaul of IowaComputerGurus.com. Check back in a week or two as I conclude this series with a closer look at local search, search engine friendly skins and menu systems as well as Url rewriting and canonicalization.

And as always, comments and questions are appreciated.

Posted by Tom on Friday, September 19, 2008

Backing up a DNN Site 

DotNetNuke site administrators often are tasked with maintaining their sites as well as ensuring that a proper backup/recovery plan is in place.  An important part of this is to have a proper site backup, therefore I am re-visiting my two previous versions of backup guides in this updated article.  I will walk though the items needed for backup, and considerations when creating the backup, specifically if you are looking to migrate a site to a different server.  I will then discuss the process to create a backup in both SQL Server 2000 and SQL Server 2005, and lastly I will quickly touch on the third party options available for performing site backups. 

Read more...

Posted by Mitchel on Monday, September 15, 2008

Previous Page       1 of 11       Next Page

Donate

Show your appreciation for the content/modules made available by MitchelSellers.com by making a donation. Donations are used to assist with dedicating time to creating free content.