Articles from April 2007

301 Redirects with ASP.NET and not touching IIS 

Tom over at Seablick.com has posted a great article regarding a method to provide a proper SEO friendly 301 redirect to keep your site under 1 actual address (www.mysite.com instead of that and mysite.com).  This is a very important SEO item.  You can view his article at the following link.

seablick.com/blog/tabid/53/articletype/articleview/articleid/44/default.aspx

Posted by Mitchel on Sunday, April 29, 2007

DotNetNuke Open Force '07 

Today there was a call for speakers on DotNetNuke for the fall OpenForce '07 converence that will be held in Las Vegas in conjunctino with the DevConnections converence.  For those looking for more information on submitting your proposals DotNetNuke has setup a special website for the submission of entries, you can find that here http://www.dotnetnukecorp.com/OpenForce07/tabid/73/Default.aspx

For those of that are interested I did submit my proposed sessions today and I am not ashamed to share this information with the community as I would love to get feedback and would also love the opportunity to speak at this event.  If you are interested in viewing my proposals please click on the "Read More.." link.  On May 22nd DotNetNuke will be announcing the selected proposals.

Read more...

Posted by Mitchel on Friday, April 27, 2007

DotNetNuke Core Modules and AJAX (Round 2) 

As promised this article is an update with more testing results of DNN core modules and the enabling of AJAX. I will investigate multiple core modules and will provide the test results for each of the modules, regardless of success or failure, to give you an idea of where each of these modules are for potential use of AJAX.

To view the entire details please click "Read More..."

Read more...

Posted by Mitchel on Thursday, April 26, 2007

RSS feeds have been fixed! 

It was brought to my attention this morning that the RSS feeds were not working for my blog, I have updated to the newest version of the Ventrian News Articles module and the RSS feeds are now wokring again. 

Posted by IowaComputerGurus on Wednesday, April 25, 2007

Simple DotNetNuke Performance Improvements 

I have been seeing a large number of questions recently regarding DotNetNuke performance and things that can be done to help improve the performance of the site.  Typically these questions surround the SiteLog and EventLog tables so I thought I would post a few simple queries that you can run to help keep your database lean which will keep your DotNetNuke site running at peak performance.

Click "Read More..." to view the details!

Read more...

Posted by Mitchel on Tuesday, April 24, 2007

DNN SiteMap.aspx Creating Invalid SiteMap 

I have noticed many users on a default DotNetNuke 4.5 and 4.5.1 installation mentioning errors when using the DotNetNuke built in sitemap generator for use with Google.  If you are receiving errors aftr submitting your sitemap to Google, check the error logs that are generated.  If the error states that it is invalid to have a link to http://www.dotnetnuke.com inside your sitemap, you can do the following to fix the issue.

  1. Login to your site as host
  2. From the "Host" menu select "Host Settings"
  3. Under the "Appearance" setting uncheck the box next to "Show Copyright Credits"
  4. Click "Update" to save your settings

This simple change to remove the DNN Copyright information will fix your sitemap by removing the link to DotNetNuke.com, it will also remove the DNN version information from each page title as displayed in the browser.

Posted by Mitchel on Tuesday, April 24, 2007

DNN Guestbook 2.2 Released (And AJAX Implementation Info) 

I announced via the forums on this website the release of my DotNetNuke Guestbook Module version 2.2 yesterday.  Now I would like to take this time to offically list the promised instructions to fully enable AJAX support for the module.  These items are required to be completed manually due to my previously mentioned bug in the DotNetNuke core regarding the use of the <supportspartialrendering> element within the .dnn files.

To view the instructions click on "Read More..."

Read more...

Posted by Mitchel on Sunday, April 22, 2007

DotNetNuke 4.5 (4.5.1) Bug with AJAX Support 

For those individuals creating modules using the "built-in" support for AJAX in DotNetNuke relying on the "SupportsPartialRendering" checkbox in the control declaraction. It has been discovered that the <supportspartialrendering> tag that is listed as supported for .dnn files, is NOT applied during a module installation.  This has been logged at the DotNetNuke support website, however, until this has been fixed you will be required to manually apply the "SupportsPartialRendering" option for your module controls that support it!

Posted by Mitchel on Sunday, April 22, 2007

Calling Javascript After AJAX Request Completed 

I found the following article to be very helpful when I was looking for a method to call a specific javascript function right after an AJAX request.  blog.jeromeparadis.com/archive/2007/03/01/1501.aspx

For my readers that are using DotNetNuke to build AJAX enabled applications you must perform one additional task in your code-behind file to ensure that you have a script manager referenced for use on the front end of your application. To accomplish this you must simply place the below call in the page load event and ensure that it is called at least on the first load of any page that needs access to the script manager.

DotNetNuke.Framework.AJAX.RegisterScriptManager();

Posted by IowaComputerGurus on Sunday, April 22, 2007

Validating a GUID Value with Regular Expressions 

I am sure that most readers of this site have at one point or another noticed my RegularExpression articles.  Well this past week I was looking for a very specific regular expression and thought I would share it with you.  The following regular expresion is used to validate a GUID value for user input.  You can use this to ensure that product keys and other GUID values that you are using are in the proper format. 

^(\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1}$

Posted by Mitchel on Sunday, April 22, 2007

Problems with Google Adsense Search with DNN 

I have recently been notified of an issue when trying to use Google AdSense Search within a DotNetNuke site when using the instructions I provided earlier to convert the form submission into a javascript call that changes the page's submission URL.  It appears that Google AdSense Search requires the values to be passed via an HTTP Get rather than an HTTP post and they validate the requests specifically on the number and names of the passed parameters.  What does this mean?  Well it means if you have ANY modules on your page that output HTML form data (Inputs, Selects, etc..) that you will NOT be able to use the search on those pages as they will be sending those elements to the service and you will receive a "Bad Request" error message.

As of right now I know of only 1 way around this issue and that is to place the AdSense search information inside a HTML file and reference it in your DotNetNuke application via an IFrame.  This method has not been heavily tested but I know it will work, there may be performance and other implications to using this method, but it is an option.

If anyone has any other workarounds for this issue please feel free to share it below!

Posted by Mitchel on Sunday, April 22, 2007

Logo Contest! 

I have decided that it is about time for me to have a logo for this site, however, graphic design is NOT one on my strong points.  Therefore, I have decided to make a request for individuals to come up with a logo to be used on this site.

If you have any design ideas feel free to create the logo the link to it on the comments to this post, or send it to me via e-mail.  The arist of the selected logo will receive $30 via PayPal and will be specifically listed as the artist for the logo!

Good luck and have fun!!

Posted by Mitchel on Friday, April 20, 2007

DNN Web Hosting Announcement! 

As of this morning I have setup my m6.net hosting account to be a reseller of webspace.  YOu can purchase your hosting access through me rather than directly through M6.net and I will help you with adminsitration and configuration of your DNN site and help you get started.  FOr pricing details please use the "Contact" link at the top of the page to e-mail me. 

More detailed information to come on this site early next week!

Posted by Mitchel on Friday, April 20, 2007

DotNetNuke 4.5.0 Modules Loosing Option Values 

I have learned of an issue with DNN 4.5.0 that if you are affected after updating a module definition you will loose the values for IPortable, ISearchable, and IUpgradable.  If you have encountered this error, here is a post that shows you how to fix it! 

http://www.dotnetnuke.com/Community/Forums/tabid/795/forumid/-1/threadid/124882/scope/posts/Default.aspx 

Posted by Mitchel on Wednesday, April 18, 2007

Changes to DNN Default Templates 

I found out today that the DotNetNuke 4.5 distribution provided an updated skin file for the DNN-Blue and DNN-Gray skins.  This modification to the skin will break the auto fill features of the skin and will cause the left and right panes to display on ALL pages regardless of the panes that contain content.

This was pointed out to me in the DotNetNuke forums as a response to an inquiry you can find this post at the following link www.dotnetnuke.com/Community/Forums/tabid/795/mid/2108/threadid/124604/scope/posts/Default.aspx#125230

To fix this you will need to modify the skins provided in the DNN upgrade package and remove the following section of code, this is listed at the VERY bottom of the page layout table.

  <TR valign="top">
    <TD valign="top" align="center"><img src="spacer.gif" height="1" width="150"></TD>
    <TD valign="top" align="center"></TD>
    <TD valign="top" align="center"><img src="spacer.gif" height="1" width="150"></TD>
  </TR>

If you remove the offending piece of code you will then be able to restore the previous functionality of the skin.  If you have not yet upgraded to 4.5.0 and use one of these skins, you can avoid making this change by omitting the copying of the updated skin files.

Posted by Mitchel on Monday, April 16, 2007

AJAX and the DotNetNuke Repository 

After upgrading my sites to DotNetNuke version 4.5.0 I have decided to start experimenting with the new AJAX support built into the DotNetNuke core. I thought the one of the best ways I could start would be to look into the various core modules that I use on a daily basis and see which of them could successfully handle enabling AJAX and still render appropriate page content. This blog entry provides the detail on my first module modification, the DNN Repository.

EDIT 5/31/2007 - Issues have been identified with this method that do not make it practical in all circumstances!

Read more...

Posted by Mitchel on Monday, April 16, 2007

Site Upgraded to DotNetNuke 4.5.0 

For those interesting in knowing about the platform that this site is running on, I just completed the upgrade to DotNetNuke version 4.5.0.  The upgrade process went very smoothly and only took about 30 minutes (Due to FTP file copy speeds). 

As you can already notice the performance of the site is substantially better and this is without ANY modifications to the default 4.5 configuration.  As the weeks progress I will be enabling various AJAX technologies and as I do so I will be posting tutorials right here on this blog showing you which modules I have tested and got to work with AJAX.  My first priorites are to work with the core modules such as the repository and forums modules, and I will work from there so check back soon!

Posted by Mitchel on Saturday, April 14, 2007

DotNetNuke Upgrade Tips (Lessons Learned) 

Well yet again I decided to upgrade my DNN installation to the newest version. This time when I was testing my upgrade as I always do with my development environment at home I ran into a few more problems than what I encountered in previous upgrade attempts. Therefore I thought I would share the items that I have recently identified as being important to watch when upgrading. Most of the items I will discuss below are web.config settings that must be copied over successfully. To view my comprehensive guide to DNN upgrades, please look at my previous postings under DotNetNuke.

app_offline.htm

One of the questions I have noticed a lot recently is; "What will users see when I am in the process of upgrading?" or "How can I prevent any random user from performing the upgrade installation?" Well the answer to this is quite simple. First is the placement of an "app_offline.htm" file in the ROOT of your DNN installation. In this file you can put any text you wish your users to see. If this file exists DNN will ONLY serve this file and the users will not see the content of ANY site hosted on the DNN installation. During my upgrade I placed a simple Under Construction informational page. The second set is to set the "AutoUpgrade" application setting, this is discussed below.

Auto Upgrade = "false" <- Application Setting

If you have upgraded DotNetNuke in the past with the default release.config configuation you will notice that typically once you have uploaded all of your files any navigation to a content page will trigger the upgrade process. Now, you don't want this happening until you have all files uploaded and you are fully ready to upgrade the site. To prevent the auto execution of your upgrade simply set the "AutoUpgrade" application setting to "false". Once you complete this step you will be required to navigate to the Install/Install.aspx page to complete the upgrade process.

BiteTheBullet Site Map and other HTTP Handlers

As I know many individuals are using the BiteTheBullet Site Map handler to generate Google maps I thought I would mention this here as well. BTB and other HTTP handlers all require a configuration setting entry under the <HttpHandlers> element. Be sure to compare the values of your new configuration file to your old one as it is quite possible that you need to copy 1 or more of these items over.

Code Sub Directories

With DotNetNuke modules you can have modules written in VB and C#, if you have any modules installed (with source code) on your website DotNetNuke will have automatically added a CodeSubDirectories configuration element to your web config. You MUST be sure to copy this section over to your new config. Failure to do so will result in a compile error and you will NOT be able to access your site until this is completed. NOTE: Be sure to NOT copy over the commented out section that refers to a non-existent directory

HttpRuntime Values

Another typical modification to DotNetNuke installations that is missed are modifications to the HttpRuntime settings. These settings control the Maximum Request Length for HTTP requests to your site. Individuals will typically modify these values if they have troubles uploading files to the repository or other areas of the sites that might accept files. If you modified these default settings which I believe are typically around 8MB or so, be sure to copy these values.

This information is intended to be a supplimental "check-list" if you will for a DNN upgrade. For general upgrade recommendations please see my entry regarding the upgrade from 4.3.7 -> 4.4.1 which can be found here

Posted by Mitchel on Saturday, April 14, 2007

Call for Opinions On Proposed Module 

As some have noticed I mentioned a few weeks ago that I was going to make an announcement regarding a new DotNetNuke module that I would be working on called the Quiz module (for the lack of a better name).  Well I am finally at the point where I might be able to start working on it and thought I would first list the functionality that I am planning on having and gathering opinions regarding the need for this type of module as well as any recommended additions or removals from my feature listing.

Features:

  • Quizzes are only available to logged in users
    • Localized module content will be displayed if viewed by a non-logged-in user
  • Users will only be able to take the test once
    • A test attempt will not be recorded until the LAST question has been successfully completed
    • Administrative users of the module will have the ability to "Clear" a test attempt on a user by user basis.  No information regarding the users first attempt will be retained
    • If a user has already taken the quiz a localized message will be displayed notifying them of this. 
  • Questions will be in the form of multiple choice single answer questions (Eventual addition of multiple selection)
  • Users will see a completion summary page after finishing the survey which will display a percent complete and a question by question listing showing which items were answered correctly
    • When setting up the test administrators can either show or hide the results detail
    • Additionally the summary information will be e-mailed to the user and an "instructor" listed in the quiz settings
  • Administrators will have the ability to review all test results for all users attempts at the current quiz.
    • Options will also allow them to view the results of ANY quiz that was setup on the specific portal, a combined reporting page.
  • Administrators will have the option of selecting wizard or single page display options for the quiz.  Depending on the selection the user will either be presented with all questions on a single page or questions one by one in a wizard format.
  • Support for the IPortable interface to import/export data between modules and portals

This is an overall summary of the module as I plan on building it.  Please use the comments functionality to let me know your thoughts/questions/concerns or also feel free to send me an e-mail!

Posted by Mitchel on Wednesday, April 11, 2007

Adding Google Analytics to DotNetNuke 

This entry explains an easy method to integrate Google Analytics into your DotNetNuke website using the Text/HTML module without the risk of loosing the integration data due to in-line editing!  Read the full article for the step-by-step instructions!

Read more...

Posted by Mitchel on Tuesday, April 10, 2007

DNN Guestbook 1.2 Released 

I just released version 1.2 of my DNN Guestbook module.  This release was completed to fix 2 break-fix issues.

1.  Validator controls triggering even when not submitting a guestbook entry
2.  Guestbook display not showing after postback on another control!

Posted by Mitchel on Monday, April 09, 2007

DNN 4.5.0 Missing Dll's 

I have noticed on the DotNetNuke.com forums that there are reports of missing DLL files in the install and upgrade versions of the newest release.  The files mentioned are listed below.

DotNetNuke.Caching.BroadcastPollingCachingProvider.dll
DotNetNuke.Caching.BroadcastPollingCachingProvider.SQLDataProvider.dll

I have been informed that they do exist in the source download and that you can acquire them that way.  As I obtain more information I will update this post!

Posted by Mitchel on Monday, April 09, 2007

DotNetNuke 4.5 - A First Look 

This morning I have started my review process for the newest version of DotNetNuke 4.5 as I prepare to update this site to the newest version.  Upon my inital review I am very impressed with 4.5.  We will start with the upgrade process, this went VERY smoothly just like the upgrade from 4.3.7 -> 4.4.1 that I completed early this year.  (That means my article on upgrading does still apply!). 

After updating my testing environment to 4.5 I noticed a few of the "little" features right away.  Those changes I noiticed were the overall updates to the menu item icons and the ability to "hide" the page control panel!  Being able to hide the control panel and limit yourself to a small portion of the screen being dedicated to the view/edit selector is very nice, you can get a much better idea what your pages will look like in the end.

After completing the install I thought I would play around with a couple of core modules that I use frequently to see if we could happen to get by allowing partial rendering (AJAX).  In my tests when enabling partial rendering in the forums module on a "postback" you would loose all table stylings, therefore, it is NOT supported.  However, I was able to get AJAX to work correctly for the main display page of the "Repository" module, allowing comments and ratings to be submitted via AJAX!

This is all I have as of now after a few hours of testing the newest version, more information will come soon!  Share your experiences in the comments below!!

Posted by Mitchel on Monday, April 09, 2007

Migrate DotNetNuke Blog Entries to Ventrian News Articles 

As promised this is a detailed migration process article that shows you how to move existing DotNetNuke blog entries over to the Ventrian News Articles module.  This is the exact process that I just used to migrate the blog on this site! 

Read more...

Posted by Mitchel on Saturday, April 07, 2007

New Blog System! 

As everyone can see I now have the new blog system up and running.  I am now using the News Articles Module by http://www.ventrian.com to handle all of my blog postings.  I used a simple database script to peform much of the migration of postings and comments with only minor data cleanups in the end.  I will be posting a blog in the next day or so providing the scripts used for anyone else that might be interested.

Regarding the new blog you should notice many new features to the blog.

1.  Categories - Each post will have 1 or more categories associated with it to identify the topics discussed
2.  Syndication - The new blog setup has a better RSS feed system and you can access all RSS feeds via the Syndication link above
3.  Ratings - You can now rate articles on a scale of 1-5

Please let me know if you have any questions/comments!

Posted by Mitchel on Friday, April 06, 2007

Search DNN Forums With Google 

Timo from the DotNetNuke forums has created a very helpful search page that I wanted to share with everyone.  The link is below and the page allows you to automatically search the DNN forums using Google.  He restricts searching specific to forum module content!  A great timesaver!!!

www.searchdotnetnuke.com 

Updated: 5/7/2007 - To add the new URL!

Posted by Mitchel on Friday, April 06, 2007

Blog Updates to come 

Due to the expanded use of my blogs I have found it is necessary for me to migrate to a different blog module.  Over the next few days I will be converting to using the Ventrian News Article module to handle all of my blog postings.

I will leave the content on this blog page for a set period of time to ensure that links from other locations are preserved, however, I will eventually switch to the new implementation fully.  All articles will be moved to the new format.

For those of you who have linked to specific articles on your own sites, any efforts to assist in updating the links would be greatly appreciated!!  I hope that by making this switch I will be able to provide a beter interface for sharing information by having the use of advanced syndication, categories, and a better display interface!

Posted by Mitchel on Wednesday, April 04, 2007

Allowing HTML Form Submissions From DNN 

At one point or another everyone has a need to include an HTML form within a DNN website. This might be to link to a PayPal Buy it now button or one of many other options. Well as most of us know it is not possible to simply put a HTML form into a Text/HTML module and have the form submit. This is due to the ASP.NET form that is existing in the website that is used to handle all server side controls. However, there is a fairly simple method to allow the form to post using some simple javascript. A special thanks goes to John Mitchell who covered this specifically relating to the PayPal Buy it now buttons in this blog post.

To include an HTML form within DNN you will first need to note the "Action" property that is set in the <form> tag. Once you know this action you will want to remove the opening and closing form tags. Now, in the HTML source location the submit button (<Input type="submit"> or similar) . Then add the following inside the tag declaration.

onClick="this.form.action='YourUrlHere';this.form.submit();"

Be sure to put your Action URL inplace of the "YourUrlHere" text. This tells the HTML form that if the submit button is clicked that it should change the form action, which will prevent ASP.NET postback and then it actually submits the form to the new URL.

This provides you a quick and reliable method to submit HTML forms to external sites. This isn't the best solution as other input items on the current page will be submitted to the action page, however, typically that is not too large of an issue.

NOTE: this also works in any other ASP.NET application.

Posted by Mitchel on Tuesday, April 03, 2007

Changing Skins via Database (Emergency Procedures) 

At one point or another it seems that almost everyone accidentally makes a change to a DNN installation that ends up breaking things. One of these situations that I never considered in the past was the accidental application of a skin with errors. I was contacted by someone today that accidentally applied a skin that caused a null reference exception, this caused the entire site to be unavailable. They couldn't access any pages and couldn't get back to the skin admin pages. Well, this lead me to find a method of resolving the issue via the database. In this entry I will describe the steps needed to change the skin to a default skin via the database.

Read more...

Posted by Mitchel on Sunday, April 01, 2007

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.