Sooner or later we would need some method quickly sum up efforts and estimation on sub tasks. One methode could be to add new fields to the task-table:
- sum_efforts
- sum_estimated
- num_open_subtasks
Then we could implement new function to
class_task that provide this use the cached values or recompute them, if the value is -1. If an task is edited (or a new sub task created) the complete parent task list up to project would be set to "-1" to make them be recomputed next time.
The problem however would be filtered list (like milestones) or tasks hidden to the user. Image a client wondering about the sum of estimated efforts not matching the task visible to him. I have no idea how to deal with this problem.