Installation
https://sourceforge.net/p/gtdsync/wiki/Installation/
There are 2 releases that cause files from previous releases to be obsolete:
- v0.7.7: The add-on name was changed from 'gtdSyncWithTodoTxt' to 'gtdsync', making files and directories based on the old name obsolete.
- v0.8.0: GTD Sync source is not included anymore (since it is available online) making the source included in previous release outdated and obsolete. In addition the Quick Start documentation has been moved from
doc to addons/gtdsync/doc.
Unfortunately an installation of a new version cannot automatically delete files that have become obsolete. This can lead to problems: in case of upgrading to v0.7.7 the old version remains installed. If you upgrade from v0.7.7 or smaller to v0.8.0 or greater, you need to uninstall the older version first (Tools > Add-ons > Add-ons > Uninstall) and then install the newer version. No problem if this has slipped your mind: just uninstall and then reinstall GTD Sync v0.8.0 or higher. This will delete all obsolete file from previous installations. In addition you may want to delete some obsolete empty directories. Open your Freeplane user directory (Tools > Open user directory) and remove the following directories:
- addons/gtdSyncWithTodoTxt/lib/
- addons/gtdSyncWithTodoTxt/scripts/
- addons/gtdSyncWithTodoTxt/
- doc/_gtdSync_help
- doc/_gtdSync_help_nl
- doc (if empty after previous deletions)
- src/.settings/
- src/addons/gtdsync/
- src/addons/
- src/gtdSync/
- src (if empty after previous deletions)
Compatible Freeplane version
I will test a new release of GTD Sync against the most recent release of Freeplane during the period of developing the new release of GTD Sync. I will define that Freeplane release as the oldest compatible one, since I do not have time to test it against older versions of Freeplane. This means you cannot install GTD Sync on older Freeplane version. If you must use an older Freeplane version you can do the following: Open the GTD Sync installation mind map without installing it and change attribute freeplaneVersionFrom in the root node to the desired Freeplane version. Then install it and test if it is working with the older version Freeplane. Please note that you cannot change to lower minor Freeplane version, e.g. if the oldest compatible release is 1.8.x you cannot change it to 1.7.x or lower. The alternative is to use an older version of GTD Sync.
Quick start
Press Shift+F1 after installation.
Changes:
V0.8.0: New functionality and refactoring (in progress)
- Feature #8: Archive completed actions to another mind map
- Task #29: Regroup language keys for better recognition
- Task #64: Replace GTD Sync add-on URLs
- Task #65: Switch to Gradle and Freeplane Gradle plugin for add-ons
- Task #67: Upgrade to Java 17 and Groovy 4
- Task #68: Move Quick Start docs to GTD Sync addon directory
- Task #58: Remove error situation from Convert GTD mind map language
Oldest compatible Freeplane version: 1.11.2
V0.7.7: Bug fixes and refactoring
- Task #38: Rename to GTD Sync / gtdsync
- Bug #34: GTD Sync overwrites new use of F5 key for Freeplane presentations
- Bug #44: GTD Sync overwrites new use of Ctrl+F1 key for Command search
- Bug #25: Cancelled GTD Sync on wrong mind map leaves language attribute in root node
- Bug #39: Script error when opening GTD Sync Help: quick start
- Bug #52: Button to open Freeplane log does not work
- Bug #53: Button to open Freeplane log not readable
- Bug #54: Wrap text in button to open Freeplane log
Oldest compatible Freeplane version: 1.8.9
V0.7.6: Bug fix
- Bug #26: Illegal access to method in Freeplane 1.5.20
Oldest compatible Freeplane version: 1.5.20
V0.7.5: Bug fixes
- Bug #24: "Cannot cast object" bug in Freeplane 1.5.11. Reported by Aleksandr Sazhin.
- Upgrade to Freeplane 1.5.13
Oldest compatible Freeplane version: 1.5.13
V0.7.4: Enhancements
- Feature #9: Possibility to add e-mail addresses to next actions
- Feature #6: Automatically change project name from todo.txt file
- Feature #21: Change shortcut key for GTD Sync Help from Alt+F1 to Ctrl+F1
- Improved some logging messages
Oldest compatible Freeplane version: 1.3.11
V0.7.3: Bug fixes
- Bug #15: Error when accessing the Freeplane log file via the button on the GTD Sync results screen. Reported by Evereasy.
Oldest compatible Freeplane version: 1.3.11
V0.7.2: Bug fixes
- Bug #13: GTD Sync not working in Linux and Mac. Thanks to Steve to point out the solution!
- Bug #12: Some images do not show in Quick start mind map. Fixed by Evereasy. Thanks!
Oldest compatible Freeplane version: 1.3.11
V0.7.1: Bug fixes and minor changes
- Feature #1: Option to remove node attributes in "Project" function
- Bug #11: Error occurs when next action has child node and caused deletion of todo.txt file.
Oldest compatible Freeplane version: 1.3.11
V0.7: Beta release
- Feature #3: Added customisable icon for done.
- Feature #5: Added check whether current language matches language of GTD mind map to the 4 functions: GTD Sync, Project, Next action and Completed.
- Added script to convert keywords in GTD mind map from translation in mind map to current translation used by GTD Sync
- Feature #4: Added quick start help in English and Dutch
- Feature #2: Added function to call help file (adapted from scriptlib add-on by Jokro)
- Moved extended help from original help mind map to SourceForge wiki
Oldest compatible Freeplane version: 1.3.11
Build and develop GTD Sync with Gradle
Freeplane uses Gradle as a build tool and the developer has provided a Freeplane Gradle plugin for add-ons. I have added this plugin to this repository in v0.8.0. In addition I have changed the project set-up so that it easily can be imported into an Integrated Development Environment (IDE).
Just building the GTD Sync add-on can be interesting if you would like to try a new feature before it has been released.
Importing the repository into an IDE could be interesting in the following cases:
- You would like to contribute to the development of GTD Sync.
- You would like to develop your own fork of GTD Sync.
- You would like to have a demo of how Gradle can be used for Freeplane add-on development.
If you would like to contribute, contact me to share your plans and study this workflow to contribute to and open source project. Note that SourceForge uses Merge requests in stead of Pull requests.
Build GTD Sync with the Freeplane Gradle plugin
Prerequisites:
- Freeplane is installed
- The Development Tools add-on is installed
- On MacOS gradle should run under Java 8, on Windows and Linux you can run it with any Java version
Steps:
- Download Snapshot from the desired branch/commit of this repository on SourceForge
- Unzip this file to a location of your choice
- From the unzipped files open
gtdsync_composite/gtdsync/build.gradle with a text editor
- Look for
freeplaneDirectory = '../freeplane_root/BIN' and change '../freeplane_root/BIN' to your Freeplane installation directory
- Save and close
gtdsync_composite/gtdsync/build.gradle
- Open a terminal or command prompt and
cd to the gtdsync_composite/gtdsync directory in the unzipped directories
- To build the add-on type
../gradlew packageAddon
- You find the installable add-on as
gtdsync_composite/gtdsync/build/addon/gtdsync-vx.x.x.addon.mm where vx.x.x is the unreleased version.
Import GTD Sync source as a Gradle project
The Freeplane and the GTD Sync project are separate Gradle projects. In order to be able to define GTD Sync's dependencies on Freeplane a third project, a so-called composite build, is necessary. The hierarchy with the actual directory and Gradle project names is as follows:
gtdsync_composite
|___ freeplane_root
|___ gtdsync
Importing the composite build gtdsync_composite, the root of this repository, will set up the IDE for GTD Sync development. Before importing you need to add the freeplane_root project yourself.
Prerequisites:
- An installed IDE that can import Gradle projects, i.e. Eclipse (preferably the Eclipse IDE for RCP and RAP Developers package), IntelliJ IDEA or Netbeans (with Gradle plugin installed).
Steps:
- Create a local repository, e.g. by forking it on Sourceforge and then cloning it locally. Name the root directory
gtdsync_composite.
- Download the Freeplane source for the [latest stable version on SourceForge]https://sourceforge.net/projects/freeplane/files/freeplane%20stable/. The file looks like
freeplane_src-x.x.x.tar.gz where x.x.x is the latest version.
- Open a terminal or command prompt in the
gtdsync_composite directory
- Unpack the downloaded source:
tar -xvzf <downloads>/freeplane_src-x.x.x.tar.gz. If you use a Windows version older than 10 you need to use a tool like 7-zip
- Rename directory
freeplane-x.x.x to freeplane_root: move freeplane-x.x.x freeplane_root for Windows or mv freeplane-x.x.x freeplane_root for Linux or Mac OS.
- Change to the
freeplane_root directory and run ../gradlew clean build.
- Import the
gtdsync_composite directory as a Gradle project