|
I am loving the direction the new Time Analysis is going. IMHO this has been the only shortcoming of TDL. Since this feature is still in its infancy I would like to request a few things. Maybe some are already in the pipe?
- Ability to report time on a task including all subtasks. Currently the report shows each task individually. However I have a number of subtasks under different parent tasks with the subtasks having the same name. For example I have 3 Projects (Root tasks) where I have a subtask "Test installation". The Time Analysis report shows 3 different "Test Installation" entries, but no indication of which parent or root task they belong to. I have been playing around with different ways to track time based on TDL generated files, and recently have been trying to get this done through SQL. I have successfully imported Task.xml and log.csv into 2 different SQL tables by having each record contain its task ID as well as its parent task ID. In this way I will (in the future once I have more time) be able to track total time on any task including subtask by following the "ID trail". If this would be something available with TDL in the reports, then I would be able to abandon my hack job, and keep the tracking TDL native.
- Show time spent for a date range within a specific task in the UI (including all subtasks), or through a task context menu. Often I will be asked "How much time have we spent on Project XYZ in the last week?" or "How much time have we spent on the QA subtask tree of Project XYZ?". It would be very handy to be able to see this at a glance without the need to print a "disposable" report.
- Print time analysis report for one task tree instead of the entire tasklist.
As many have already said, your time is greatly appreciated in helping us all save our time. TDL has been a life saver for me, and I am excited to see what the future holds for this awesome project!
/* Edit: Just noticed what was meant by "added path" is that the path shows the task "tree" the task is a child of. */
It amazes me that on the internet people can choose to be anything they want. Yet so many still choose to be idiots.
modified 26-Mar-14 13:36pm.
|
|
|
|
|
Rapscallion0 wrote: I have a number of subtasks under different parent tasks with the subtasks having the same name. For example I have 3 Projects (Root tasks) where I have a subtask "Test installation". The Time Analysis report shows 3 different "Test Installation" entries, but no indication of which parent or root task they belong to. +1 on this. Same thing happens when we log time in the CSV file. I've been sending clients my invoice with task name/ID on detail lines, plus a List View export sorted by task ID so that they can see the parent, plus a Task Tree export to show all tasks in context once the parent and Position is known. It's cumbersome. I've told them that I will be working on an online utility where they can view/sort tasks however they please, so that I don't need to send the list exports anymore. That will be powered by the new library. Of course I'd much rather just save my .tdl's to a read-only DropBox, and if my clients want to see what I'm working on, they should be able to open their own ToDoList app (with time analysis). Then I won't need to write any online reporting mechanisms.
Rapscallion0 wrote: As many have already said, your time is greatly appreciated in helping us all save our time. TDL has been a life saver for me, and I am excited to see what the future holds for this awesome project! +1 on that as well.
|
|
|
|
|
iamstarbuck wrote: It's cumbersome. Indeed.
I look forward to your feedback on the 'Analyse Logged Time' feature.
|
|
|
|
|
Thx Rap, that's great feedback.
If possible, could you take a screenshot of the analysis dialog and indicate how you might see your suggestions implemented?
|
|
|
|
|
I have completed a little mockup[^] of how I envision this working. I added the filter section to be able to target specific tasks, and to sum times into parent tasks. Obviously it is much easier to come up with a little screenshot. The actual logistics of making it work is the hard part.
Also a setting, or possibly a flag in the dialog, to open the report when it is created would be a good improvement as well.
It amazes me that on the internet people can choose to be anything they want. Yet so many still choose to be idiots.
|
|
|
|
|
Rapscallion0 wrote: The actual logistics of making it work is the hard part. Indeed.
Could you also give me a specific use-case, perhaps using a simplified sample tasklist, another screenshot showing how you would setup the modified dialog, and what you would expect the output to look like?
|
|
|
|
|
Sorry for the delay in getting an answer back to you with a use case. I hope to have something for you to look at today.
It amazes me that on the internet people can choose to be anything they want. Yet so many still choose to be idiots.
|
|
|
|
|
Dan,
I have uploaded a few samples to my Google drive and shared the link with you via email. Let me know if you don't get it.
There are 3 examples with screen shots of the "Analyse Logged Time" dialog.
I also included the the TDL and log files that I used as a reference.
In preparing the use cases I also came across the following.
"Add time to task log file"
- It would be easier if the dialog defaulted to the 'Time Spent' field
- I have always wrongly assumed that the time was the start time of the time adjustment. Possibly allow specifying to use start or end time. or indicate that the "When" is the end time (Maybe rename "When" to "Stop" or "Finish").
"Analyse logged time"
- Add sort options like TASK ID, Date, Time spent. Currently the sorting seems random?
- Show report criteria in header of report file. This would allow for easily seeing date range ect. that the report was run for.
It amazes me that on the internet people can choose to be anything they want. Yet so many still choose to be idiots.
|
|
|
|
|
You may already have tried this, but if not, try the stylesheet 'Z_TimeSpentReport.xsl'.
With use of the filtering options, and run from tree view, this report can probably do some of what you want. It definitely can show the hierarchy, although I guess the times calculated for the parent tasks will be for all subtasks, rather than just the filtered ones. It however shows both the actual time spent and the calculated time spent.
An example: Find all tasks "test installation" in you tree view, then run the stylesheet using the filtered tasks option.
I have been intending to write a stylesheet that allows sorting (e.g. by category) and re-calculation of time sums based on the sorting, but I haven't had the time to play for a while.
zajchapp.
|
|
|
|
|
I'm eager to help QA this.
I'm eager to derive the benefits.
I need to ensure that the new library is compliant with any changes in this release.
But I'm terrified that running alpha software is going to result in irrecoverable corruption. That's no reflection on Dan's quality but healthy distrust of technology in general as learned behavior. And let's be frank, if this were production quality, it would be a beta or production release, not a "Development Release".
So I intend to run 6.9 DR's in a separate space and just do double entry. This way I can continue to get real work done without jeopardizing the logging of billable time, and I can put the DRs through their paces. I don't mind donating my time to help QA software but I can't lose money (logged time) in the process.
Am I being overly paranoid?
Can we run two instances of TDL simultaneously? I've never tried to do that. Would be nice if we could have two different tray icons to do that.
Any other comments/thoughts/advice on how to approach this now and in the future.
Thanks.
|
|
|
|
|
It is funny that you should mention this, as I have found myself in the same thinking today. As per a recent response in another thread from Dan ToDoList 6.8.10 Feature Release - An effective and flexible way to keep on top of your tasks[^]
Quote: If you enable 'Multiple Instances' in the preferences and run TDL from a Windows shortcut, then you can specify a separate ini file for each tasklist using the '-i' commandline switch followed by the path to the ini.
I was just about to try this to see how it goes.
/* Edit: just tried this and it seems you need to enable multiple instances in both ToDoList.ini's as well as create two shortcuts using -i switch one for each instance. */
It amazes me that on the internet people can choose to be anything they want. Yet so many still choose to be idiots.
|
|
|
|
|
As indicated in another response in this thread, I loaded DR1. Here is some advice.
First, DR1 looks good.
To set the Allow Multiple Instances of ToDoList, you must disable a Global HotKey if you have one. These are mutually exclusive.
The doc[^] says each task list is opened in a separate instance but that's not correct.
I recommend disabling ".tdl file extension and tdl:// as URL protocol, since if both instances are registered it will either not know which one to use or the last one set will get the functionality, which might not be desirable.
Be sure your v6.8.10 is exited when opening 6.9DR1. The second instance wants to create a new Introduction tasklist and if the first instance is open it actually gets loaded there. No harm done, but a lot of thoughts raced through my head when that happened.
I would like to say it's safe to copy your ini to the DR1 folder and then open without the -i option. Then when you change preferences it will update the DR1 copy. That said, I don't know if DR1 expects to see config settings which were selected during install. Also, and this is important, your ini file points back to your live .tdl and csv files. You want to back those up first, and then consider that you probably don't want to use your live ini anyway, specifically because you may not want this release touching your live data.
I'm not saying anything is broken here. I'm saying it seems very fragile and one needs to be aware of the considerations when mixing the live ini or data with a pre-release version.
HTH
|
|
|
|
|
iamstarbuck wrote: I'm saying it seems very fragile How so?
|
|
|
|
|
.dan.g. wrote: iamstarbuck wrote: I'm saying it seems very fragile How so? Poor grouping of comments on my part... What I meant was that there are fragile pieces which can break when setting up for running multiple instances with different .ini's and .tdls. Hey, at least with this software we can run multiple instances simultaneous, far from most apps where there isn't even the option.
DR1 itself and related functionality don't seem fragile at all - as I said at the beginning of my last note, it looks good, and I mean in terms of stability and lack of bugs. (Please do note the .xml file thing though.)
Thanks!
|
|
|
|
|
iamstarbuck wrote: What I meant was that there are fragile pieces which can break when setting up for running multiple instances with different .ini's and .tdls If you can be very specific about the precise issues, I'm sure we can improve this.
And feel free to suggest your own ways of resolving the issues...
|
|
|
|
|
Here how I remember the scenario so far.
We're starting with TDL installed to Install1, with data in Data1. We want to install a new version of TDL for testing in Install2 with data in Data2.
We create the folders and copy the data.
Install the new release to Install2.
Now what to do with the .ini?
Issue 1) TDL comes with a .ini that might have new options. If we just replace that with our old ini, we lose the new options. So the first question is, how do we "sew together" our preferences from our existing .ini with a new .ini?
Issue 2) Assume that for a specific release there are no new ini settings. We replace the new/default ini with our existing one. That file now has Most Recently Used (MRU) and other data pointing back to our old data. I believe folder paths to Data2 are relative to Install2. So someone doing this should either know that and create Data2 in the right location, or they'll need to edit the ini and remove those references. But the second question becomes: Is there an absolute path reference to Data1 files in the ini? If so, those need to be removed.
Issue 3) Assume no editing is done. When opening for the first time, the relative path for data won't find files, which is good. The solution is to use menu>File>Open and get the new Data2 files. I believe the File>Open dialog will open initially to Data1, which might be dangerous since Install1 is still using Data1 files.
Issue 4) What happens if the .TDL extension is assigned to Install1 and now we have Install2 operating on them? Clicking a .tdl in Data2 will open the Install1 .exe. Since the app generally looks the same from one release to the next the user needs to be aware of what's happening.
Issue 5) Similarly the tdl:// setting in Install1 needs to be turned off, so that it's unregistered in Windows, and the setting needs to be checked in Install2. But if the ini is copied it's already checked. It needs to be unchecked and then re-checked. Does that cause Windows any grief, trying to unregister Install2 when it hasn't been registered for a specific function? We don't know.
There are answers to all of these, and obviously people have already done it from time to time. But this is what I mean by "fragile" - it's not "plug n play", some knowledge and experimentation is required to do this cleanly.
HTH
|
|
|
|
|
iamstarbuck wrote: TDL comes with a .ini that might have new options. If we just replace that with our old ini, we lose the new options. Any new preferences are set to sensible defaults.
iamstarbuck wrote: That file now has Most Recently Used (MRU) and other data pointing back to our old data. It would be trivial to prune invalid entries from the MRU on startup. I'll add this to 6.9.
iamstarbuck wrote: Is there an absolute path reference to Data1 files in the ini? There ought not to be.
iamstarbuck wrote: What happens if the .TDL extension is assigned to Install1 and now we have Install2 operating on them TDL always updates the .tdl handler to whatever version was last run.
iamstarbuck wrote: Similarly the tdl:// setting in Install1 needs to be turned off, so that it's unregistered in Windows, and the setting needs to be checked in Install2 See previous answer.
iamstarbuck wrote: There are answers to all of these I'm open to any other suggestions.
|
|
|
|
|
Your responses are always appreciated. I'll repeat the process with the next beta and will report back with any difficulties.
About the MRU, invalid references already seem to be ignored.
It's the "seem" part that makes me cautious. Simply not knowing how the software will behave with MRU, .tdl registration, or tdl// references is the traumatic part, not what it's actually doing. Wiki info would go a long way to reassure users that all of these things are handled when running multiple simultaneous instances.
|
|
|
|
|
iamstarbuck wrote: Am I being overly paranoid? Absolutely not. There will always be a 'tension' between what I want from you (testing) and what you want from me (reliability).
And, unfortunately, reliability requires testing which will always put you at some risk, so you definitely need to have a process that protects your data at all costs.
That being said, DR1 was released a lot later than expected and so the code has been exercised by me quite well.
Also DRs are about getting feedback around the main features rather than finding bugs, and the main features I want 'tested' are the log analysis and the new web updater, both of which can be tested independently of using the DR in a production setting.
|
|
|
|
|
On the log analysis, I'll preface all of this with "I don't know if this is worthwhile and this isn't so much a request as just what I was thinking..."
- Can title path be added? : parent2\parent1\task title
- Can we get an aggregate breakdown by parents: total for parent1, total for parent2
- Can we get a breakdown by category? (Time this period spent coding, in communications, even at lunch, "thinking", etc...)
- Can we filter based on a column? So if I set column L to 0 or 1 (for billable or some other concept), then I'd just like to see the analysis for billable hours).
- Related to the above, if a task has category "NB" for non-billable then I'd like to see the analysis for everything that doesn't include that category. Or to summarize these, I think it would help to be able to selectively report on tasks that do or do not have specific attributes, or where the log has or does not have a specific detail.
- Wondering what day it starts/ends to call a "week".
- Personally I'm not feeling that the default reporting is going to shave a ton of time during invoicing but I'm thinking I can meet it in the middle with changes to how I deal with logged time. The data still needs to be massaged, re-ordered, etc.
- Aside from invoicing, I think this is VERY good for getting a current snapshot of how we're spending our time. You could call this a success so far just for that.
I think anyone running this should know that they should start a new log.csv. Otherwise I think blank rows appear in the log analyses.
Misc:
- File Save/Open dialogs now restrict to extension .xml, doesn't show .tdl option or files.
- Task path in log looks good.
- Logged time with tracked vs adjusted and comment all look good.
- Any way to update comment during/after clock is running, without opening/editing log? This is exactly what one of my extensions does with a popup dialog.
I'm still using this in a separate sandbox from my live data but it's looking good so far. (Yeah, I need to make some tweaks to the library...)
Dan - Huge thanks to you for all of your effort!
|
|
|
|
|
Hi Dan,
Finally getting a moment to play. Some comments on 6.9 DR1
Liking the ability to hide the Task view tabs (e.g. Calendar tab). Nice that this can be done from the tab as well as the view menu.
There is a slight problem with the toggling however. Toggle between tree and list view works, but “Next task view” has issues. When activating from the menu, it works as expected, when activated from the key shortcut (ctrl F11 in my case), it seems to get stuck. Mostly it doesn’t move back to the Tree view from the statistics view. But it sometimes stops on the Calendar.
The hiding/showing of bars has promise, but IMHO this will really only be of great use when the hiding and showing can be done with a single click in the interface.
A bit strange though, I created 2 new tasklists, and no edit bar appeared. The edit bar also has no command to hide/show. The editbar later disappeared off all the tasklists (I assume it was there initially).
Task attribute visibility is really exciting. This seems to be working as expected with my limited testing, except for the following:
When the tasklist checks back in, the dialog goes back to “Show fields whose corresponding column is visible” – i.e. it forgets which radio button it was on.
It doesn’t let you hide the start and due times. These seem linked with the start and due dates. Hiding the dates also hides the times.
Further, the preference to hide times is no longer there, so currently the times are always shown.
I realise I am being greedy, but is this visibility going to be implemented for the custom attributes also? Especially as I have a number of icon custom attributes that are set by clicking in the grid. Seeing these attributes in the edit bar is superfluous to me. Being even greedier, are you / when are you planning to allow filtering on custom attributes?
Gantt Chart. Again, lovely. A couple of issues though:
Viewing on ‘Days narrow’ works, but the 2 other day views don’t show the header (time axis). The other time scale views seem to be fine.
Like the options to colour the parent tasks. There is however the issue I raised many moons ago about the colouring of normal tasks. I am no longer colouring by priority, so most of my tasks (those that aren’t overdue), are shown as a white bar with a black border. Would it be possible to add an option to choose the colour of these tasks?
Also wondering whether you had considered by suggestion (8th March) around an hourly view in the Gantt chart:
http://www.codeproject.com/Messages/4774861/Gantt-Chart-scale-in-minutes.aspx[^]
I have had a brief play with the dependencies. Couldn't get them to work, but I will have another crack later.
Copying in via clipboard. This is also way cool. It even marks items that have been crossed out as complete!! I had a slight issue to begin with as I had the data type as Freemind instead of outline, but after that no major issues. Just something to watch Iguess.
Will test some of the other features soon. Again, thanks for the great additions to TDL.
zajchapp
|
|
|
|
|
zajchapp wrote: when activated from the key shortcut (ctrl F11 in my case), it seems to get stuck Strange, because it follows the exact same code path. Also I can't reproduce it. Could something be eating the keypress, I wonder?
zajchapp wrote: When the tasklist checks back in, the dialog goes back to “Show fields whose corresponding column is visible” – i.e. it forgets which radio button it was on. Only with checking-in, as far as you can tell?
zajchapp wrote: but IMHO this will really only be of great use when the hiding and showing can be done with a single click in the interface. The best I could do (for 7.0) would be to allow right-clicking/hiding.
zajchapp wrote: It doesn’t let you hide the start and due times. You have to select 'Control each field individually' and then you can hide the time fields.
zajchapp wrote: are you / when are you planning to allow filtering on custom attributes? Yes, but not this version.
zajchapp wrote: Would it be possible to add an option to choose the colour of these tasks? I'll try to get that into 6.9.
zajchapp wrote: around an hourly view in the Gantt chart: Again, not this version.
zajchapp wrote: Just something to watch Iguess. Indeed, there's only so much second-guessing I can do!
|
|
|
|
|
Not much time to play today. However:
.dan.g. wrote: You have to select 'Control each field individually' and then you can hide the time fields.
.dan.g. wrote: Only with checking-in, as far as you can tell?
What seems to be happening. I check the tasklist out, then I hide the start and due times. This works. Not sure why it wasn't working yesterday. I can go back into the dialog, and all is well. The tasklist auto-checks in after a minute or so. I check it out again, the times reappear, and the dialog is back to its default setting.
.dan.g. wrote: when activated from the key shortcut (ctrl F11 in my case), it seems to get stuck
I can confirm the key presses still behave differently to the menu item
.dan.g. wrote: are you / when are you planning to allow filtering on custom attributes?
Cool. Thanks. I look forward to the day where the custom attributes behave largely like the built in ones. Admittedly for me this is less to do with task management than project management.
.dan.g. wrote: Would it be possible to add an option to choose the colour of these tasks? I'll try to get that into 6.9.
Many thanks
.dan.g. wrote: around an hourly view in the Gantt chart: Again, not this version.
Thanks for considering this. I feel this would open up a new use for TDL.
I should re-boot my laptop sometime. Maybe the odd behavious I am seeing is partly due to that.
zajchapp
|
|
|
|
|
Further to the edit bar issue I am having. I am not sure when it disappeared, but it was originally there, as I now recall wondering whether it could be hidden. It is now missing in all open tasklists, even after closing and restarting TDL.
I see someone else mentioned the issue with dependencies. I was also trying to get an end start dependency and couldn't. Also, I couldn't work out how to edit a dependency. I could not work out how to select it, and then it seemed to disappear.
zajchapp
|
|
|
|
|
zajchapp wrote: when activated from the key shortcut (ctrl F11 in my case), it seems to get stuck Strange, because it follows the exact same code path. Also I can't reproduce it. Could something be eating the keypress, I wonder?
zajchapp wrote: When the tasklist checks back in, the dialog goes back to “Show fields whose corresponding column is visible” – i.e. it forgets which radio button it was on. Only with checking-in, as far as you can tell?
zajchapp wrote: but IMHO this will really only be of great use when the hiding and showing can be done with a single click in the interface. The best I could do (for 7.0) would be to allow right-clicking/hiding.
zajchapp wrote: It doesn’t let you hide the start and due times. You have to select 'Control each field individually' and then you can hide the time fields.
zajchapp wrote: are you / when are you planning to allow filtering on custom attributes? Yes, but not this version.
zajchapp wrote: but the 2 other day views don’t show the header (time axis) Can you send me a screenshot pls.
zajchapp wrote: Would it be possible to add an option to choose the colour of these tasks? I'll try to get that into 6.9.
zajchapp wrote: around an hourly view in the Gantt chart: Again, not this version.
zajchapp wrote: Just something to watch I guess. Indeed, there's only so much second-guessing I can do!
|
|
|
|
|