DNN

DNN

Auto Packaging Multiple Modules with DotNetNuke

07 Jul

Like many people I have been building DotNetNuke Modules using Chris Hammond's DotNetNuke Module Template.  It is a great template set and works well in 99.9% of cases.  However, recently I have been building more and more complex module solutions for customers where within a single project I have a need to package up two or more "distinct" modules.  Therefore I have one DotNetNuke Module Manifest and it will install multiple modules.  Overall the process works great, but there is one small nuance, the filename, if you have two modules you will get xx.xx.xx.yy.yy.yy as the filename, which is the version of module 1, and the version of module two.  In my case I just want the first module to show, and in this post I'll show you how.

tags: DNN, DNN Development, Quick Tips

Resolving Recurring DotNetNuke Scheduler Errors

07 Jul

One thing that can kill a DotNetNuke quite quickly is a module that goes "rogue" and starts throwing regular errors in the scheduler.  This is especially the case when it comes to a module that might be heavily used.  Not only do you just have the fact that you are having errors, but you also have the issues around the fact that you can't find TRUE errors in the log.  In a world long ago, back in the DNN 4.4 - 4.8.x days there used to be an issue with certain modules that has apparently started to rear its ugly little head again and I'm not sure why.  In this post I'll investigate this specific error type.

tags: DNN, Quick Tips

DotNetNuke Scheduled Jobs Using the API

17 Apr

A while back I blogged about Creating DotNetNuke Scheduled Jobs and promised a "part two" article, this is that article.  In the previous installment I talked about the process of creating and manually installing a scheduled job.  This article is designed to take this to the next step and discuss how you interact with the Scheduler System to handle installation and other validation methods of scheduled jobs.  I will explain the finer points in regards to checking to see if a job exists and creating or modifying a job.

tags: DNN, DNN Development

Orlando Day of DotNetNuke Recap

26 Mar

For those of you not able to attend the Orlando Day of DotNetNuke and Orlando Code Camp events this weekend I wanted to take a few moments to post a quick bit of feedback on the event and also make those of you aware of some new presentation materials that I will be making available to the community over the next few weeks.  (The first of which is available now!)  See the full post for details!

tags: DNN, General Tech

Simple IIS Performance Improvement

09 Mar

I know that many of the readers of this blog manage their own webservers and i have a helpful tip to share about improving the initial load time of your webserver.  Although this modification I am recommending is a SMALL change and has a small impact, it is still worth doing as it will improve the performance and reduce the amount of work that IIS has to do.

tags: DNN, ASP.NET, General Tech

DotNetNuke Going to C# - My Thoughts

01 Mar

Well, as I'm sure that most of you have figured out already, DotNetNuke Corporation announced yesterday that starting with Version 6.x of DotNetNuke the core will be using C# as the programming language.  This change is something that has been talked about at community events in the past and various people have shared their comments on the potential decision, and even since yesterday people have voiced their opinions on it now that the change is official.  With this post I'm going to share a few of my thoughts on this, and hopefully take a slightly different approach.

tags: DNN, C#, DNN Development

Creating DotNetNuke Scheduled Jobs

18 Jan

So for a long time now I have been promising an article on creating DotNetNuke Scheduled jobs and finally I'm actually getting it written.  This article is actually the first in a series of two articles.  This one will start out with the programming process involved, and the general "manual" setup process to actually get the job going.  The second article will focus on using the DotNetNuke API's to be able to validate and configure a scheduled job from within a module, making the user setup process easier.

tags: DNN, Tutorials, DNN Development

Keeping User Passwords Secure in DotNetNuke

31 Dec

This article is being cross-posted from my business blog.

If you have been paying attention to the news in recent months you have most likely heard of a few cases where user information, such as Usernames and Passwords, have been exposed from some high visibility websites. Some of the more current leaks were with Gawker and Mozilla. For those that are unfamiliar the situation is pretty simple. These sites store user login information, usernames and passwords, that allow users access to their systems. Their systems were then breached and malicious users were able to get access to the information. Why is this something that I am blogging about in relation to DotNetNuke? Well without a bit of configuration your site could be at risk, should a malicious user get access to your system. This article will discuss a bit around how/why there is a risk and how that relates to DotNetNuke, then it will progress into an overview of the default configuration of DotNetNuke and the recommended changes to the system.

tags: DNN, DNN Administration

DotNetNuke Connections 2010 - My Highlights

15 Nov

I know that this is a little late with DevConnections being a little over a week-and-a-half ago, but I thought that it was still important that I get my highlights out here on the blog as i think there are number of incredibly good things coming in the future for DotNetNuke.  For a more detailed review I highly recommend that you check out Will Strohl's blog post, as he goes into a bit deeper discussion than I do.

tags: DNN

DotNetNuke 5.5.1 Update and POET Security Vulnerability

27 Sep

For just a little over a week there has been a lot of buzz in the .NET and DotNetNuke community around the POET security vulnerability that was identified within the Microsoft ASP.NET technology stack.  For those of you unaware of the true details on this vulnerability I highly recommend you read the initial announcement from Scott Guthrie from Microsoft, as well as his Frequently Asked Questions post, and lastly his secondary followup posting, with a more detailed workaround.  So why do I bring this up now?  Well late last week DotNetNuke corporation released DotNetNuke 5.5.1 and in the materials that went out with that release they note that it includes a workaround fix for this vulnerability, I wanted to make sure that as always people have ALL information needed before they are doing upgrades.

 

tags: DNN, ASP.NET, DNN Administration, DNN Install/Upgrade

DotNetNuke 5.5.x and Later Performance

24 Aug

Now that the DotNetNuke version 5.5.0 release has been out in the wild for a bit I wanted to take a moment to talk a bit about this release and one particular item that is of special interest to me with regards to the performance of the release.  In the past a common question posed to me would be "Which version of DNN runs the fastest?" The answer has always been an easy one, DNN 4.9.5 has been the release that could handle the heaviest load with the best overall relative performance.  I believe we have finally hit a tipping point.

tags: DNN

Running DotNetNuke with .NET 4.0

27 Jul

As more and more people start working with DotNetNuke, IIS7, and .NET 4.0 it is important to note a few important potential problem areas when it comes to running DotNetNuke on the 4.0 framework.  Recently I took a DNN 5.4.4 installation and tried running it under .NET 4.0 and without modifications, it was a complete failure, in this blog posting I will show you what needs to change to allow DotNetNuke to work as expected.

tags: DNN, DNN Administration, DNN Install/Upgrade

Selecting a DotNetNuke Hosting Provider 2010 Edition

26 Jul

In past blog postings I have provided what has become a bit of a "Guide to Selecting a DotNetNuke Hosting Provider." As with previous years it is about that time where there have been enough changes in the market and to DotNetNuke in general that I thought it was necessary for a 2010-2011 version of this information. In this article I will talk though the thought process that I use when working with current and potential customers to select their hosting plan, environment and provider. This document has been updated based on current information, in addition, prior to going through the recommendations below I strongly recommend reading my article “Shared, Virtual Private Server, Dedicated of Cloud Hosting” to become familiar with the different levels of hosting and also to review my "DotNetNuke Performance Configuration Best Practices" document to ensure that your DNN hosting plan is up to date.

tags: DNN, DNN Administration, DNN Install/Upgrade

Reducing a DNN Site's Production Footprint

07 Jul

One of the most common questions that I get from users when it comes to deploying to deploying a DotNetNuke site is "DO I REALLY need all of those files?". My typical answer is something along the lines of yes and no. In this blog posting I want to talk in a bit more detail about some of the processes that I go through when installing a clean DotNetNuke installation and how I keep the footprint down on the disk space.

tags: DNN, DNN Administration

DotNetNuke Growing Pains and You, How to Cope

22 Jun

I have had this blog posting all ready to go now for a good three to four weeks, but have been in deep internal conversation in regards to the posting of the article.  I have decided that more than anything posting this publicly might stop some of the e-mails that I get bombarded with each and every day that start out with "what do I do" or "do you still believe in DNN".

Before I start the post I am NOT in any way, shape, or form pointing fingers or expressing any displeasure at the platform or any of the members involved.  I am still a DotNetNuke core team member, I believe fully in the platform, and I will continue to adopt and recommend usage of the platform for the foreseeable future.  The point of this post is very simple, to talk about what has been going on in the DotNetNuke community and my opinions on how to manage expectations and cope with the situation.  Please remember the disclaimer that is posted at the bottom of this blog, these thoughts are mine and mine alone.

tags: DNN, DNN Administration, DNN Development

Creating a Custom Registration Page With DotNetNuke 5.2.3 and Later

26 Apr

Users that are familiar with DotNetNuke administration are most likely familiar with the old way of creating a custom registration page within a DotNetNuke portal.  It was as simple as adding a new page, putting the modules you desired on the page including the "User Account" module to get the actual registration functionality.  From there a simple change in "Site Settings" for the "User Page" and you are set to go!  Well, for those of you working with DNN 5.2.3 and later (Possibly previous 5.x versions as well, I'm not 100% sure when the change was) will find out that the module definition I mention is no longer listed?  What do you do now?

tags: DNN, Tutorials, DNN Administration

OpenForce 2010 Session Submissions

27 Mar

For those of you that follow me on Twitter, you might have noticed my posting the other day noting that I have submitted my session topics for OpenForce 2010. I thought I'd share with you the topics that I submitted, if you have any ideas for other sessions feel free to post a comment, and I might try to get something proposed for it.

tags: DNN

The DotNetNuke Object Qualifier - Why I Think it is Evil

23 Mar

For those of you that have seen my comments on the DotNetNuke forums, my book, or the forum here on this site, you more than likely have noted my consistent notes that I recommend avoiding the "ObjectQualifier" setting within DotNetNuke at all costs.  Most of the time I have simply put, I don't use it and recommend that you don't either, but have not given a very detailed explanation as to why I'm not a fan.  Below I will share with you what the ObjectQualifer is, why it was created, and why I don't recommend using it.

tags: DNN, DNN Administration

DNN 5.2.x Changes to Module Create Process

09 Feb

In a few of the most recent versions of DotNetNuke, major changes have been completed in the way that a user manually imports a module definition to test a manifest file.  This is specifically the process that is mentioned in my book to test a module while developing, before it has been packaged for installation on another portal.  From what I gather, the behavior might change back a bit, but for now the process is slightly different that indicated in my book.  In this blog posting I'll document the changes, and a workaround solution.

tags: DNN, DNN Development

Spell Check for DNN Module Developers

16 Dec

I have talked to many developers that have one common feature request that we would like to see for Visual Studio, Spell Check.  As a developer one of the most troubling things can be minor typo's in code after it has been completed.  Although simple to fix, it can be embarrassing to have a typo that goes out in a module that a client is reviewing or that you put up for sale on SnowCovered.  Well, today I got an email from Chad Nash at DataSprings, and they have a set of tools that are going to help us out on this front from a DNN module perspective.

tags: DNN, Product Review, DNN Development

Potential DNN 5.2 Upgrade Issues

02 Dec

After talking with a number of clients since last week, I thought it would be worthwhile to make a post here with a formal warning regarding upgrades to DotNetNuke 5.2.  As announced at OpenForce US, DotNetNuke 5.2 contains the Telerik Controls for ASP.NET, which is a very good thing for DotNetNuke as a whole, however, it can cause massive problems for individuals that are already using the Telerik Controls as a site upgrade can end up rendering portions, or the entire site unusable, until DLL versions are restored.  In this post I will give a bit of information regarding the scenarios that I have encountered and some guidance on how to protect yourself from upgrade issues.

tags: DNN, DNN Administration, DNN Install/Upgrade

OpenForce 2009 Recap

15 Nov

 Well, it has been a very busy week, but we can now record another OpenForce event in the books.  I'm sitting here still in Las Vegas going over various notes regarding various announcements that have occurred through the week and though it would be good to make a blog post with a few "highlights" as I see them from the week.  So, without future delay, here are my favorite highlights from the week, in no particular order!

tags: DNN

Selecting a DotNetNuke Hosting Provider 2009 Edition

30 Oct

Back in May of 2008 I wrote an article “Selecting a DotNetNuke Hosting Provider Revisited”. Well, being almost a year-and-a-half later I thought it would be good to provide a 2009-2010 follow-up to the article to update based on new information, updates to hosting plans/offerings, as well as DotNetNuke performance in general. In this article I will talk though the thought process that I use when working with current and potential customers to select their hosting plan, environment and provider. This document has been updated based on current information, in addition, prior to going through the recommendations below I strongly recommend reading my article “Shared, Virtual Private Server, Dedicated of Cloud Hosting” to become familiar with the different levels of hosting.

tags: DNN, DNN Administration, DNN Install/Upgrade

DotNetNuke Bulk Extension Installation

14 Oct

About two months ago, I responded to a DotNetNuke question on StackOverflow.com with regard to automating the installation of modules within the installation.  This is a question that I have seen many times, but with different business requirements and end desires, but the trend is the same, installing extensions one-by-one is an inefficient process, and with a heavily used site can cause performance issues that would impact regular traffic for an extended period of time.  This is simply because there is a delay between each install, and with each install and update to the /bin directory the application recycles.  Thankfully there is a method built into DotNetNuke that easily allows you to bulk install extensions, the rest of this article will show you how.

tags: DNN, DNN Administration, DNN Install/Upgrade

How To Get Design-Time Support for DNN Controls

04 Aug

 As everyone that is a regular reader of this blog is already aware of I am a big fan of the WAP development model for all DotNetNuke development projects.  Now, one of the most common issues that individuals have reported to me is that "design-time" support is not there for common DotNetNuke user controls that are common to integrate with custom modules.  The controls I'm discussing are the DNN Label, Text Editor, and Url Controls.  Luckly though it is VERY simple to get full design time support for the controls and this article will show you how to accomplish this!

tags: DNN, Tutorials, ASP.NET, DNN Development

Day of DotNetNuke Recap

15 Jun

As many of you know I attended and presented at the Day of DotNetNuke event this past weekend in Tampa Florida.  First and foremost I want to take a moment and thank Will Strohl and all others that put the effort forward to organize this great event.  I was very impressed with how well organized everything was, and overall the sheer size of the event.  With what I believe was close to 150 people there was a variety of interests and viewpoints expressed.  The sessions were great and the conversations before, during, and after the event were even better.


tags: DNN, Tutorials

DNN Navigation Redirect With Parameters and No Control

08 Jun

When working with DotNetNuke I often find it necessary to do a redirection back to the current page, with additional querystring parameters.  Not actually switching views, but just back to the same page so that some other action could be taken for a specific module.  In the past most of the examples I found used this process.

DotNetNuke.Common.Globals.NavigateUrl(this.TabId) + "?mykey=myvalue"

Which would create a url such as

http://www.mysite.com/MyFolder/Default.aspx?mykey=myvalue

Although a fully functional URL that works 100%, it is not something that can be easily copied, and overall doesn't look all that fancy.  Looking through the functionality of the various NavigateUrl overloads, it didn't seem apparent that there was something that could be used to re-write that type of URL.  Well I missed something using the following code.

DotNetNuke.Common.Globals.NavigateUrl(this.TabId, "", "mykey=myvalue")

From this example we provide the tabId, a blank ControlKey, and then our added parameter value.  We could add additional parameters as well.

This results in a URL similar to the following.

http://www.mysite.com/MyFolder/mykey/myvalue/Default.aspx

Now, this is a fully re-written URL, and something much easier for a person to remember.  I hope this has been helpful!

tags: DNN, DNN Development

Speaking Engagements

02 Mar

As we get moving into 2009, one of my personal goals this year was to get out and do more presentations to User Groups and at conferences.  Well ...

tags: DNN, Announcements

Explaining High Performance DotNetNuke Configuration and Management

18 Feb

My recent postings regarding DotNetNuke have been very popular among the community and each of them have covered specific aspects of performance improvement. However, none of them have gone through the full collection of "performance optimizations" that are possible. This article is going to summarize the items from the existing articles and will try to explain some additional, bigger picture elements that come into play, and considerations that must be thought of during any site configuration.

tags: DNN, Tutorials, DNN Administration

DNN Performance Tip: Disable Unused Auth Providers

06 Feb

One of the most common questions I get regarding DotNetNuke performance is; "Why is the DotNetNuke login so slow?".  Well there are a number of reasons, but one of the most common issues is that every time you visit the login page it has to determine which provider to show you.  If you are using multiple providers, there is not much way around this.  However, if you are running a site that is NOT using any other providers, you have some options to really help speed up the performance of your login page.

View the full article for details.

tags: DNN, DNN Administration

Creating DotNetNuke SqlDataProvider Files Using SSMS

26 Jan

One of the biggest failure points I see with third-party DotNetNuke modules, including some of my first released modules were failures due to the lack of support for ObjectQualifier or DatabaseOwner values within the SqlDataProvider files.  Although the process to add support for these two tokens is easy to add, it is very hard for those of us that like to test our database structures outside of DotNetNuke before we actually commit to building our modules.  Thankfully, with a bit of research, I have found a way to build SQL Scripts for DotNetNuke using SQL Server Management Studio (SSMS) in a normal fashion and using a simple find/replace operation to bring everything into compliance with DotNetNuke integration.  This post will explore the method that I use to accomplish this.

tags: DNN, Tutorials, SQL, DNN Development

How I Get My DotNetNuke Sites To Run So Fast

05 Jan

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 little 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".

tags: DNN, Tutorials, DNN Administration, DNN Install/Upgrade

Which Module Package Should You Purchase?

31 Dec

A while back when asking for input on blog postings a very common question was recommended as the topic.  That question was "How do I determine which module package I should purchase?".  Within the DotNetNuke Eco-System there are a number of different purchase options for third-party modules, however, in the end it boils down to two different package types.  Install packages and Source packages.  Which is right for you?  This answer isn't quite as clear as one might expect, and the following blog posting will walk through the different things that need to be considered before making that purchase choice.

tags: DNN

DotNetNuke 4.9.1 Dashboard Module

25 Dec

As I mentioned in an earlier blog posting one of the big new items in DotNetNukr 4.9.1 is a Dashboad module.  This module was created to help the DotNetNuke Corporation work with the DotNetNuke Professional Edition users, however, there are also big benefits to the rest of us that help support users on DotNetNuke.  The following sections will discuss each of the views included in the Dashboard module, which can be accessed from "Host" -> "Dashboard".

tags: DNN, DNN Administration

Upgrade to DotNetNuke 5.0.0 From 4.6.2 or Later

22 Dec

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.

tags: DNN, Tutorials, DNN Install/Upgrade

Installing DotNetNuke 5.0.0 On Remote Host

22 Dec

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.

tags: DNN, Tutorials, DNN Install/Upgrade

Installing DotNetNuke 5.0.0 Locally

22 Dec

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.

tags: DNN, Tutorials, DNN Install/Upgrade

Creating a DotNetNuke User Account From Code

22 Dec

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.

tags: DNN, Tutorials, DNN Development

Openforce 2008 Recap

29 Nov

It is amazing to think that OpenForce ended over two full weeks ago ever since returning home I have been swampped and haven't gotten around to my promised posting regarding the panel discussion that happened at the end of the session.  Although a bit late I thought I would share the notes that I made from the panel discussion on the final day of OpenForce.  The following items are not necessarily in any particular order, just the way they were scribbled into my notebook.

tags: DNN

Why Dynamically Attached Databases Cause Problems

24 Nov

One item that many people find unusual about my DotNetNuke installation guides is my insistence on NOT using the Database.mdf, dynamically attached database file for the creation of a DotNetNuke database.  In my tutorials I have quickly dismissed the topic by noting that "issues" come up when trying to use a dynamically attached database and I leave it at this.  Well after seeing more questions on this topic recently in the DotNetNuke.com forums I wanted to take a moment to put my $0.02 out there as to WHY I don't like it.  I will do this by discussing quickly what the differences are in the two approaches, then I'll discuss the "downfalls" of each.

tags: DNN, SQL, .NET 2.0, General Tech, .NET 3.5

First OpenForce 2008 Update

11 Nov

Tom Kraak is doing a great job with Live Blogging over at Seablick.com, however, I thought it would be good to put a quick blog post up here about imp...

tags: DNN

Are you ready for OpenForce?

06 Nov

With OpenForce North America just a little over 3 days away I can feel the excitement building Bill Walker today announced the OpenForce Social event,...

tags: DNN

Content provided in this blog is provided "AS-IS" and the information should be used at your own discretion.  The thoughts and opinions expressed are the personal thoughts of Mitchel Sellers and do not reflect the opinions of his employer.

Connect with Mitchel

I hope the information here has been helpful. To stay connected you can also subscribe to blog updates via email, contact Mitchel about consulting services, or reach out for assistance via CodeMendor

Content Copyright

Content in this blog is copyright protected.  Re-publishing on other websites is allowed as long as proper credit and backlink to the article is provided.  Any other re-publishing or distribution of this content is prohibited without written permission from Mitchel Sellers.