Comment 3 for bug 1427392

Revision history for this message
Michele Morgan (mmorgan) wrote :

I agree there may be value in retaining Hard Due Dates, but it's actually not the Hard Due Dates themselves being addressed here. Rather it's the individual Hard Due Date Values containing Ceiling Dates and Active Dates which can pile up over time.

For clarity, below I'll refer to "Hard Due Dates" as HARD DATES and "Hard Due Date Values" as VALUES.

Here's a use case:

An academic library sets up a HARD DATE named "End of Semester". The idea is they have a three week loan period, but never want materials due after the last day of finals. So they set up a VALUE for the end of each semester that updates the ceiling in the HARD DATE automatically based on the Active Date in the VALUE. After a few years, the list of VALUES could look like this:

Ceiling Date Active Date

5/15/13 1/1/13
12/15/13 6/1/13
5/15/14 1/1/14
12/15/14 6/1/14
5/15/15 1/1/15
12/15/15 6/1/15

The earlier VALUE entries clutter up the display and are not useful to retain. They are also sorted in ascending order putting the oldest, less relevant values at the top.

A related problem occurs when libraries routinely set up their VALUES in advance, then update the Current Ceiling Date in the HARD DATE directly.

Here's a use case illustrating this problem:

An academic library has been adding VALUES in advance based on the academic calendar. Close to the end of the semester, they see due dates of 5/16/15 and see that the Current Ceiling Date in the HARD DATE is 12/15/14. They realize they have neglected to add the VALUE in advance to stop the date at 5/15/15. They update the Current Ceiling Date in the HARD DATE to 5/15/15 directly which solves the problem for the rest of the day.

Overnight, the Current Ceiling Date in the HARD DATE is updated based upon the most recent entry in the VALUES list, reverting their direct change to the HARD DATE back to 12/15/14. The ability to delete VALUES is one way to avoid this.

Another way to avoid the second problem is to teach the update hard due dates process to ignore VALUES with past Active Dates.