OK, here's some useful info for 3 errors, and 3 workarounds. I verified these on a couple of DNN 4.6.1 > 4.8.0 upgrades.
These issues have been reported in Gemini.
Admin / Security Roles / User Settings (the control menu)
If the bottom setting "Users display mode in Manage Roles" with a label that indicates "Select the Users Control to use in the Manage Roles module control" is set to "Text Box" it will crash. If set to "Combo Box" it will work. Regardless of the number of users as previously thought.
If set to "Text Box" it will fail with the following message:
DotNetNuke.Services.Exceptions.ModuleLoadException: Object reference not set to an instance of an object. ---> System.NullReferenceException: Object reference not set to an instance of an object. at DotNetNuke.Modules.Admin.Security.SecurityRoles.grdUserRoles_ItemDataBound(Object sender, DataGridItemEventArgs e) at System.Web.UI.WebControls.DataGrid.OnItemDataBound(DataGridItemEventArgs e) at System.Web.UI.WebControls.DataGrid.CreateItem(Int32 itemIndex, Int32 dataSourceIndex, ListItemType itemType, Boolean dataBind, Object dataItem, DataGridColumn[] columns, TableRowCollection rows, PagedDataSource pagedDataSource) at System.Web.UI.WebControls.DataGrid.CreateControlHierarchy(Boolean useDataSource) at System.Web.UI.WebControls.BaseDataList.OnDataBinding(EventArgs e) at System.Web.UI.WebControls.BaseDataList.DataBind() at DotNetNuke.Modules.Admin.Security.SecurityRoles.BindGrid() at DotNetNuke.Modules.Admin.Security.SecurityRoles.DataBind() at DotNetNuke.Modules.Admin.Security.SecurityRoles.Page_Load(Object sender, EventArgs e) --- End of inner exception stack trace ---
I don't know enough to know what's at play here. My guess would be that the Text Box no longer exists, and that the setting should be removed as an option.
Admin/User Accounts/Manage Roles for User
If "Send Notification" is checked, roles can be deleted, but for SOME users (not all ?!) roles can't be added without throwing the following error. Howver, the Role DOES get added, and notification DOES get sent. A refresh of the page after the error is thrown displays the added role in the datagrid as expected.
Method: System.Globalization.CultureInfo..ctor
StackTrace:
Message: DotNetNuke.Services.Exceptions.ModuleLoadException: String reference not set to an instance of a String. Parameter name: name ---> System.ArgumentNullException: String reference not set to an instance of a String. Parameter name: name at System.Globalization.CultureInfo..ctor(String name, Boolean useUserOverride) at DotNetNuke.Security.Roles.RoleController.SendNotification(UserInfo objUser, RoleInfo objRole, PortalSettings PortalSettings, String Action) at DotNetNuke.Security.Roles.RoleController.AddUserRole(UserInfo objUser, RoleInfo objRole, PortalSettings PortalSettings, DateTime effDate, DateTime expDate, Int32 userId, Boolean notifyUser) at DotNetNuke.Modules.Admin.Security.SecurityRoles.cmdAdd_Click(Object sender, EventArgs e) --- End of inner exception stack trace ---
This happens in Admin / Security Roles when trying to add the same user to a role.
This is caused by the user having a missing value in the UserProfile table for Preferred Locale. If you go to the user's profile page, and update their preferred locale, it fixes the problem for that user. [ Edit ] THIS IS NOT a DNN bug. All other DNN installations that relied on native registration (versus an addon) were fine. Of course, maybe DNN should apply a default preferred locale if nothing is found in the UserProfile table for the user (hint). After all, if only 1 language is installed, it should be the default.
[ Edit ] Note - this may have been caused by using DataSprings Dynamic Registration (v3 is spectacular) and not having a preferred locale specified on the custom registration form. Still, the DNN profile item "Preferred Locale" was specified to have a default value of en-US but it didn't get saved to new profiles.
If AJAX is enabled in Host Settings, you will lose the ability to display the telephone or email address column in the datagrid of Admin / User Accounts when doing a search (i.e. filtering records).
The 2 columns display fine when the alpha search is done (e.g., click the letter "A"), but if doing a filtered search, they don't display any data.