You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The module uses SearchModuleBase for indexing the announcements, after changing any module setting, the indexer stops working in certain timezone configurations. Dnn is not known for using best practices on timezones and in some places it uses utc, some other places the web server timezone, and some other places the sql server timezone. This is very inconsistent.
Best practices is for the DataStore to always use UTC when saving information and for the code to handle timezones as appropriate. The Announcements module just uses the server timezone for all dates and times, this is wrong as the server might not even be in the site timezone, etc.
Software Versions
DNN: any
Module: 07.02.03 and all previous.
To Reproduce
Steps to reproduce the behavior:
Have a server that is in any negative timezone (in my case GMT-5)
Clear Dnn Search and run the indexer scheduled task.
Go to the module settings and enable RSS Feed. (changing a module setting updates the Module LastContentModifiedOnDate value for the module) which is wrong, we did not change any content by changing settings.
Add a new announcement
Run the indexer scheduled task again
View the RSS feed
Wrong behaviour
The newly added announcement does not show and you can reindex all you want, it will never get indexed because changing the setting told the Dnn indexer that this point in time was the last content change, adding an annoucement does not change that and Dnn skips indexing the module until a new settings change is done, but then the schduler last indexed date is farther in the future than the last updated date of the actual announcement and well it is skipped forever.
Expected behaviour
There are a couple of things.
The annoucement dates and times should not change if the webserver location or the sql server location changes, for this we need to save the data as UTC and in code convert them back to the site preferred timezone, that will handle server moves scenarios.
We should not call SynchronizeModule when saving settings, this method was meant for content changes, not for settings changes. Also, I believe this was there in a time where changing settings would not clear cache. Dnn now handles that, so we can simply stop calling that method.
Error log
Note: Debug DLL's
This issue was not throwing any errors.
Additional context
I am submitting a PR for this shortly and due to the nature of the changes, I will publish a pre-release for testing.
I am specially interested in people testing this new release (7.2.4) on upgrades and localized installation usages. If you can test that new release and find issues with it, please comment...
The text was updated successfully, but these errors were encountered:
Describe the bug
The module uses SearchModuleBase for indexing the announcements, after changing any module setting, the indexer stops working in certain timezone configurations. Dnn is not known for using best practices on timezones and in some places it uses utc, some other places the web server timezone, and some other places the sql server timezone. This is very inconsistent.
Best practices is for the DataStore to always use UTC when saving information and for the code to handle timezones as appropriate. The Announcements module just uses the server timezone for all dates and times, this is wrong as the server might not even be in the site timezone, etc.
Software Versions
To Reproduce
Steps to reproduce the behavior:
Wrong behaviour
The newly added announcement does not show and you can reindex all you want, it will never get indexed because changing the setting told the Dnn indexer that this point in time was the last content change, adding an annoucement does not change that and Dnn skips indexing the module until a new settings change is done, but then the schduler last indexed date is farther in the future than the last updated date of the actual announcement and well it is skipped forever.
Expected behaviour
There are a couple of things.
Error log
Note: Debug DLL's
This issue was not throwing any errors.
Additional context
I am submitting a PR for this shortly and due to the nature of the changes, I will publish a pre-release for testing.
I am specially interested in people testing this new release (7.2.4) on upgrades and localized installation usages. If you can test that new release and find issues with it, please comment...
The text was updated successfully, but these errors were encountered: