For the longest time, DotNetNuke has assumed in many areas that administrators and hosts know what they're doing. Why shouldn't we assume that? I will not advocate that we should rethink that philosophy, because I don't believe that should. But the DNN team has done just that with a usability "feature" that was introduced in DotNetNuke version 5.00.00.
A well-known feature of DNN, is allowing administrators to change the "page" that is used when a visitor clicks the Login link on a DNN site. This is very useful if you want to decorate the login form with advertising, instructions, or if you want to enable SSL on the login page. It's easy enough to do as well. Just login using an account with administrator permissions. Then change the setting, like shown in the screen shot below.
Once you choose the page, and click the Update link at the bottom of the Site Settings, you will now be able to login on the selected page, right? Not always. The first step that countless people have overlooked in this process, is adding the Account Login module to the selected page, BEFORE logging off of the website. Missing this step has essentially made your DNN site inaccessible to everyone using every known trick.
Basically, when a visitor would click the login link following the login page update, the page would reload, sans a login form. Fortunately, this was easily fixed using the following query:
1: -- replacing XXX with the correct portal id, normally 0
2: UPDATE [dbo].[Portals] SET [LoginTabId] = NULL WHERE [PortalID] = XXX
Admittedly, I cannot tell you how many times this single query has earned me a little bit of consulting income. The DNN core team has put an end to that.
Starting with DotNetNuke version 5.00.00, when DNN sees that the Account Login module is not on the page, it will do it for you. This little usability update will save countless numbers of people an untold amount of frustration.
My title playfully said that I hate this update, but that's not true. I am surprised that this update hasn't made it into the code base sooner. And I am no longer going to be able to charge for this service. *sniffles*
I was presenting a session to the Space Coast SQL Server User Group in Melbourne, Florida last night. One of my demos consisted of re-enabling the login as described above. Being a good DNN evangelist (self-titled), I was using the most current version of DNN (5.00.01). Boy was I embarrassed at this. But it got some good laughs. I think a lot of people secretly hope for demos to fail anyway. :)