#1248 subtask date editing messes up composite task dates!

Release_1.3.18
closed
None
multiple
1
2012-10-07
2012-08-25
Aaron Wolf
No

I originally posted this as a feature request, but I am now convinced it is really a bug. The current situation threatens to cause real problems for users within the way Task Coach is supposed to work right now.

My current example: I made a task, marked it planned for tomorrow. Then I made a subtask later. Because I have proposed date for planned start as today, there was no way to plan the subtask for tomorrow also without messing up the composite task, unless I were to first move the subtask out from the parent. The problem is, the date and time are not editable until I click the check to activate planned date. Activating it sets it to today, and this forces the composite task's date to match. Thus, I have to go back and fix the composite task. But all I wanted was for both tasks to be marked for tomorrow!

This is a serious problem if someone makes a mistake when editing a subtask's dates. Currently, changing a subtask's dates forces a change in the parent's dates, but this is not necessarily shown to the user. So if the user makes a big mistake, say the wrong year, and then fixes it, they may not realize the need to fix the parent task's dates! And sometimes there is no way to remember what the intended date originally was!

Partial fix idea: make proposed dates and times editable. In other words, allow the dates and times to be edited even though the date in question has not been checked as active. This way, I could at least get the dates I want and then check them afterwards. This could still result in accidentally messing things up, but it would at least function.

Better fix idea:
A. Override the default preferences for proposed dates when making a new subtask. All unmarked dates for subtasks should have proposed dates that match the parent task. I prefer this solution as the most seamless. It is often the case that users will want subtasks to have dates that match their parents.
and also
B. Have some conflict dialog come up whenever a subtask (whether one being moved or one being changed) has dates that conflict with the parent task. Allow the user to choose some resolution so that dates don't get forcibly changed without intention. The dialog should have three options: "adjust the parent task to match the new date", "adjust the subtask's dates to match the parent", and "undo this action" (i.e. undo the date change that was set or undo the moving of the subtask into the parent.

I'm happy to discuss more how to best solve this, but I really think this needs to be solved soon.

Discussion

  • Aaron Wolf
    Aaron Wolf
    2012-08-25

    Note: the partial fix I mentioned probably should be ignored. It requires the user to be very careful. Otherwise problems will still happen. The idea of editing proposed dates within a given task could have other uses though, but I don't know if it makes sense to think about here.

     
  • Aaron Wolf
    Aaron Wolf
    2012-09-02

    This is really screwy. It's the sort of bug that I want fixed before I work on related tutorial ideas. I don't want to have to tell users how to be careful to avoid screwing everything up.

    But I thought of a MUCH simpler solution!

    Instead of my proposed solutions posted here first, consider this:

    Just turn off the problematic forcing of parent times to match subtask times! It is this interaction that causes all of the issues.

    The solution instead is to make it behave just like how priority and due date already work: adjust the parent task to be shown and sorted in order to account for any subtask date issues. When the composite is collapsed, show the date in parentheses matching the soonest subtask (just like how it works already for priority).

    With this far better behavior, all the other things I mentioned, like giving new subtasks proposed dates that match the parent, can be considered feature requests.

    Also, this solution removes the need for a conflict dialog.

    I am marking this high priority.

     
  • Frank Niessink
    Frank Niessink
    2012-09-03

    A fix was made and checked into the source code repository of Task Coach. The fix will be part of the next release. You will get another notification when that release is available with the request to install the new release and confirm that your issue has indeed been fixed.

    If you like, you can download a recent build from http://www.fraca7.net/TaskCoach-packages/latest_bugfixes.py to test the fix before the next release is available.

    Because a fix has been made for this bug report, the priority of this report has been lowered to 1 and its resolution has been set to 'Fixed'. Please keep the status of the bug report 'Open' until the next release is available to prevent duplicate bug reports.

    Thanks, Task Coach development team

     
  • Frank Niessink
    Frank Niessink
    2012-09-03

    Date handling should now be consistent with priorities and other attributes. So no automatic adjustment of parent/child dates (except when marking completed and when adding prerequisites).

     
  • Aaron Wolf
    Aaron Wolf
    2012-09-26

    • status: open --> pending
     
  • Frank Niessink
    Frank Niessink
    2012-10-07

    This should be fixed in release 1.3.19.

     
  • Aaron Wolf
    Aaron Wolf
    2012-10-07

    • status: pending --> closed
    • platform_s: --> multiple