Course_mode upgrade_deadline

Are there any triggers or actions that might modify an existing course_mode’s upgrade_deadline, aside from directly changing the value?

I’m noticing that the upgrade_deadline for only a few course_modes keeps reverting to a date that I had previously defined but since overwrote. I spent some time looking through the open_edx source code to try and find anything that might trigger or have influence on the upgrade_deadline value but nothing stood out as a possible culprit.

Thank you,
Collin

So this issue appears to be triggered by the course_published signal for which the associated signal handler is setting the course_mode’s _expiration_datetime equal to course.end - verification_window where course.end is the end date for the course and verification_window is derived from CourseModeExpirationConfig.current().verification_window for which the default value is delta(10 days) (ref: edx-platform/signals.py at bfe6494e9d71f42513885b83afae2664cc52a4cc · openedx/edx-platform · GitHub)

This effect seems to be allowable due to the default value of False used for the course_mode’s expiration_datetime_is_explicit variable. It’s not clear where or how to set expiration_datetime_is_explicit to True for when an Admin user modifies the course_mode’s upgrade_deadline through the Django Admin interface.