Mark Tasks Complete Faster

The Mark Task Complete macro evolved incrementally from a short GyroQ tag into a fairly involved macro and got inefficient along the way. The new version is streamlined and should perform quite a bit faster. If you are a regular user of this GTD tool, I’d recommend downloading it. This version also defaults to storing completed tasks underneath each topic instead of in a floating topic. Let me know if you encounter any bugs.

One other way to speed things up if you are a long time user is to clean up your completedlog.mmap file by moving all the branches to a separate mindmanager map. Frequently used maps may also have a lot of tasks accumulated in the floating completed topics, although speed issues associated with that are addressed with the move to project-based storage.

Gyronix has made great progress in their early beta versions getting GyroQ and ResultsManager adapted to MindManager version 8 and I imagine they will be broadly available (at least in beta form) soon.

I’ve been keeping notes on how to migrate use of tools from this site on the wiki Migrating to MindManager Version 8 page.


  1. DW said,

    November 22, 2008 @ 6:00 pm

    Gives me a runtime error (“Please check that Macro is valid”) on MM7.2.374, RM2.8.1

  2. ActivityOwner said,

    November 22, 2008 @ 7:39 pm

    Whoops — Looks like didn’t test last set of edits. Try new version.

  3. ActivityOwner said,

    November 22, 2008 @ 8:41 pm

    I added a few more bug fixes and speed improvements and uploaded another version. There are a large number of combinations of usage scenarios with the script (e.g. from dashboard, from map, repeating, non-repeating, mindjet connect, etc) so there may be bugs in branches I haven’t explored yet.

    Please continue to report issues and/or check back in a few days once this is shaken down.

  4. Marco said,

    November 24, 2008 @ 9:43 am

    I love the option to store completed actions in the project! As I usually also define results in my projects (as a second level), I would also like to be able to store completed actions under the results first … This allows me to keep the full hierarchy for each project even after the tasks have been completed – which is particularly usefull in large projects.
    Would this be something usefull for you too? If not, I’d like to add this to my local code; I had a look at your code in sub createcompletedtopic and think implementing the above would not be too complicated. The only thing missing is the name of the [rmresult] icon, can you let me know?

  5. ActivityOwner said,

    November 24, 2008 @ 11:21 pm

    Hi Marco — I added the default option to store in result/subproject if present. I wonder what people would like as the default here? Either way it can be changed at top of code with the “storeinresult” variable.

  6. Marco said,

    November 27, 2008 @ 7:40 am

    LOVE IT !!
    For me, this default is great – I’ll be curious to see what other people want.

  7. Peter said,

    January 27, 2009 @ 8:50 pm

    Some of the behaviour with start and duedates in mindmanager puzzles me!

    I want to have a dashboard that rounds up all completed tasks from all my maps, so I can get a daily, weekly and monthly overview of what I’ve done.

    I looked at the Mark it Done tag, because this logs the task and creates a copy. Exactly what I want. It also forwards the startdate. Thing is, I’ll log a task complete, it will show up in the correct branch with the right date under completed/reference, but the task information will show me no changes in the start and duedate information.

    I’ve been staring at the Mark it done code for awhile trying to figure out. It looks like it should be updating the dates and it seems to because it puts the task in the right branch, but the taskinformation doesn’t reflect any changes. Then I read this on your blog:

    “Disable Outlook Synchronization Support (unless you need it)
    If you disable Outlook linking, you gain the ability to set a start date without a due date and vice versa. Outlook linking requires either neither or both to be set (Tools, ResultsManager Options, Support MM/Outlook synchronization).”

    (does this still hold true?)

    I turned this off, but this hasn’t made a difference. How come the taskinformation doesn’t update the start/due dates when a log is made?

    What I ultimately want to do, is to be able to work on a task, mark it done, log it with duedate set to ‘today’, and create a copy of the task with the startdate set to ‘blank’ (as if it were a neverending task). That way when I run a dashboard to look up all completed tasks (and I can see over how many days I worked on it), I can sort them by the date I finished them (using the duedate as a filter). Does this make sense?

    Can you point me in the right direction maybe?

  8. ActivityOwner said,

    January 27, 2009 @ 9:42 pm

    Hi Peter

    First — ResultsManager isn’t really designed for reporting on task completions. You need to set the option to pass through completed tasks and also need to tweak how it handles “overdue” dates and things like that. I think you are better off using “Mark Task Complete” for this type of stuff.

    Yes — you should turn off Outlook syncronization for reasons mentioned. This still holds true.

    “Mark Task Complete” (the “d” tag) has several options that have evolved over time.

    See the brand new wiki section on the the options in the new configuraiton map:

    A user recently convinced me that the program shouldn’t change the due-date of the completed task and this really isn’t necessary now that the program has both the option of saving completed tasks to a calendar branch in the map as well as to monthly completion logs that have the date information in the tree. Nevertheless, the latest version adds an option to the configuration you can set =1 if you want due date set to today.

    “Mark Task Complete” has two main modes of operation. For one-time tasks, it marks them complete and then optionally moves or copies them to other branches/maps. For repeating tasks (specified by use of category keywords specifying repeat rules), it copies the task to the other branches/maps, but leaves in place a copy with a new start and/or due date.

    Hopefully this will meet your needs. Let me know if you have questions.

  9. Peter said,

    January 28, 2009 @ 1:31 am

    Laughing at myself for saying Mark it Done instead of Mark task Complete!

    Thank you for your response again – I had tried setting the setduedate option to 1 and 0, but it doesn’t seem to have an effect. I looked at the code, is it calling the value from the configdoc? I don’t see it calling ‘getoption’, while it does call all the other options.

    I tried adding it in there myself by adding the code:
    setduetoday =getoption(“setduetoday”,configdoc)=”1″

    ..but I’m still getting no duedate inserted. Strange! I’ve disabled the outlook syncing addins, puzzled. Is this still working for others?

  10. ActivityOwner said,

    January 28, 2009 @ 9:10 am

    Hi Peter –Try the latest setup program. The 27Jan version had the missing getoption line you mention above, but while checking that I found another issue with having the configuration map open during use. Also make sure you close the macro in the macro editor during upgrade or I’m not sure it will be updated correctly.

    After you run the program once, it should create a “setduetoday” option in the configuration map that you can set to 1 to have it set due dates.

    Let me know how it goes.

    The name of this program has been hard to pin down given the evolving functionality over time with regard to logging and advancing tasks. I finally settled on “Mark Task Complete”.

  11. Peter said,

    January 28, 2009 @ 3:23 pm

    Hey ActivityOwner,

    I’ve installed the new version. I still am not getting updated due dates, even with the option setduetoday set to ‘1’. It does calculate startdates on repeating items fine. The q command parses duedates as well. I don’t get why it doesn’t work on the mark it complete tag hmm.

    if you have the mark it complete command in the context menu from a previous installation, does one have to update that too? (I don’t think its related to my problem because I’ve been using the d tag straight inside gyroq)


  12. ActivityOwner said,

    January 28, 2009 @ 11:13 pm

    I’m a bit stumped for now. Try hardcoding setduetoday=true in the code. It may be that there is a typo somewhere or you have a space after the “1 ” in the note? You could also try deleting completeconfig.mmap and have the script recreate it to make sure the option branch is set up right.

    If you have mark task complete assign to ao\mark_task_complete.mmbas it should be fine to leave it there as the macro has not moved or been renamed. The mindreaderNLP.mmbas macro has moved so that should be reassigned if you had set that up (equivalent of using c tag).

  13. Peter said,

    January 29, 2009 @ 2:29 am

    Hardcoding to setduetoday=true worked!

    Strange, but I’m very happy now!


  14. ActivityOwner said,

    January 29, 2009 @ 8:32 am

    In general I program options as true=”1″ with missing, misspelled, extra spaces, etc becoming false by default. I’m planning on adding a new function that checks to see if the option is there and set to 0 or 1 and warn/fix otherwise. Can you send me your ao\completedconfig.mmap file ( so I can see what is happening here?

  15. ActivityOwner said,

    February 26, 2009 @ 11:25 pm

    Faster version uploaded with a bug fix as well

RSS feed for comments on this post · TrackBack URI

Leave a Comment

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.