Url Master and DotNetNuke 5.0
Jan
10
Written by:
Saturday, January 10, 2009 4:08 PM
DNN gave me a bit of a shock when they released DNN 5.0 on December 24, 2008. Just when you're thinking about winding down taking a few days off to spend with family, all of a sudden a major new release is out, just when plenty of people have some time off to tinker and play with the new version. I already knew that the Url Master module wasn't compatible with DNN 5.0, I just thought I'd get some advance warning that a release was imminent and have time to fix the compatibility problems. Consider that a lesson learned.
The DNN 5.0 released coupled this with a major DNS mess-up for the ifinity.com.au domain (not my fault, I have to add), a messed up operating system on my main laptop and some ISP issues (the two were related, thanks, proprietary ISP software) and you could be forgiven for thinking that nothing was being done here at iFinity HQ. Indeed there was even some DNN forum posts to that effect - had ifinity.com.au disappeared off the face of the earth, taking all of it's products with it? Nothing could be further from the truth - but things have moved slower than I (and paying customers) would have liked in this first week of 2009.
Onto the task at hand : there's really two scenarios when discussing DNN 5.0 compatibility
1. Installing Url Master on new DNN 5.0 installs
2. Upgrading a DNN install using Url Master to DNN 5.0
I'll cover these two things separately as they involve separate issues.
Installing Url Master on a new DNN 5.0 Install
Firstly : let me state for clarity. Any Url Master install lower than 1.13.0 will not install into DNN 5.0 correctly. If you would like to use Url Master and DNN 5.0, you'll need 1.13.0 or later.
There has been some major changes under the hood in DNN 5.0 with respect to the way the Admin/Host pages are constructed. They're now much more like other, regular pages in this respect. You can even insert new Host pages using the 'Add New Page' function.
The Url Master software uses some behind-the-scenes tricks to automatically install the Admin-> Page Urls and Host -> Friendly Url Settings pages. With the changes to the DNN Admin page model, these automatic inserts no longer worked, and so you'd get the module installed, but you couldn't actually access the settings. Not only that, but there are changes to the database schema, and the trickery to insert the relevant values directly into the database are accordingly broken. There's also changing of return types for publicly available DNN Core methods which leaves developers like me between a rock and a hard place when trying to maintain backwards compatible code.
The other impact of the Admin page changes in DNN 5.0 was that an internal flag called 'IsAdmin' that belongs to DNN pages no longer worked, though it still existed. This is because the concept of an Admin page is blurred in DNN 5.0 : so the value is always 'false' - there are no more admin tabs. Doesn't help a module like Url Master though, it needs to know which are the admin tabs so it can leave them out of the Url Rewriting scheme. Some admin modules are case-sensitive to their Url parameters, and there's no point in making search engine or human friendly Urls for admin pages.
The 1.13.0 release fixes all of these problems and provides a DNN 5.0 compatible version of the Url Master module. It is also backwards compatible with all versions of DNN from 4.6.x - 4.9.x : I recommend upgrading because it contains quite a few bug fixes and enhancements from the continuous stream of suggestions that come in.
Installing 1.13.0 in DNN 5.0
The 1.13.0 should be considered a compatibility release : it doesn't have any code in it to take advantage of the new DNN 5.0 platform. A future release will cover this, including supporting the new packaging format.
You should be aware that you will get the 'The package contains files with invalid File Extensions' warning/error when you try and upload the file. You will need to check the 'Ignore File Restrictions' box. This clears out the 'browse...' selection, so you'll need to wait until you get the 'You have elected to ignore the check for restricted file types' warning, then reload the install file again. If you don't wait until the page completes reloading before selecting the install package again (watch the progress bar on your browser), it's likely you'll have to repeat three or four times. Trust me there is no malicious code in the package.
Once you have gotten past this, you'll go to the 'Release Notes' and 'Licence' section. Note that there is a licence associated with this module, it's in the install file (EULA.txt). It just hasn't been setup as a separate DNN 5.0 installer compatible - principally because this involves have two separate versions of the install file, something I am trying to avoid for the moment.
Finish the install, and everything should work as it should.
Note that it even shows up in the new 'Dashboard' correctly - this is due to a change in the way the module is inserted into the web.config :
With DNN 5.0, you'll also see the module appearing in the list of installed modules in the Host->Module Definitions screen, a change from the DNN 4.x where you couldn't see it even when it was installed. This also introduces a problem whereby you can uninstall the module before de-activating it. To counter this, I have added a message in the 'Friendly Url Settings' screen which sits above a new 'Remove Configuration' button. This message will tell you whether it is safe to uninstall the module or not. The 'Remove Configuration' button is new, and completely removes all traces of the module from the web.config : an important step before uninstall. If you don't click this button and then proceed to uninstall, the very next page you'll see is a '500 Server Error' because your website configuration will be looking for a file that no longer exists.
Upgrading your DNN Website with Url Master installed
The previous versions of the Url Master software (up to 1.12.x) all had a problem in them which often prevented the user from upgrading their DNN site while the module was installed. I have always recommended that people disable the module (use the 'Revert to Standard Provider' button) before ugprading, but of course enthusiasm for a new DNN version usually meant people skipped over this step and went straight for the install.
From 1.13.00 onwards, the module supports in-place upgrade of your DNN installation. This works by ignoring all the requests for the installer page : bypassing the Url Master functionality.
Note that this change affects 4.x upgrades as well, whether going from, say, 4.6->4.9, or from 4.9.0 -> 4.9.1, or from 4.9.1 -> 5.0.0. However, if you do strike trouble, it is wise to disable the module before attempting the upgrade to remove it from the equation. Upgrades can be problematic enough without throwing another module into the mix.
Official Release Notes
Here's the list of release notes from within the module package:
Version 1.13.00 - Released : 10th January 2009
The 1.13.00 version updates the package for compatibility with DNN 5.0. The module has been designed to be compatible with versions 4.6.x-4.9.x and 5.0.x+. In the future two separate version may be maintained to take advantage of the new DNN 5.0 installer, but for now the same package suits both 4.6+ and 5.0.x
Enhancements in 1.13.00
- Modify defaultProvider setting in web.config rather than overwriting standard DNN Friendly Url Provider (476). This change means that it is easier to manually disable the module in the web.config, as the entry is written as a new provider instead of replacing the original provider.
- DNN 5.0 compatibility (553)
- Show change confirmation after applying changes (554)
Also: updates to labelling in various places.
Bugs fixed in 1.13.00
- 'Unlicensed' message emits invalid Html (539). Common request because invalid html breaks layouts and causes problems with PageBlaster. The new licensing code inserts the message directly into the body of the page instead of emitting invalid html at the start.
- Disabled tabs to not be logged as duplicates (541).
- doNotRedirectRegex field not read correctly from the configuration settings if 'redirect unfriendly' switched off (561)
- Pages added to 'Do Not Redirect' aren't saved when 'redirect unfriendly' switched off (542)
More Links
iFinity Product Support Form Thread for Url Master / DNN 5.0
Download version 1.13.00 from the Url Master Product Page
Url Master Release History Thread
5 comment(s) so far...
Re: Url Master and DotNetNuke 5.0
You are talking about my post on the mothership. In my original post (on DNN) I was very clear that I was not suggesting anything, but Ionly curious and wanted to know what was happening). Secondly, I removed (edited) that post 3-4 days ago! My question was very harmless. It would really surprise me if you go away with such good product.
Anyways, thanks for the blog and the upgrade!
Sincerely, Frozen DNN
By Frozen DNN on
Sunday, January 11, 2009 1:19 PM
|
Re: Url Master and DotNetNuke 5.0
Well, i was shocked when i saw red text at initial install screen. But after reading this post, install went flawlessly :)
Thanks.
By Ismet Dumlupinar on
Sunday, March 01, 2009 9:06 PM
|
Re: Url Master and DotNetNuke 5.0
@frozen : hey, no problem at all - it just all happened at a bad time.
@ismet : I don't know what the story is with the 'warnings'. I think it's a bad piece of design, especially with the laggy ajax postback which makes you end up clicking it about 3 times. I'll have to concentrate on separate 5.x and 4.x releases to make full use of the new module installer. I hate having separate install packages, but there is no choice if you want to support the 5.0 features.
By Bruce Chapman on
Monday, March 02, 2009 11:34 AM
|
Re: Url Master and DotNetNuke 5.0
I currently have a paid licensed version for two portals version 1.14.8. I recently upgraded the portal to 5.2. what do I need to do to correct the re-writer issue with adding additional aliases? I have read in your KB that the latest version is 1.15.1. how should I install this version without breaking anything?
Thanks. Pierre
By prempos on
Thursday, February 11, 2010 9:32 AM
|
Re: Url Master and DotNetNuke 5.0
@pierre : just download the latest version and install it via the module installer.
By Bruce Chapman on
Thursday, February 11, 2010 1:20 PM
|