|
This does not sound like a common use of recurring tasks. Indeed, I had never heard of such a usage until today. For the majority of users I am convinced that they expect an equivalent copy of a task shifted forward in time by the amount they have specified.
If we look at Outlook, recurring tasks are even more simple than this.
Q: Is this why you asked for the 'Start date' functionality?
Because if so, I would probably not have agreed, since it makes recurring tasks much more confusing, which is probably why I got it wrong trying to implement it. Which is my bad for not asking enough questions at the beginning.
|
|
|
|
|
.dan.g. wrote: Q: Is this why you asked for the 'Start date' functionality? Because if so, I would probably not have agreed, since it makes recurring tasks much more confusing, which is probably why I got it wrong trying to implement it. Which is my bad for not asking enough questions at the beginning. No, it's not your bad and no, that was not the reason why I asked for the 'start date'.
The reason to ask was that I put the emphasis on 'start date'. ToDoList was focused on 'due date' in many regards.
I thought (and still think) that 'start date' is - for the daily work - the more important date since it shows when to start working on a task to meet the deadline 'due date'. That's why I asked for the filter 'tasks started by'. The request 'calculating next ocurrence from start date' came later.
It's the combination of the filter and the recurring option that gave me the idea of using 'start date' the way I described it and you are probably right that this does not sound like a common use of recurring tasks.
So it's my bad that I tried to misuse the recurrence option!
The problem (for me) remains.
At present it seems that the easiest solution would be not to use the recurrence option then and just change the 'start date' in the editing control. This way the 'due date' doesn't get changed.
The other option, that is to say to create an editing control 'working on' (= 'work date'), is probably a lot of work for you especially because it will involve new filtering options that can be combined with 'start date' etc. and a new column (work date, work time). This editing control might be an option for the future since 'work date' would be a good hint in the calendar view, too.
|
|
|
|
|
My bad. I made a fundamental mistake when I added the 'Calculate from start date' functionality.
However, this might be a good time to clarify how the 'Calculate next occurrence' ought to work in all aspects.
My understanding is this:
1. Calculate from Due date means: Take the task's due date, add to it the number of days, weeks, etc specified by the user, save it back to the task's due date and then recalculate the start date so that the task length remains as before.
2. Calculate from Completion date means: Take the task's completion date, add to it the number of days, weeks, etc specified by the user, save it back to the task's due date and then recalculate the start date so that the task length remains as before.
3. Calculate from Start date means: Take the task's start date, add to it the number of days, weeks, etc specified by the user, save it back to the task's start date and then recalculate the due date so that the task length remains as before.
Where 'Task Length' = ('Due Date' - 'Start date').
|
|
|
|
|
I agree with your understanding, except for the part "so that the task length remains as before."
Especially regarding the 'due date'.
The farer the 'due date' lies ahead in the future the more unpredictable the result gets. And this makes the user forget about the real 'due date' then.
If a user postpones to start working on a task does that really change the 'due date'.
I'm under the impression that we are thinking of two different situations here:
You: Recurrence creates a completely new task with the same content. In this regard it makes sense to make sure that the task length remains the same.
I: Recurrence based on 'start date' ('due date' is different) just shows when I have to start or want to start working on a task or just when I want to work or have to work on a task. 'Start Date' is used an editing control 'working on this task', too. In this case it doesn't make sense that the task length remains the same.
|
|
|
|
|
Wouldn't the easy solution here be for you to write a AHK script that grabs the task's existing due date, then calls the default completion code and then restores the due date?
|
|
|
|
|
It's a bit tricky to work with AHK and the 'editing controls'.
|
|
|
|
|
I use this feature exclusively for recurring items that are the same each time. For example monthly meetings, or monthly reports. They also typically have the same start and due date. The functionality largely works for me, but then I often adjust the dates of the newly created tasks.
As I see it, there are 3 scenarios:
- do once (no recurrence)
- do on a defined date / date interval (e.g. every 4 weeks on a Monday, every 2 months on the 2nd)
- do on a relative date (e.g. every 2nd Tues of the month) - not available
The second option is the one you are discussing, and to get the anchor point for the date increment/calculation, one of start, due, or completed dates is needed. Your logic is what I would have expected, and agree the task duration should remain the same.
The only (minor) issue with this is if, say a meeting gets postponed. I need to change both the start and due dates, as otherwise an artificial duration may be created for the next time. But there is probably no simple automated way around this. I hope one day to create an AHK script that can increment both start and due dates together easily.
The third option doesn't exist (yet?), but would be nice, as most of my meetings and reports are set up on this basis. For now, I do the following:
I have a report the needs to be presented on the 2nd Monday of every month. I set the recurrence for, say, the 3rd of the month, and put "2nd Monday of the month" in the comments. I will then manually adjust the start and due dates when the task is created on completion of the previous task.
zajchap
|
|
|
|
|
zajchapp wrote: - do on a relative date (e.g. every 2nd Tues of the month) - not available ... The third option doesn't exist (yet?), but would be nice I second this.
This has been requested regarding the reminders before, too. Outlook options may serve as a reference. An option that allows a reminder or an occurrence like 'every second sunday in May' would be very helpful.
|
|
|
|
|
zajchapp wrote: I hope one day to create an AHK script that can increment both start and due dates together easily.
Assuming that you always want to increment 'start date' and 'due date' at the same time and that you never change the settings in the 'offset task dates' window (except for the number of days) you can use this little AHK workaround:
F1 calls the 'function'. The focus is then in the editing control 'by' because (I'm assuming again) that the number of days changes.
#SingleInstance force
#NoEnv
F1:: ; <-- change this hotkey if you want
SetTitleMatchMode, 2
#IfWinActive, AbstractSpoon
PostMessage, 0x111, 33054,,, AbstractSpoon
SendInput, {tab 6}
#IfWinActive
|
|
|
|
|
Thanks. Something to get me started.
I currently use the 'offset task dates' dialog, and typically bump both start and due dates forward by a number of days, weeks, etc. Lots of clicking involved.
My workaround - getting things done on time - only works intermittently.
zajchap
|
|
|
|
|
zajchapp wrote: Lots of clicking involved. Can you briefly list your procedure so we can look at ways it can be improved.
|
|
|
|
|
First of all I like to thank you, Dan, for offering the 'menu Item IDs' and the command line options.
ToDoList is already a great program but in combination with them it's even better.
Both (the 'menu Item IDs' and the command line options) are offering to address commands, menu items etc. directly which makes my life so much easier.
The "problem" (if it can be called that) are the dialog boxes/windows and the commands/options they offer.
Especially the 'print preview' but also the 'offset task dates' dialogue.
What could be (or is) the "problem" here?
Both dialogues are offering a lof of options which makes them so valuable for the user.
Most users (I'm sure) are having 'standard procedures' when working (with ToDoList) and the options in the dialogues are offering to cope with that (very flexible) but since there are a lot of different situations the user has different procedures and he always has to open the dialog and enable/disable options, changing things. Lots of clicking involved.
It would be great if the users could save some settings like it can be done with 'find tasks' (save search). That would help, especially regarding the 'print preview' dialogue.
|
|
|
|
|
I am not so sure this is worth stressing about, however, since you asked...
The issue is that I review my tasks in detail monthly. I am therefore going through up to 100 tasks (worst case), moving start and due dates. Sometimes I can do several tasks at once, but often not. So this process will be repeated many times.
So for every task, I need to:
- either - Click on start date, click on next month (usually once), select the date. Then do the same for due date.
- or - click open the 'Offset dates' (3 clicks normally, but I now have a key shortcut), then set the info in the dialog and click OK. It is very useful that the dialog remembers it settings, but the amount offset will change.
I probably use the first option the most, as going through the menus was more difficult (more points on the screen to hit). However, bringing the dialog up by a key shortcut should reduce this from now on, and gets around the issue of how deep the command is in the menu structure. I am still swapping between keyboard and mouse though.
Note: I should probably just train myself to navigate with the arrow buttons using my left hand, and adjusting dates with the mouse in my right.
My ideal would be an ability to offset dates with key presses. For instance, with a key combination (e.g. ctrl 1), increment start and due dates by 1 week. Or another key combo to increment the dates by 1 month (e.g. crtl shift 1). I could then navigate with the arrow keys, and adjust dates much more quickly.
Note: this could be implemented in 2 ways - e.g. to add 2 weeks, either press ctrl 1 twice, or by pressing ctrl 2.
I was intending to see if I could get AHK to do this, but I wonder whether this will be possible.
As I say, probably don't need to stress. The job is not a quick one whichever way you go, and with a bit of training I could probably speed thing up for myself.
zajchap
|
|
|
|
|
PostMessage, 0x111, 33054,,, AbstractSpoon opens the 'offset task dates' dialog.
The little script can only save you a couple of mouse clicks.
zajchapp wrote: My workaround - getting things done on time. That is - of course - the best "workaround" and I agree: "only works intermittently".
|
|
|
|
|
Thanks. It gives me something to play with, and familiarize myself with AHK and its capabilities. Nothing like examples.
I have set up a keyboard short-cut in TDL to bring up this dialog already.
See my post above for further discussion on my suggestions if interested.
zajchap
|
|
|
|
|
Read your post[^] above.
"I am not so sure this is worth stressing about"
I think ist is if you have to go through up to 100 tasks (worst case), moving start and due dates.
AHK is exactly the right program to cope with repeating tasks like pressing multiple keys etc.
I was intending to see if I could get AHK to do this, but I wonder whether this will be possible.
Yes and No. I'm not an AHK - Guru but I'm quite sure that some things regarding offset dates can be done and others can't.
The situation you have to cope with is always that you have to increase 'start date' and 'due date' at the same time, if I'm not mistaken.
I doubt it that it is possible to adress the commands in the offset dates dialogue directly, although it would be possible to play with the command line options as a workaround. But that's not necessary, because the 'offset dates' dialogue remembers it's settings.
I suppose you need three AHK sripts. One for day, one for week and one for month. You can easily use the hotkey you mentioned for this (ctrl 1, ctrl 2 and ctrl 3).
You could even create more scripts that cover different situations that you need very often: two weeks, 1 month etc.
All theses scripts would always rely (at present) on the fact that 'start date' and 'due date' can stay enabled.
The only big problem (that can't be solved at present IMO) is the situation if a user wants to change this all the time because sometimes he wants to only change the 'start date' and then only the 'due date' and then both.
I haven't the foggiest how to read out whether a command like 'start date' is enabled in the 'offset dates' dialogue or not with AHK. I wish I knew.
As long as 'start date' and 'due date' can stay enabled it's relativly easy to fulfill your needs.
If it is necessay to change only the 'due date' or only the 'start date' we have to go another way (read out the task ID, choose the date, and put it in the editing control by using a command line option. Something like this.)
Now: Something for you to play with.
The script covers it (put it in a textfile 'offset.ahk', save it and double click on it. The hotkeys only work if ToDoList is the active window.)
#SingleInstance force
#NoEnv
; CTRL+1 offsets the date by days
^1::
SetTitleMatchMode, 2
#IfWinActive, AbstractSpoon
PostMessage, 0x111, 33054,,, AbstractSpoon
SendInput, {tab 7}d
SendInput, {Shiftdown}{tab}{Shiftup}
return
#IfWinActive
; CTRL+2 offsets the date by weeks
^2::
SetTitleMatchMode, 2
#IfWinActive, AbstractSpoon
PostMessage, 0x111, 33054,,, AbstractSpoon
SendInput, {tab 7}w
SendInput, {Shiftdown}{tab}{Shiftup}
return
#IfWinActive
; CTRL+3 offsets the date by months
^3::
SetTitleMatchMode, 2
#IfWinActive, AbstractSpoon
PostMessage, 0x111, 33054,,, AbstractSpoon
SendInput, {tab 7}m
SendInput, {Shiftdown}{tab}{Shiftup}
return
#IfWinActive
Hope it helps. If you have questions feel free to ask, if you think the script should be improved, tell me, please.
Jochen
|
|
|
|
|
TCP_JM wrote: Now: Something for you to play with.
Many thanks for this. It is the fastest option yet, and I will move to using this code.
It also gives me a good understanding of how to access menu items in TDL, so that is great as well. I have been intending to go back though this forum to find TDL specific AHK scripts to learn off (and probably still will), but this gives me a good kick start. Hope to have a play this weekend.
The only thing faster would be for Dan to make some additional commands available, such as 'increment due date', 'increment start date', 'increment start and due dates'... But that would get complex & messy, as you would probably need to also specify day, week, & month. You would quickly end up with at least 9 commands... (incrementing 1 unit each). Probably not worth the hassle.
Again, many thanks.
zajchap
|
|
|
|
|
zajchapp wrote: ...many thanks You are very welcome.
zajchapp wrote: I have been intending to go back though this forum to find TDL specific AHK scripts I already did this when I started working with ToDoList. There is not much to find. Sorry.
This website[^] might be interesting for you. There are few scripts. I've put them there (they were written by Capital_H and by me [with help from Capital_H; everyone needs sometimes a little help, especially when they are starting to work with something like AHK, right? ).
I need to change a few things in the scripts after the realease of 6.5 since some of the 'Menu Item IDs' in ToDolist have changed etc.
BTW: In AHK they are called 'PostMessageCodes'.
zajchapp wrote: The only thing faster would be for Dan to make some additional commands available, such as 'increment due date', 'increment start date', 'increment start and due dates'... But that would get complex & messy, as you would probably need to also specify day, week, & month. You would quickly end up with at least 9 commands... (incrementing 1 unit each). I don't think that adding some additional commands would make it faster.
It would end up exactly where you said: lots of commands. It's probably not even possible to cover all possible combinations day and/or month and/or year; one day two days, three days or weeks or years...etc.
Have fun playing with the script. Hope it helps and it supports your work. And if you have a question...
|
|
|
|
|
TCP_JM wrote: I already did this when I started working with ToDoList. There is not much to find. Sorry.
True, but I recall seeing some over the last year or so. I was expecting a long trawl... With the help I have received and the playing I have done, I don't think I need to now.
TCP_JM wrote: Have fun playing with the script.
I have had an initial play. Seems to me it would be better to address the controls directly, rather than by using tabs (using control name or control label).
The problem seems to be the checkboxes in the 'Offset task dates' dialog are identified as 'buttons' by AHK, so you can't read or set the checked / unchecked status. This is probably what you were referring to previously re getting access to them.
You can click them on or off, but since you don't know their current state, you don't know whether you are checking or unchecking.
Stumped for now, but will work on it for bit longer.
TCP_JM wrote: This website[^] might be interesting for you.
Thanks for the link. Useful.
zajchap
|
|
|
|
|
zajchapp wrote: The problem seems to be the checkboxes in the 'Offset task dates' dialog are identified as 'buttons' by AHK, so you can't read or set the checked / unchecked status. This is probably what you were referring to previously re getting access to them. You can click them on or off, but since you don't know their current state, you don't know whether you are checking or unchecking. Exactly.
zajchapp wrote: Stumped for now, but will work on it for bit longer. If you find a solution, very good!
|
|
|
|
|
|
This is very much what I had in mind.
|
|
|
|
|
Before I try to figure it out for myself, does anyone know which 'missing' attributes are causing the Gantt Viewer app to fall over?
I've decided to 'fix' TDL to produce the file format that GV wants, because it's an excellent resource that can't be used mainly because I decided to omit attributes having default attributes.
|
|
|
|
|
.dan.g. wrote: does anyone know which 'missing' attributes are causing the Gantt Viewer app to fall over?
Not so simple.
GV isn't support unicode UTF-16 LE. This is main problem now!!!
6.2.8 is last version for working good.
If you ask: Missing attributes - PERCENTDONE (GV reads its in anyway)
Do I ask Victor for Source code in DELPHI for You ?
as for me - I think 'Calendar' is more useable now ( 1 week view, to save setted parameters, ...).
I think to remove Gantt Diagr. from ToDoList is a temp. good idea.
P.S.
I lost my 'vollbio' account in codeproject.
|
|
|
|
|
REKOR wrote: GV isn't support unicode UTF-16 LE. This is main problem now!!! I hear you, although I would suspect that the majority of users do not actually need Unicode support.
REKOR wrote: Do I ask Victor for Source code in DELPHI for You ? Unfortunately it's not much use since I can't compile it.
REKOR wrote: I lost my 'vollbio' account in codeproject. Volbio is dead! Long live REKOR!
|
|
|
|
|