I have had some odd issues that took me the better part of the last two days to fix, so I wanted to post the info here in case it helped anyone else. Before I get into it, I must say thank you to the team for this great upgrade to DNN! I have a test deployment and it upgraded fine, and now that my production instance is working properly I'm quite thrilled with the new features.
The first issue I was having was with the login box. When I would log in, the box would not go away, and only once I closed it did the page refresh and show me as logged in. OK, a skin issue right? Nope! I switched the portal over to not use pop-ups and then the same thing would happen, except I no longer had a pop-up to close, the login page simply re-freshed. Navigating to any other page then showed that I was logged in. The culprit: compression. We have been using gZip compression for a while in conjunction with the whitespace filter. Shutting that off took care of the problem (it also helped so I could start seeing error messages relating to the problem below). I was pretty sure gZip compression was included in some best-practices/tuning recommendation I read at some point, but this is not the first time I've seen it cause problems so I'll leave it off until I forget about these problems and turn it back on again.
The second issue relates to adding modules to a page. Immediately after upgrading I was not able to add modules to pages using the new admin bar. When I dropped-down the Category list to switch to "All Categories", the Add Module pop-up form would go away and an error message would appear in the content pane with the following text:
A critical error has occurred.Sequence contains no elements
A look in the error log gave me this:
DotNetNuke.Services.Exceptions.PageLoadException: Sequence contains no elements ---> System.InvalidOperationException: Sequence contains no elementsat System.Linq.Enumerable.First[TSource](IEnumerable`1 source)at DotNetNuke.Web.UI.WebControls.DnnModuleComboBox.BindPortalDesktopModuleImages()at DotNetNuke.Web.UI.WebControls.DnnModuleComboBox.BindAllPortalDesktopModules()at DotNetNuke.UI.ControlPanel.AddModule.LoadModuleList()at DotNetNuke.UI.ControlPanel.AddModule.CategoryListSelectedIndexChanged(Object sender, EventArgs e)at System.Web.UI.WebControls.ListControl.OnSelectedIndexChanged(EventArgs e)at System.Web.UI.WebControls.DropDownList.RaisePostDataChangedEvent()at System.Web.UI.WebControls.DropDownList.System.Web.UI.IPostBackDataHandler.RaisePostDataChangedEvent()at System.Web.UI.Page.RaiseChangedEvents()at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)--- End of inner exception stack trace ---
After looking at the code for BindPortalDesktopModuleImages I was able to find the two stored procedures that are invoked to get the data, GetDesktopModules and GetPackages. I ran them manually and received no errors, so I figured they were returning some sort of data the combo box code did not care for. Since I'm a DB guy, I started playing with the data. At one point I cleared out the DesktopModules table and started re-adding records one at a time to find the culprit. And, I did: Google AdSense had a PackageID=-1 which caused a FK problem: there is no package with PackageID=-1. Somehow this constraint had not been enforced in the past by some update or delete, or DNN upgrade. By this time I had pretty well screwed up DNN (it really did not like me clearing out of DesktopModules) so I restored from my backup, deleted the Google AdSense record from DesktopModules and everything was well in the world again. It should be noted, I did not have any instances where I was actually using Google AdSense so this action was without harm to my production installation.
Thanks again team, I'm looking forward to attending DNN World for the first time this year.