Articles from July 2007
I have just released a new version of the SQL Formatter/Colorizer utility. This release is used to resolve issues caused by changes to the parent web service used for formatting! You may download it for free from the "Software" section of this site.
Posted by Mitchel on Tuesday, July 31, 2007
Recently there have been numerous discussions on the DotNetNuke.com Forums regarding hosting providers and who one should go with and who they should switch to because they are unhappy with their current provider. During all of these discussions I have always recommended the company that I use for hosting 3Essentials. Since making this recommendation I have been receiving numerous e-mails regarding the process to actually migrate a live site over to 3Essentials so I thought I would write a short blog article that explains the basics of moving a website over to 3Essentials, in actuality these instructions SHOULD work for most providers, however ther might be some differences.
Read more...
Posted by Mitchel on Friday, July 27, 2007
A common problem that I have recently encountered was trying to identify areas of my website database that were
taking up the most physical storage space. At work I maintain a DotNetNuke installation that includes a 4.5 Gb
reporting database and I was trying to pinpoint the exact sizes of ALL tables in my database and was having a few problems.
I started using the "sp_spaceused" stored procedure but I had to run that for every table, I have over 200 tables in this
database and it was just not feasiable for me to do it this way. Therefore I wrote a stored procedure that will perform
all needed data calls and will return a result set with the data on all tables. In this post I will share the script
as well as a few interesting things I learned while writing it.
Read more...
Posted by Mitchel on Friday, July 27, 2007
Due to popular request this article is an updated version of my DNN upgrade
process. Below I will walk you through all steps necessary to upgrade
your DNN website from a previous 4.x version to the most current version
4.5.5. This article is the third revision of my upgrade process documents
and has been enhanced with user recommended tips as well as includes new
recommendations from my experiences installing new versionf of DotNetNuke.
Read more...
Posted by Mitchel on Thursday, July 26, 2007
Installing DotNetNuke can be somewhat difficult at times, therefore I am writing
this article to give you a full step by step guide to installing DotNetNuke on
a Windows XP Pro system. The instructions are similar for Windows 2000 and XP
Home but might vary slightly, I have tried to note as many differences as
possible. Windows Vista installation is similar but requires a few different
steps relating to IIS. This article is a re-visit to my first article of
this type geared towards DotNetNuke 4.4.1..
Read more...
Posted by Mitchel on Thursday, July 26, 2007
DotNetNuke introduced a request filter option starting with DotNetNuke 4.5.3 that can allow you to take action
on a user based on various request parameters. In this article I will walk you through how to setup the request filter to
filter out requests from a specific IP address and will discuss in general what the settings are. In this example we will be
placing a filter to block all traffic from a user with an IP of 13.12.15.45 and we will redirect them to google.com.
Read more...
Posted by Mitchel on Monday, July 23, 2007
Recently in testing the new version of DotNetNuke 4.5.4 I realized that after upgrading with no errors that when I logged in as my host user I was only able to see the "Admin" menu. This is a very simple issue to resolve, simply add a space to a non critical portion of your web.config and save the file which will trigger an application re-start. Once the application has restarted you will be able to use the host menu!
Posted by Mitchel on Monday, July 23, 2007
Today I just released version 2.0.1 of my course gradebook module. This module is still free for download from the software section of this site. Included in this release are the below modifications.
- Corrected a course association issue that could cause errors on the "Settings" page
- Corrected issue where when editing a students grade a duplicate grade was inserted instead of the original grade being updated
- Streamlined general code layouts and commented sections that were not previously commented
- Added a module level configuration option to allow the sending of e-mails to users on the grading of assignments, message can be configured via tokens
- Added the display of a students overall grade to the "Edit Grades" page with a similar customizable format as the standard view page
For information regarding the tokens available in the student e-mails please see the sticky post on my forum. Please let me know if you have any questions
Posted by Mitchel on Thursday, July 19, 2007
In the last month or so i was working on some modifications to the DotNetNuke forums module to meet some of their customers needs regarding usability. One of these items was to make the "My Settings" link open in a new window rather than moving the user from their current viewing page. This is a small modification that I thought was quite helpfule so I thought I would share the steps necessary to make the change.
Read more...
Posted by Mitchel on Thursday, July 19, 2007
A little over a month ago I posted a SQL Query that can be used to find the most popular links
on a given portal. In that example if you had links that were being tracked that were files it would only
show the fileid for the file and not the file name. Now since there has been a fair amount of reader demand I have
created a new version of this query to actually show the URL for URL based links and to show the file name
for file based links.
To successfully parse the "fileid=xx" portion of the results when needed I use the substring function to
grab just the id so I can join to the files table to grab the file name. Due to the different methods needed
for files and links I have done this via two queries and then used the "UNION" statement to combine the results for
display. For you to use this on your portal you will need to be sure to modify the portalid value to match that
of your portal.
--Get standard links
SELECT m.ModuleTitle,
t.url,
t.clicks,
t.LastClick
FROM urltracking t
INNER JOIN Modules m
ON (t.ModuleId = m.ModuleId)
WHERE t.PortalId = 0
AND t.trackclicks = 1
AND t.urltype <> 'F'
--Combine with the others
UNION
--Get File links
SELECT m.ModuleTitle,
f.[FileName] as url,
t.clicks,
t.lastclick
FROM urltracking t
INNER JOIN Modules m
ON (t.moduleid = m.moduleid)
INNER JOIN Files f
--Grab the file id from the url field for the join
ON (CAST(SUBSTRING(t.url, 8, LEN(t.url)) as int) = f.fileid)
WHERE t.urltype = 'F'
ORDER BY t.clicks DESC, url
Please post any comments/questions below
Posted by IowaComputerGurus on Thursday, July 19, 2007
I have been notified of an error with the Course Gradebook Module version 1.3.1 where if you try to edit a users grade that you will end up putting a duplicate grade in the system. I will provide a fix below that can be ran via the "SQL" option from the host account for anyone that is using the current version of the module. Also in the next release of this module I will be including this fix as well as data integrity constraint code that will prevent this issue from occuring.
To perform the temporary fix simply run the below script from the "SQL" menu under the host menu. Be sure to check the box next to "Run as Script".
ALTER PROCEDURE {databaseOwner}{objectQualifier}ICG_GetUserGradebook
@PortalId int,
@CourseId int,
@UserId int
AS
--Doing a left outer join to ensure that all assignments will show,
-- joining to username in the join clase this ensures we always have all records.
SELECT a.AssignmentId,
a.AssignmentName,
a.PointsPossible,
a.DueDate,
ISNULL(ua.UserAssignmentId, -1) AS "UserAssignmentId",
ua.Score AS "ScoreReceived",
ua.DateEntered AS "DateGraded"
FROM {objectQualifier}ICG_Assignments a
LEFT OUTER JOIN {objectQualifier}ICG_UserAssignments ua
ON (a.assignmentId = ua.AssignmentId
AND ua.UserId = @UserId)
WHERE a.PortalId = @PortalId
AND a.CourseId = @CourseId
ORDER BY a.DueDate, a.AssignmentName
Sorry for the troubles, if anyone needs assistance implementing this fix, or cleaning up any incorrect data please e-mail me!
Posted by Mitchel on Wednesday, July 18, 2007
This evening I have just released a new version of my Text/HTML Deniable module. You may download this module for free from the "Software" section of this site.
Updates in this version include the ability to specify multiple deny roles as well as other general performance modifications.
Posted by Mitchel on Wednesday, July 18, 2007
I have noticed a number of posts recently on the DotNetNuke.com forums regarding numerous errors being reported in the
event log relating to portal id of -1 and typically with a InnerException of "Value cannot be null. Parameter name: type". This issue
can become very annoying and can have an actual effect on your sites performance as when the size of the event log grows you will start to notice performance slow downs. This article
will discuss the root cause of the issue and a solution.
Read more...
Posted by Mitchel on Wednesday, July 18, 2007
Today the DotNetNuke documents module 4.4.0 has entered the testing phase. Anthony Glenwright, the other members of the team, and myself have completed all code changes and are now performing acceptance testing before the module is delivered to the DNN core team to enter in the release process. Below is a listing of new features included with this version of the module.
- Alter file size display to show in MB if the file is larger than 1 MB in size
- Allow user sorting of the documents listing
- Bug fix on document import
- Bug fix for documents where the file was deleted
- Add reverse sorting to row sorting options
- Add ability to select any "list" for the categories list
- Add column to display download count
- Add option to specify "Default" folder
- Display warning message if the file is only available to admin
This is a complete listing of all items that are included in this version, along with the fact that this is the migration to ASP.NET 2.0. For a full listing of the changes included you can view the roadmap in Gemini (http://support.dotnetnuke.com/project/RoadMap.aspx?PROJID=10).
To see some of the new functionality you can view the documents module instances on this site as they have been upgraded to the new version. On my "CIS204 Summer 2007" page I have user sorting as well as clicks display enabled. At this time I am not sure when the module will be released into the DNN release process, however, I will post here as soon as it has.
Posted by IowaComputerGurus on Sunday, July 15, 2007
Search Engine Optimization (SEO) has become a very popular topic among the
DotNetNuke community as well as in all other types of web development. I do not
claim to be a master in SEO, however, I do have a number of tools that I use to
help judge the SEO capacities of my websites and also a number of directories that I utilize to enhance
the visibiliy of my website. In this article I will share some of these sites, links, and directories that might help improve your websites search
engine placemen and/or popularity/visibility.
Read more...
Posted by Mitchel on Thursday, July 12, 2007