Menu

#6 Automatically change project name from todo.txt file

0.7.4
complete
None
True
Feature
2024-05-02
2015-03-08
No
As a GTD Sync user
I like that a changed project name in todo.txt is automatically updated in the GTD mind map during synchronisation,
so that I do not waste time doing it manually.
Acceptance criteria
  1. If GTD Sync has updated one or more project names, the results dialogue box should show the number of updated project names and the button to access the Freeplane log file because of the message logged (see criterion 2).
  2. If a project name for a next action in the todo.txt file has changed since last synchronisation, GTD Sync will update the name of the project node in the GTD mind map. A message will be logged in the Freeplane log file so the user can correct in case she/he wanted to move the next action to another or a new project and/or in case she/he did not want to change the project for other next actions with the same original project name. This should be counted as an updated project name.
  3. Addition to criterion 2: If the project name in the todo.txt file is added or removed since last synchronisation it is not possible to update the GTD mind map. A message is logged in the Freeplane log file so the user will be able to make the correct change in the GTD mind map. This should be counted as an update that could not be imported into the GTD mind map.
  4. Addition to criterion 2: If the next action node in the GTD mind map does not have a project node as an ancestor, the project name cannot be updated. A message is logged in the Freeplane log file so the user will be able to make the correct change in the GTD mind map. This should be counted as an update that could not be imported into the GTD mind map.
  5. Addition to criterion 2: if the next action node in the GTD mind map has been changed since last synchronisation, the project name still can be updated (other characteristics cannot).
  6. If there is a next action in the todo.txt file with a unchanged project name and having the same project node as an ancestor as the next action under criterion 2, its project name is updated automatically changed as well. This should not be counted as an updated project name.
  7. If there is any other next action in the todo.txt file with the same change in project name and having the same project node as an ancestor as the next action under criterion 2, no warning should be logged. This should not be counted as an updated project name.
  8. If there is any other next action in the todo.txt file with the same project name changed to another name and having the same project node as an ancestor as the next action under criterion 2, a warning should be logged in the Freeplane log file so the user is able to correct. This should be counted as an update that could not be imported into the GTD mind map.
  9. If a project name for a next action in the todo.txt file has been changed since last synchronisation and the same project name has been changed in the GTD mind map to a different new name, a warning is logged in the Freeplane log. This should be counted as an update that could not be imported into the GTD mind map.
Notes for development

For criterion 1 a new counter should be added and the results dialogue should be adapted in order to display it.

The mechanism for comparing the old with the new project name is already build. If one of them is an empty string, actions for criterion 3 should be taken. Else the ancestor project node is looked up (the necessary code is already present in the export part). If not found actions for criterion 4 are taken. Else if the name of the found project node is the same as the old project name, the name of the project node is updated with the new project name (criterion 2). Else if the name of the project node is the same as the new project name, nothing is done (criterion 7). Else actions for criteria 8 and 9 should be taken. For criteria 7, 8 and 9 this solution does not distinguish whether the name of the project name has been updated before or during synchronisation. Making this distinction does not really have added value.
Because criterion 5 updating the project name should be a function, so it can be called from different logical branches in the code.
Nothing has to be done for criterion 7.

Related

Discussion: Feature Request: Capitalize project name
Tickets: #22

Discussion

  • Henk van den Akker

    • status: open --> pending
    • Milestone: none --> 0.7.3
     
  • Henk van den Akker

    • Milestone: 0.7.3 --> 0.7.4
     
  • Henk van den Akker

    • status: pending --> in-progress
     
  • Henk van den Akker

    • status: in-progress --> test
     
  • Henk van den Akker

    • status: test --> complete
     
  • Henk van den Akker

    • Closed: --> True
     

Log in to post a comment.

MongoDB Logo MongoDB