Open teambound opened 9 years ago
I located and fixed the "Action must be one of . . . " Scheduler Error which you raised on the CodePlex project site. However, I am still not able to reproduce this null reference error which apparently occurs whenever the module's scheduler tries to automatically resend invitations which have not yet been accepted, rejected, or have expired. I have added more extensive exception handling/notification to the Mail Manager code and have built a new assembly file (WESNet.DNN.Modules.ByInvitation.dll) which I will push up to the project's repository here on GitHub in a few minutes. Is it possible for you to replace the WESNet.DNN.Modules.ByInvitation.dll assembly file currently located in the problem site's /bin folder with the one from the GitHub repository /bin folder? Then, please email me the complete text (do NO post for public view) of any error notifications that are generated. My email is bill (at) wesnetdesigns.com. Thanks!
Will do!
Sent from my iPhone
On May 8, 2015, at 9:22 AM, Bill Severance notifications@github.com wrote:
I located and fixed the "Action must be one of . . . " Scheduler Error which you raised on the CodePlex project site. However, I am still not able to reproduce this null reference error which apparently occurs whenever the module's scheduler tries to automatically resend invitations which have not yet been accepted, rejected, or have expired. I have added more extensive exception handling/notification to the Mail Manager code and have built a new assembly file (WESNet.DNN.Modules.ByInvitation.dll) which I will push up to the project's repository here on GitHub in a few minutes. Is it possible for you to replace the WESNet.DNN.Modules.ByInvitation.dll assembly file currently located in the problem site's /bin folder with the one from the GitHub repository /bin folder? Then, please email me the complete text (do NO post for public view) of any error notifications that are generated. My email is bill (at) wesnetdesigns.com. Thanks!
— Reply to this email directly or view it on GitHub.
Although I have committed the changed code to GitHub, I have not yet been able to upload the new assembly as binary files are normally excluded from the project repository. Will advise when ready - most likely under the GitHub Releases for the project.
It's up there . . . click on the "1 release" link just above the heavy green bar on the project's repository page here on GitHub then download the WESNet.DNN.Modules.ByInvitation.dll. Also, before replacing the existing dll in the site's /bin folder, please double check that it's version is 1.00.01 and not 1.00.00.
Hi Bill
Loaded the new dll and did a test. I believe that I found the null issue. When I am logged in as a normal user and do an invite (I have the options set to not ask for a username or roles) the module sends the invitation and the process appears to work ok. But if I am logged in as admin and do not enter a username the module throws that error and still sends the invitation. I suspect a blank user name would create the null condition.
I have been testing with the new dll. where would I see the error messages if there was a problem? in the notification?
Thanks for the help on this.
Carl
Carl Norloff President & CEO Rheebo, Inc. carl@rheebo.com 978-335-2420
LinkedIn: www.linkedin.com/in/cnorloff/ Facebook: www.facebook.com/MyRheebo
for local things that matter
244 Newburyport Turnpike, Rowley MA 01969
From: Bill Severance [mailto:notifications@github.com] Sent: Friday, May 08, 2015 10:05 AM To: wesnetdesigns/WESNet.DNN.Modules.ByInvitation Cc: teambound Subject: Re: [WESNet.DNN.Modules.ByInvitation] Error processing email (#1)
It's up there . . . click on the "1 releases" link just above the heavy green bar on the project's repository page here on GitHub then download the WESNet.DNN.Modules.ByInvitation.dll. Also, before replacing the existing dll in the site's /bin folder, please double check that it's version is 1.00.01 and not 1.00.00.
Reply to this email directly or view https://github.com/wesnetdesigns/WESNet.DNN.Modules.ByInvitation/issues/1#i ssuecomment-100241753 it on GitHub. https://github.com/notifications/beacon/AGoi5u1Yo6UvjjebRsWAi5tGdHq9-5fLks5 oHLn_gaJpZM4EOO9O.gif
Here is the latest error in the scheduler: By Invitation Scheduler WESNet_ByInvitation Invitation Scheduler DoWork Starting ea2bddca-9c7c-4553-8d6a-ddc236619dc7 WESNet_ByInvitation Notification Scheduler Failed: System.NullReferenceException: Object reference not set to an instance of an object. at DotNetNuke.Entities.Urls.BasicFriendlyUrlProvider.GetFriendlyAlias(String path, String portalAlias, Boolean isPagePath) at DotNetNuke.Entities.Urls.BasicFriendlyUrlProvider.FriendlyUrl(TabInfo tab, String path, String pageName, String portalAlias) at DotNetNuke.Common.Globals.NavigateURL(Int32 tabID, Boolean isSuperTab, PortalSettings settings, String controlKey, String language, String pageName, String[] additionalParameters) at DotNetNuke.Common.Globals.NavigateURL(Int32 tabID, Boolean isSuperTab, PortalSettings settings, String controlKey, String language, String[] additionalParameters) at DotNetNuke.Common.Globals.NavigateURL(Int32 tabID, Boolean isSuperTab, PortalSettings settings, String controlKey, String[] additionalParameters) at DotNetNuke.Common.Globals.NavigateURL(Int32 tabID, PortalSettings settings, String controlKey, String[] additionalParameters) at WESNet.DNN.Modules.ByInvitation.InvitationInfo.BuildActionLinkUrl(String action) at WESNet.DNN.Modules.ByInvitation.InvitationInfo.GetProperty(String propertyName, String format, CultureInfo formatProvider, UserInfo accessingUser, Scope accessLevel, Boolean& propertyNotFound) at DotNetNuke.Services.Tokens.BaseCustomTokenReplace.replacedTokenValue(String strObjectName, String strPropertyName, String strFormat) at DotNetNuke.Services.Tokens.BaseTokenReplace.ReplaceTokens(String strSourceText) at WESNet.DNN.Modules.ByInvitation.Tokenizer.ReplaceInvitationTokens(String sourceText) at WESNet.DNN.Modules.ByInvitation.NotificationsHelper.SendNotifications(InvitationInfo invitation, Notifications reasons, String message) at WESNet.DNN.Modules.ByInvitation.InvitationScheduler.DoWork()
The null reference error is originating in DNN's BasicFriendlyUrlProvider.GetFriendlyAlias method which accesses the HttpContext object. However, within a scheduled job, the HttpContext object is null. I had thought that this was fixed in DNN 7.3.x. Here's the issue in DNN support tracker: https://dnntracker.atlassian.net/browse/DNN-3140 . Not sure why I can't reproduce it in development . . . Please answer the following:
I will have to create a work around . . . most likely generating the Join and Decline email links at the time the invitation is created, not at the time it is emailed.
Just spent some more time pouring through the DNN core code. It appears that the AdvancedFriendlyUrl.GetFriendlyAlias method avoids the null reference error but the BasicFriendlyUrlProvider does not. I'm especially interest in question 4 I posed above and suspect that your urlFormat attribute is set to "humanFriendly", particularly if the site was upgraded from DNN 6.x.
You are correct I cannot use the advanced URL because I have a couple of modules that don't work with it correctly
Sent from my iPhone
On May 8, 2015, at 10:49 PM, Bill Severance notifications@github.com wrote:
Just spent some more time pouring through the DNN core code. It appears that the AdvancedFriendlyUrl.GetFriendlyAlias method avoids the null reference error but the BasicFriendlyUrlProvider does not. I'm especially interest in question 4 I posed above and suspect that your urlFormat attribute is set to "humanFriendly", particularly if the site was upgraded from DNN 6.x.
— Reply to this email directly or view it on GitHub.
I have added a 2nd release of replacement assembly file WESNet.DNN.Modules.ByInvitation.dll which should fix the null reference exceptions occurring during each run of the By Invitation scheduled job on sites which have the friendly url provider's urlFormat attribute set to "advanced" in web.config. Please replace the DLL file of the same name in the site's /bin folder with the one found in the new release (01.00.01.04) and let me know if this fixes the issue. Thanks!
Hi
This issue has resurfaced. Had a user submit 3 invitations and this error shows up every time the scheduler runs
The following error occured during the creation, sending, management, or processing of site registration invitations: Date and Time of Error: 5/2/2015 8:03 AM
Website: Rheebo
Mail Manager Exception: Object reference not set to an instance of an object.
So I tried a test invitation and received and error on submission. By invitation is unavailable.
Nothing else in the event log. Any ideas on how to diagnose?