Firstly, I agree in principle that this would be a beneficial feature for the software.
Note: What follows is me 'thinking out loud' so not everything I say needs you to respond.
tomatoma wrote: ↑Thu Nov 14, 2024 8:09 am
1. a visual way to view/edit/add the Tracked Time with TDL. This would be the purpose of a new tab which I called "Visual Tracker"
Currently, entries are added to the time log simply by seeking to the end of the file and writing another line, because this operation needs to be as fast as possible for the software to remain responsive.
Allowing individual entries at any location to be edited would require something 'crafty' to achieve similar performance. My initial idea would be to store all the offsets into the log file for each line/entry so to update any given entry would require:
- Open the log file
- Move the file pointer to the beginning of the line after the line to be updated
- Read all subsequent lines/entries into memory
- Move the file pointer to start of the line to be updated
- Write the modified line to the log file
- Write the lines in memory to the log file
- Close the log file
Note that is would be fairly quick for recently logged entries (near the end of the file) but slower for older entries which is probably acceptable.
tomatoma wrote: ↑Thu Nov 14, 2024 8:09 am
2. the possibility to insert the actual time spent on the activity for each chunk of time (e.g.: worked on Task 1 from 10:00 to 12:00, but the actual time spent working on that task was less than 2 hours, say 1h 30 min)
Since a log file entry contains both the start and end date/times and the actual time spent in hours, this might be feasible.
tomatoma wrote: ↑Thu Nov 14, 2024 8:09 am
3. the possibility to have TDL compute the % Complete, according to the initial Time Estimate and the actual time spent on the task. See next point in case one updates the 'Total Estimated Time to Execute the Task'
Are you aware that there are already 'Calculation' preferences that will do this?
Code: Select all
Tools > Preferences > Tasks > Attribute Calculations > Display a task's '% Completion' as being equal to its 'Time Spent' divided by its 'Time Estimate'
tomatoma wrote: ↑Thu Nov 14, 2024 8:09 am
4. the initial Time Estimate is often wrong (it's a guessed time). While working on a task one can realize that it's going to take more time or less time to complete the task wrt the initial Time Estimate. Every time a chunk of time is added to the Time Spent on a Task, it should be possible to insert an estimation of the remaining time to complete the task. 'Actual Time Spent' + 'Last Estimated Time to Complete the Task' = 'Total Estimated Time to Execute the Task'. '% Complete' = 'Actual Time Spent' / 'Total Estimated Time to Execute the Task' * 100
Hmm... Based on my response to 3. I'm not sure why it wouldn't just be necessary to for you to update the time estimate and have the auto-calculation do the rest...
tomatoma wrote: ↑Thu Nov 14, 2024 8:09 am
5. other features such as colouring the chunks of times in the Visual Tracker according to some rules, an option to limit the time visible in the Visual Tracker (and Week Planner too) to a desired time range (e.g. I'm generally not interested to view the time before 8:00 and after 18:00)...
Colouring the chunks with anything other than their associated task colour is trickier because, although I could add that information to the log file itself, I'd like to avoid having a view/plugin fiddling with the log file format because that opens the door for all manner of maintenance issues.
As for limiting the visible time, I've already implemented this in the Week Planner for version 9.0.
tomatoma wrote: ↑Thu Nov 14, 2024 8:09 am
6. the possibility to add Tracked time (activity) in the Visual Tracker for activities not included in the Task Tree
Currently the design of the software requires everything (data-wise) to be associated with a specific task ID but, contrary to what I said before, there might be scope, because we won't be saving any additional information to the tasklist itself, to allow entries to be added to the log file with a zero/0 ID.
---------------------------------
If I were to proceed, this would definitely be a 9.1+ feature.