There are several next action characteristics you can add or change and that you can synchronise between your GTD mind map and your todo.txt file. It is an assembly of Freeplane|GTD characteristics and characteristics supported by a variety of todo.txt apps. Some are essential for managing your next actions, others are extra and some are added automatically.
A delegated action can have the same characteristics as a next action, with the only difference that it has a person or entity as an owner and has "Waiting-for" as a context.
This wiki page describes all next action characteristics used by GTD Sync. You can also find an overview in the [Data mapping and validation table]
Obviously every next action needs a description. In your GTD mind map this is the text in your next action node. In your todo.txt file this is the text remaining after removing all other characteristics.
Will you need more actions to get the desired result, after you will have completed this next action? If yes, you need to define a project for your next action.
In your GTD mind map, the project is an ancestor node of your next action, as explained here. The name of the project node is the project name. In your todo.txt file the project is one word preceded by a +-sign. Therefore project names in the GTD mind map should also consist of one word. If not, the "GTD Sync" and "Project" functions automatically change the project name to one word by capitalising the original words and removing all spaces.
If you want to change something with regard to a project for an existing action it is better to do so in the mind map. Up to version 0.7.3 GTD Sync will warn you in the Freeplane log file that the project in todo.txt has changed, but will not update any project name in the mind map. The message logged can serve as a reminder that you have to update the project manually. In version 0.7.4 and later GTD Sync will update a project name that is changed in todo.txt, but it cannot do any updates that involve movement of the next actions in the mind map. If you want to update projects via todo.txt, there are limitations that you need to understand:
In case you want to move a next action from one project to another or if you want to split or merge projects, do this in your GTD mind map, Trying to do this in todo.txt might or might not lead to a warning in the log file and to duplication of project names in your mind map. For example if you try to split the next actions under one project in 2 or more new projects, one or more of the project names will be logged as explained under point 2. But if you try to split part of the next actions under a project to 1 new project, it will be seen as a change in project name, see point 1. If you try to merge project A with one next action into project B, you will end up with a duplicate project B in your mind map, see point 1.
Context is an important way of organising your next actions and is typical for GTD. It allows you to divide your next actions over smaller lists of next actions that are only relevant in a certain context. This gives you focus at the moment you have to decide what to do next.
In your GTD mind map you can store the context in the 'Where' attribute of your next action. The "Next action" function can create the necessary attributes for you. The key combination Alt+F9 allows you to edit the attributes. In your todo.txt file the context is one word preceded by a @-sign. Therefore context names in the GTD mind map should also consist of one word. If not, the "GTD Sync", "Next action" and "Completed" functions automatically change the context name to one word by capitalising the original words and removing all spaces.
If you do not provide a context, the "GTD Sync", "Next action" and "Completed" functions automatically move your next action to the "_everywhere" list. These functions will do the same, if the action is on the "Waiting-for" list without an owner specified.
If you delegate an action by specifying an owner, the "GTD Sync", "Next action" and "Completed" functions automatically move your next action to the "Waiting-for" list.
You will delegate certain actions or would like to treat them as [Delegated actions].
In your GTD mind map you can store the owner (a person or entity) in the 'Who' attribute of your next action. The "Next action" function can create the necessary attributes for you. The key combination Alt+F9 allows you to edit the attributes. In your todo.txt file the owner is enclosed by [square brackets].
In order to be able to keep track of your delegated actions and to prevent them from appearing in your next action lists, they are automatically moved to the "Waiting-for" list, see context.
All next actions should be done as soon as possible. Sometimes next actions need to be completed at a certain date. In that case you need to specify the due date.
In your GTD mind map you can store the due date in the 'When' attribute of your next action. The "Next action" function can create the necessary attributes for you. The key combination Alt+F9 allows you to edit the attributes. In your todo.txt file the context is a date preceded by the "due:" keyword (this keyword is not part of the standard todo.txt rule set). The date should be formatted as "yyyy-MM-dd". The "GTD Sync", "Next action" and "Completed" functions check the validity of the date. If invalid in the GTD mind map, the invalid date will be removed and a message will be logged or shown on screen. If invalid in the todo.txt file, the keyword and invalid date will remain in the next action description and a message will be logged. Afterwards you can check and correct the next action if necessary.
You need to be able to mark an action as completed.
In the GTD mind map you can use the "Completed" function. It will remove the next action and any other icon and add the done icons. A completed action will not be exported to the todo.txt file during synchronisation, since only actions with the next action icon are exported.
In the todo.txt file you can add an "x" in front of the line with the action to mark it as completed. After synchronisation the action is marked as completed in the GTD mind map and has disappeared from the todo.txt file.
Marking an action as completed will also add a completion date.
Unlike many other productivity systems, GTD does not work with ABC priority codes. GTD is about building up an complete inventory of everything you need to do. Out of all these options you can choose what to do based on 4 criteria, in order of precedence: context, time, energy and priority. Priority (what has the highest payoff for me if I do it?) is an intuitive choice. I would like to refer to the GTD book for further explanation.
In this respect the GTD Sync add-on does not support and does not need to support the (A) to (Z) priority code which is part of the standard todo.txt format.
However the add-on implements a single priority code. In the GTD mind map this priority is added by adding the customisable. Today icon (inherited from Freeplane|GTD) to a next action. In the todo.txt file this corresponds with adding priority code (A) followed by a space to the beginning of the line.
When using the "GTD Sync" function, priority code (B) to (Z) in the todo.txt file will result in adding the today icon to the next action in the GTD mind map. The today icon is always exported to todo.txt as priority code (A), so effectively any other priority code in in todo.txt will be converted to priority code (A).
In case of a future action, an action that you do not want to start right now, you can add a threshold date. Some todo.txt apps (todo.txt CLI with the future tasks filter, Simpletask for Android) can hide these actions until the threshold date has expired.
In your GTD mind map you can store the threshold date in the 'Threshold' attribute of your next action. The "Next action" function can create the necessary attributes for you. The key combination Alt+F9 allows you to edit the attributes. In your todo.txt file the context is a date preceded by the "t:" keyword (this keyword is not part of the standard todo.txt rule set). The date should be formatted as "yyyy-MM-dd". The "GTD Sync", "Next action" and "Completed" functions check the validity of the date. If invalid in the GTD mind map, the invalid date will be removed and a message will be logged or shown on screen. If invalid in the todo.txt file, the keyword and invalid date will remain in the next action description and a message will be logged. Afterwards you can check and correct the next action if necessary.
If your action involves a website, you can include the hyperlink to this website.
In your GTD mind map you can add a hyperlink with the standard Freeplane functionality "Add or modify hyperlink (type)..." (Ctrl + K). You can then click on the link to open the website. In the todo.txt file you just enter the URL starting with "http://", "https://" or "mailto:". It is often possible to open the website directly from todo.txt apps and text editors.
Other protocols than http:, https: or mailto: are not supported.
The creation date is automatically added to your next action. This information can be useful when you are reviewing your GTD mind map.
In the GTD mind map the native Freeplane field createdAt contains the date that a node is created. You can make this date visible by selecting from the menu: View > Tool tips > Display modification times. If you now hover over a node the Created and Modified dates will be displayed.
In the todo.txt file the creation date appears directly after the priority (e.g. (A)) and a space. If there is no priority it appears first. Many todo.txt apps add the creation date automatically and/or have an option to switch this behaviour on and off. The date should be formatted as "yyyy-MM-dd". If this date is missing or invalid the "GTD Sync" function will log a message and set the creation date to today.
Once an action is created and synced for the first time, the creation date should not change any more. If the "GTD Sync" detects that an action's creation date in the todo.txt file is changed, it will log a message and not synchronise this change.
The completion date can be useful when you are reviewing your GTD mind map.
The "Completed" and "GTD Sync" functions will automatically store the completion date in the 'Done' attribute of your next action. The key combination Alt+F9 allows you to change the 'Done' attribute. In the todo.txt file the completion date appears directly after the 'x' at the beginning of the line and a space. Many todo.txt apps add the completion date automatically and/or have an option to switch this behaviour on and off. The date should be formatted as "yyyy-MM-dd". If this date is missing or invalid the "GTD Sync" function will log a message and set the completion date to today.
In a Freeplane mind map every node has an unique ID. This ID is exported to todo.txt as a technical key, so that, if a next action changes in the todo.txt file, the correct node will be updated during next synchronisation. The node ID in the GTD mind map are hidden. If for some reason you would like to know what the ID of a next action node is, you can right-click it, choose "Copy node ID" and paste it in a place where you can read it. In your todo.txt file the node ID is preceded by the "node:" keyword (this keyword is not part of the standard todo.txt rule set).
You should not alter or delete the node ID in your todo.txt file, otherwise GTD Sync cannot match the next actions in the todo.txt file with those in the GTD mind map. If you move around your next action node in the GTD mind map, the node ID remains the same and this will not affect the synchronisation process. However you should not move the next action node by copy and paste and then deleting the original. In that way the node ID will change and GTD sync will not be able to math it with it counterpart in the todo.txt file.
Discussion: today icon
Tickets: #22
Tickets: #36
Wiki: Data mapping and validation table
Wiki: Delegated actions
Wiki: Setting up your GTD mind map
Wiki: Synchronise your GTD mind map with todo.txt
Wiki: Wiki map