Sunday, September 24, 2006

Successful upgrade of DotNetNuke (DNN) v3 to v4

This weekend I upgraded our hosted church site to the current release of DotNetNuke v4.3.5. Here's a quick summary of the steps I took and some observations.

Steps to upgrade:

  1. Unzip the install package to a local directory.
  2. Copy release.config to web.config in the install root directory (local machine).
  3. Update the web.config: replace machine key with ours; comment out the SQL Express connection strings and uncomment the SQL standard strings; put in correct connecting string settings for the hosted site; uncomment trust level and change Medium to Full*; remove databaseOwner prefix.
  4. Backup hosted site to local machine using ftp client.
  5. Backup hosted database.
  6. Remove all files from root directory of hosted site.
  7. Remove all subdirectories except /Portals/0 which contains our site stuff.
  8. Ftp the site from local machine to hosted site.
  9. Switch the hosted site from ASP.NET 1.1 to 2.0
  10. Hit the hosted site for the first time - triggering an upgrade.

* Learned this after the fact - modules will not install since they're compiled on the fly and the zips are removed from the Install/Modules subdirectory. Full trust is needed to allow the ASP.NET application permission to read/load/delete the modules zips.

One observation I noticed is with User Defined Tables. I have several with a date column in them. In V4, UDTs have been enhanced to support Date, Time, and Timestamp types. For whatever the reason, the decision was made to upgrade an old Date datatype to a Timestamp and the time portion defaults to 12:00:00. Why they chose to do this is beyond me. If all we had was a date before, why not keep the datatype as Date. Perhaps it's because the old Date datatype was in actuality a full timestamp. For me, it meant going in to edit the UDT settings for dozens of tables to switch from Timestamp to Date.

Original post

Thursday, September 21, 2006

DotNetNuke (DNN) upgrade and the infamous Could not load type 'DotNetNuke.Common.Global'

I manage a DNN site which is currently running on DNN 3.1.1 hosted at WebHost4Life. I have a local backup of the site on my home server running on Win2003 and SQL 2005. I tried to upgrade the local copy to the current release 4.3.5 using the xxx_Install.zip and on the first try I received the infamous "Could not load type 'DotNetNuke.Common.Global'" error. I'm referring to it as infamous because there are a lot of howls posted over at the DNN forums site with very few real suggestions of getting around the problem.

To test the upgrade, I backed up my copy of web.config, used the development.config as a starting point, and put the correct SQL provider settings in. I used a diff tool to copy directly from the xxx_Install.zip to the website folder - replacing everything, removing what wasn't there any more and skipping the *.vb source files. When I first hit the site, I received the could not load type error. After hunting around on the web and finding little or no helpful information (such as this thread), I began trying to diagnose it myself.

Judging by the initial quick error, I figured it was something very basic with the configuration. However, I noticed in the event log details on the server that it seemed to be getting past default.aspx and was down in /install/install.aspx when it died. Hmm...remembering that all the modules are in zips now and get automagically deployed, I tried something whimsical - deleting all the zips (maybe it was trying to load these?) and voila - it got further along.

At this point, I tried a couple of things in quick succession (it was getting late last night). First, uncomment the enable medium trust  - the problem w/ non-colorizing IDEs such as Notepad is that comment markers are easy to miss. Second, I got a different error about missing a *.vb file. I recalled some discussions over on ScottGu's blog about the compilation model being different under 2.0 so on a whim I went back to the xxx_Install.zip and copied over all the *.vb files. Note, this is my "pseudo-production" server - I purposely did not install VS.NET to avoid the usual issues of "it works on my development machine". After that, the site came up minus the custom modules and the skins.

It's a start at least and I think I've stumbled onto something regarding what is going on during an upgrade. Unfortunately, I don't really have the time or luxury of building/rebuilding this to test/diagnose the issue further. I'm a big fan of cookbook-style guides so maybe I'll get to one soon. I hope to finish my testing/eval and get the site pushed out to the hosting company by the weekend. Also, this just shows me that I've got to spend some dedicated time working with 2.0, heck 3.0 is already starting to pop up!

Original post

Wednesday, September 20, 2006

DB2 UDB 7.1, JDBC, and NULLID.SYSSH200

This is an obscure problem which took a lot of digging. It was finally Roger Bjärevall's post here that lead to the answer. Roger is the developer of Minq Software's DB-Visualizer which is a great utility for connecting to a variety of databases as I often do.

The bottom line is you can't use Type 4 drivers to connect to DB2 7.1 so this one won't work. You have to configure the connection using the one installed with DB2 (\SQLLIB\java\db2java.zip). I got that far pretty easily. However, you need to specify the 'com.ibm.db2.jdbc.net.DB2driver' for the connection which isn't the first in the list of drivers. It was Roger's casual post that made it come together and finally work! Thanks for the tip and the great little product that's reasonably priced (remember when TOAD was cheap before Quest jacked the price up through the roof??).

Original post

Friday, September 15, 2006

Antec P160

Features:

  • 1.2mm anodized aluminum delivers increased rigidity and a finish that won't lose its luster.
  • Swiveling front control panel
    - Swivels up to 45 degrees.
    - Connectors: 2 x USB 2.0, 1 x IEEE 1394 (FireWire, i.Link) and 2 x audio jacks.
    - LED temperature display with two built-in sensors
  • Windowed side panel
  • Removable motherboard tray.
  • Accommodates any ATX12V power supply
  • 10 drive bays
    - Color-coordinated CD-ROM & floppy drive covers
    a. 4 external 5.25"
    b. 2 external 3.5"
    c. 4 internal 3.5"
    - Rubber mounting grommets in hard drive trays
  • Cooling capacity:
    a: 1 x 120mm low speed fan
    b: 1 x 120mm fan mount
  • Fan Specs:
    -RPM: 1600
    -CFM: 56.13
    -dB(A): 28
  • Built-in washable air filter
  • Removable Side Panel
  • Fits motherboards up to Standard ATX

DIY Workstation / Gaming Rig

Last winter I decided to upgrade my 6-yr old Dell 733 Mhz figuring it was long overdue. What got me started was a Christmas wish list over on ExtremeTech. Here's the specs:

It turned into a long afternoon/evening to get everything installed and ready but I was pleased that it booted up perfectly the first time I turned it on...

Original post