-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Module 7.0.6 Fails after Upgrade to DNN 9.8.0 #229
Comments
I can confirm this. After installing the debug assemblies I got the following in the inner stack trace:
It looks like that loading the theme causes the issue. I tried uninstalling the module, and after re-installing it it worked fine, but I had to go back to 9.7.2 not to lose the events. |
Something strange with the modulesettings? |
Nothing special, afair. Would a list of all ModuleSettings be helpful? BTW: It happened on two different sites, both of them have an instance of the module (these are all sites that I have that use the module). There is no master calendar or anything. Both portals have only one language activated (de-AT), I installed DNN 9.7.2 (blank site template) in a testing environment, activated de-AT and deactivated en-US. I installed the Core Resource Pack (de-AT), Events 07.00.06 and the de-AT resource pack. Then I placed an instance of the Event module on the start page. There were just a few settings to change to make it work (Email addresses, timezone - note: I did not change anything else!), then I added some events, Then I upgraded to DNN 9.8.0 - and the error was there. So it is easy to reproduce. |
I didn't spend much time on it due to 9.8.0 being pretty new. When I tested I believe I got the same error. I restored the site back to 9.7.2 and really didn't do much troubleshooting. |
Just tried to upgrade a site from DNN 9.6.1 to 9.8.0 - same problem. Here I have a "master" calendar that includes three sub calendars. The only one that works is the sub-calendar that does not have a single event (lazy editor :-)) |
Set up a DNN 9.7.2 website (blank template), just added the Events Module, I placed it on the start page, set the timezone and the email addresses and added an event. Upgraded to 9.8.0 -> Error. So this is no localization issue. Did the same without adding an event, and without changing any setting (just went into settings, and clicked update). Then upgraded to DNN 9.8.0. No error, Could add an event as well. |
The serialization in DNN980 has changed on several points from previous DNN versions causing a breaking error:
I did not have time yet to see how this can be fixed. |
I get the same error (Message:Could not cast System.Collections.ArrayList to property ModuleLocationIDs of type System.Collections.ArrayList |
@brewadmin Yes, I know, it is a result of the changed Settings routines in DNN980. I still have to see what has to be changed... |
Hi Ernst
Thanks for the reply.
It must be pretty frustrating sometimes with the breaking changes coming through so often.
Kind regards
Brent Wilson
ITM Website Design, SEO and Digital Marketing
084 7515 616
<http://www.itm.co.za/> www.itm.co.za
From: Ernst Peter Tamminga <notifications@github.com>
Sent: Monday, 11 January 2021 3:36 PM
To: DNNCommunity/DNN.Events <DNN.Events@noreply.github.com>
Cc: Brent Wilson <brent.wilson@itm.co.za>; Mention <mention@noreply.github.com>
Subject: Re: [DNNCommunity/DNN.Events] Module 7.0.6 Fails after Upgrade to DNN 9.8.0 (#229)
@brewadmin <https://github.com/brewadmin> Yes, I know, it is a result of the changed Settings routines in DNN980. I still have to see what has to be changed...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <#229 (comment)> , or unsubscribe <https://github.com/notifications/unsubscribe-auth/ADJABZYWZ6PW4TNFO3D54O3SZL5CNANCNFSM4VETGRAA> . <https://github.com/notifications/beacon/ADJABZZJWIDGIA2XQ543NUDSZL5CNA5CNFSM4VETGRAKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFUWXQYA.gif>
|
Has anyone discovered a fix for this? We had a ransomeware attack on our server and have been forced to upgrade to 9.8 and now the events module doesn't work. I've looked at the code, but I can't see the failure. Any thoughts on how to get this working? |
I think the error is related to a change in DNN980 in serialization: |
I was thinking it was more related to this change. dnnsoftware/Dnn.Platform#4087 But I could be wrong. I to tried looking at the code to see if I could figure it out. I don’t have a proper DNN development environment setup so was unable to follow the DNN source code. I was able to install the symbols and could see which lines of code being reported. That was about it though. |
@james7342 I think you are right. I will try to allocate some time tomorrow to have a serious look since the problem irritates me :-( |
The error is coming from the DNN.Events/Components/EventModuleSettings.cs Lines 414 to 428 in 356397a
|
That looks like it fixes it. I created a DNN 9.7.2 instance. Installed Events 7.0.6 and placed module on page. Changed some random settings and created a single test event. Upgraded to DNN 9.8.1 and verified the issue. Created a fork of the project and just commented out the line 414. Rebuilt the project and installed the module (Repair Installation). Loaded the page and the calendar loaded without error. Since I'm not an everyday developer and not sure what other possible issues might happen with this change I'll let someone smarter than me do the actual code change and commit. But playing with this in my little slice of the world appears to have resolved it. Looks like maybe this was just an errant line. //[ModuleSetting] |
@bdukes Tnx for having a look. I need to see if the ModuleSettings is a result of VB,net->C# conversion some releases ago. |
I have looked into it somewhat further. The code is from serious time back. The list of locations should be saved in the module settings since the module can limit the locations that are available for events in a particular module instance. Commenting out the line [ModuleSettings] is not the solution (yes, it is the solution to circumvent the error, but does not enable saving the settings for location id's). I have to look a bit further to make it without error. Frustrating is that it did work correctly pre DNN980, the setting stored = a "System.Collections.Arraylist" |
@EPTamminga so you're saying that while it didn't error before DNN 9.8.0, it didn't store a meaningful value, right? So, it was never storing the list of IDs that you wanted it to store. You have two options to get the serialization manager to handle a custom type like DNN.Events/Components/EventModuleSettings.cs Lines 356 to 385 in 356397a
The second option it to specify a custom serializer in the |
@bdukes Tnx for the suggestions. What is was trying to say that it did work before DNN980. I will implement the change like the CategoryID's. |
Thanks guys - good stuff here and that makes sense. I appreciate everyone jumping in to make this compatible with DNN 9.8! |
I am having the same issue. I upgraded to DNN 9.8.1 and updated the Events module to 7.0.6 version. The module is loading with an error and the page is breaking. Please can you advise how to fix this? I a using the installable PA version of the Events module. |
@maduranga001 To fix this at the moment you have the following possibilities:
As we see in Brian's and Ernst Peter's post above, a solution should be near... |
Thank you @malikt
|
Testing and verificationI just installed a clean DNN981, installed a clean Events706 and did not find any error... I installed the Events706 on a clean DNN972, created events, no problem. Hotfixing the problemBy deleting (by SQL) the modulesettings table that limits the category and/or location, I can make the module work again. The only negative effect is that you have to reapply the limits on categories and/or locations in the module settings, because those limitations are removed by the SQL statement. HotfixThe SQL statement (to be used from the SQL console in the Host) is:
Events707In the Events707 update, I will implement this delete statement, so the upgrade will also remove the settings since I see no option to upgrade the settings. Verification?I would be more than happy if people here could verify the solution I listed here. New version in the worksIn the meantime, I will change the locationId's settings as mentioned by @bdukes |
@EPTamminga Environment: Test Setup: Test Case 1: Test Case 2: Test Case 3: Let me know of you want me to do any further testing. I run my test environment in VMware and create snapshots before I do anything. Easy restore back to starting point. |
@james7342 You are right. I did not restart the site while testing myself. |
@james7342 In your test environment: update the bin with the following files, but DO clean the settings with the SQL first. |
Thank you very much. |
@maduranga001 First of all, do not use the above things in a production environment. They are just for testing purposes here. I will create a new version (Events 7.0.7, that will handle all the update stuff, with one exception: if you have used the locations and/or category limitations in the module settings, you have to reapply them after installing the new version. |
Different error this time, but still a failure after restarting application. Test Setup: Test Case 1: Test Case 2: Error: Events is currently unavailable. DotNetNuke.Services.Exceptions.ModuleLoadException: Input string was not in a correct format. ---> System.FormatException: Input string was not in a correct format. at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) at System.String.System.IConvertible.ToInt32(IFormatProvider provider) at Components.EventModuleSettings.get_ModuleLocationsSelected() in C:\DDrive\Develop\GitHub\DNN.Events\Components\EventModuleSettings.cs:line 454 at DotNetNuke.Modules.Events.SelectLocation.get_SelectedLocation() in C:\DDrive\Develop\GitHub\DNN.Events\SubControls\SelectLocation.ascx.cs:line 119 at DotNetNuke.Modules.Events.EventMonth.BindDataGrid() in C:\DDrive\Develop\GitHub\DNN.Events\EventMonth.ascx.cs:line 167 at DotNetNuke.Modules.Events.EventMonth.Page_Load(Object sender, EventArgs e) in C:\DDrive\Develop\GitHub\DNN.Events\EventMonth.ascx.cs:line 113 --- End of inner exception stack trace --- |
@james7342 More tomorrow. |
@EPTamminga and @james7342 - has anyone had any luck with getting this to work? I tried with the build but keep getting the same, or something similar, error. What are you guys thinking? Thanks for all the help here! - Sam |
@blair260- Nothing is fixed yet in code and the potential workaround doesn’t work long term. Ernst was going to do some more work on it, but I’m sure the day job might be getting in the way. Anyone running the module should hold off on upgrading to DNN 9.8.X at this point until it’s resolved. |
I am still on it, but due to work and some private matters, I could not allocate time to do the requires changes and testing. |
I could finally allocate time to have a new round on the error. Do not do the following things on a production site!The instruction is for testing purposes only! Instruction for validationThe instruction below can be executed on an upgraded site (DNN980 or DNN981) that has DNNEvents 7.0.6 installed and produces the error. Run the following SQL statement in the Host/SQL option, to clear out the setting that causes the error (you will lose the location limitation setting in the module settings, but that has to go)
Unzip the files in the attached zip en copy (overwrite) them in the bin folder of the site. Things should work now without error. Please provide feedback@MaiklT @maduranga001 @djamell @blair260 @james7342 @brewadmin Any of you available to do some testing? If I get confirmation on success, I will create a new DNNEvents release |
Ernst, I think you might have got it. Starting Environment: Test Setup: Test Case 1: Test Case 2: Test Case 3: Test Case 4: |
@james7342 Thank you for your feedback! |
Hi Ernst
There is a an additional concern around the DotNetNuke.Modules.Events.dll and its dependency on the Telerik controls and dll’s
We are moving all our clients off and removing modules dependent on Telerik, because one of our most important clients was hacked via these components
Kind regards
Brent Wilson
ITM Website Design, SEO and Digital Marketing
084 7515 616
<http://www.itm.co.za/> www.itm.co.za
From: Ernst Peter Tamminga <notifications@github.com>
Sent: Sunday, 31 January 2021 8:13 PM
To: DNNCommunity/DNN.Events <DNN.Events@noreply.github.com>
Cc: Brent Wilson <brent.wilson@itm.co.za>; Mention <mention@noreply.github.com>
Subject: Re: [DNNCommunity/DNN.Events] Module 7.0.6 Fails after Upgrade to DNN 9.8.0 (#229)
@james7342 <https://github.com/james7342> Thank you for your feedback!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <#229 (comment)> , or unsubscribe <https://github.com/notifications/unsubscribe-auth/ADJABZZSZHTCGKVF57BHQ43S4WMS7ANCNFSM4VETGRAA> . <https://github.com/notifications/beacon/ADJABZYBHQSDETLXDFLOS6DS4WMS7A5CNFSM4VETGRAKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFXV37GA.gif>
|
@brewadmin There is already an issue (#85) about this. |
I have created an update (07.00.07) that should solve the problem. I have to some additional research, because I have the idea that the default filtering on categories and/or locations in the module settings are not saved on restarts. If you do not use this setting (most users do not use this particular filtering), you do not have to worry. |
Describe the bug
After Upgrading from 9.7.2 to 9.0.8 the Events Module 7.0.6 fails to load. Module loaded and worked fine on DNN 9.7.2
To Reproduce
Loading any page with either the Events Module or the Latest Module results in an error.
Expected behavior
Module should load without error
Screenshots
If applicable, add screenshots to help explain your problem.
Error logAbsoluteURL:/Default.aspx
DefaultDataProvider:DotNetNuke.Data.SqlDataProvider, DotNetNuke
ExceptionGUID:f6b6f0bb-ce24-4a5f-8ed2-f3c6bb75fb74
AssemblyVersion:
PortalId:-1
UserId:-1
TabId:-1
RawUrl:
Referrer:
UserAgent:
ExceptionHash:NS09lb/i4bKyc1saI0kTi2ZSvOs=
Message:Could not cast System.Collections.ArrayList to property ModuleLocationIDs of type System.Collections.ArrayList
StackTrace:
at DotNetNuke.Entities.Modules.Settings.SerializationManager.DotNetNuke.Abstractions.ISerializationManager.DeserializeProperty[T](T myObject, PropertyInfo property, String propertyValue, String serializer)
at DotNetNuke.Entities.Modules.Settings.SettingsRepository
1.<>c__DisplayClass16_0.<Load>b__0(ParameterMapping mapping) at DotNetNuke.Collections.CollectionExtensions.ForEach[TType](IEnumerable
1 source, Action1 action) at DotNetNuke.Entities.Modules.Settings.SettingsRepository
1.Load(CacheItemArgs args)at DotNetNuke.Common.Utilities.DataCache.GetCachedDataFromRuntimeCache(CacheItemArgs cacheItemArgs, CacheItemExpiredCallback cacheItemExpired)
InnerMessage:Could not cast System.Collections.ArrayList to System.Collections.ArrayList
InnerStackTrace:
at DotNetNuke.Entities.Modules.Settings.SerializationManager.DeserializeValue(String propertyValue, String serializer, Type destinationType)
at DotNetNuke.Entities.Modules.Settings.SerializationManager.DotNetNuke.Abstractions.ISerializationManager.DeserializeProperty[T](T myObject, PropertyInfo property, String propertyValue, String serializer)
Source:DotNetNuke
FileName:
FileLineNumber:0
FileColumnNumber:0
Method:
Server Name: martserver2
Additional context
Add any other context about the problem here.
The text was updated successfully, but these errors were encountered: