Skip to content

Getting Things Done (GTD): Migration from D-Cubed to MonkeyGTD

A while ago I started using the “Getting things done” methodology with TiddlyWiki based solutions. I started with MonkeyGTD, then switched to d-cubed, converting my accumulated data manually at that time.

When development of MonkeyGTD 3.0 picked up steam, I looked at it again, liked what I saw and switched back. This time around I did it with a script. As someone in the GTD TiddlyWiki group asked for it and posting the script in that group didn’t come out alright, I’m posting the script also here with correct line breaks.

[Update 2008-12-13] The initial release of the script used (more or less unintentionally) the python-xml API, which was renamed in later releases. The current version only depends on the XML support that comes included in Python. If you had problems with ImportError: No module named DOMImplementation, then please try again with the current script.


You need a Python interpreter. Then run the script in a command shell. Here are the necessary steps:

  • check and perhaps edit the CUSTOMIZE parts of the script: it can be tweaked in some places
  • put your D-Cubed .html file into the same directory as the script
  • python <d3.html >body.html: replace d3.html with the name of your D-Cubed file, if necessary use the absolute path of the Python interpreter
  • review body.html: perhaps you can improve the tag matching by tweaking the script
  • insert the content of body.html after <div id="storeArea"> in an empty MonkeyGTD .html file
  • in a browser viewing the modified MonkeyGTD file
    • Review/Mismatched Realms
    • turn actions with reminders into ticklers
    • “Work/Next + Waiting Actions”: assign person and context to waiting actions

{ 16 } Comments

  1. Joe | September 5, 2008 at 9:08 pm | Permalink

    Many thanks for making your python script availble online,

  2. ffolliet | November 22, 2008 at 8:59 pm | Permalink

    for the newbie; just how does one use this script please? i would like to migrate as well.

  3. Patrick Ohly | November 23, 2008 at 11:56 am | Permalink

    Ffolliet, I have updated the article. See above for usage instructions. If something isn’t obvious, please ask. I’m not sure how detailed the instructions have to be.

  4. ffolliet | November 26, 2008 at 4:27 pm | Permalink

    excellent, thanks for the instructions, will go off and have a try.

    python interpreter? laughs. Isn’t that a parseltongue? Like Harry Potter?

  5. ffolliet | November 26, 2008 at 4:51 pm | Permalink

    unfortunately you are dealing with a total novice here and i just can’t progress. even the instruction “run the script in a command shell” has me struggling. I have tried that but get only “no module xml

    thanks for offering, i’m sure you have better things to do. i will manually enter the stuff and maybe learn this stuff later.

  6. Patrick Ohly | November 26, 2008 at 8:30 pm | Permalink

    Python is a programming language. On Windows one can install for example ActivePython:

    I’m afraid that indeed, I can’t go into more details.

  7. Damian | December 4, 2008 at 11:20 pm | Permalink

    I’ve installed ActivePython and followed the above instructions, but when I try:
    python body.html

    I get:
    Traceback (most recent call last):
    File “”, line 30, in
    import xml.dom.DOMImplementation
    ImportError: No module named DOMImplementation

    Any ideas?

  8. Damian | December 4, 2008 at 11:23 pm | Permalink

    sorry the line I tried should read:
    python body.html

  9. Damian | December 4, 2008 at 11:25 pm | Permalink

    python body.html

  10. Damian | December 4, 2008 at 11:26 pm | Permalink

    for some reason, it wont post the line I’m typing ??

  11. Patrick Ohly | December 4, 2008 at 11:38 pm | Permalink

    Damian, simple HTML markup is possible in comments, which is why lesser and greater signs cannot be entered without quoting them as in HTML: &lt;

    Regarding the Python problem: you might have to install additional Python packages. For example, on Ubuntu Linux there is “python-xml”.

  12. Damian | December 4, 2008 at 11:57 pm | Permalink

    Thanks for the quick reply Patrick.
    I’ve just gone to py ubuntu box, but unfortunately it’s giving me the same message. And python-xml is already installed.

  13. Damian | December 5, 2008 at 4:32 pm | Permalink

    Anyone got any ideas what else I need to install to achieve this?

  14. Damian | December 21, 2008 at 10:22 am | Permalink

    New version woks a treat!!
    Thanks Patrick. A bit of tweaking in mGTD and I’m away.

  15. jens persson | January 20, 2009 at 10:37 am | Permalink

    To get it to work on my swedish d^3 file I hade to change the last line to:

    print clone.toxml(”utf-8″)

    but after that it worked lie a charm


  16. Patrick Ohly | January 24, 2009 at 8:50 pm | Permalink

    Jens, thanks for the hint. I have incorporated it into the script.

    I already had “Monkey GTD script + UTF” as task in my MonkeyGTD, but it always ended up behind other tasks. Now I can close that one :-)

Post a Comment

Your email is never published nor shared. Required fields are marked *