Synchronizing Tracks and Shuffle


I did some open-source work last week. I created a synchronization option in the Android program called Shuffle. Allowing it to synchronize with the web tool called Tracks.

Here is a description of how to use the synchronization in Shuffle.

Configuration

image

image image

Open the settings menu, select the Change Synchronization option.

Specify your Tracks installation URL, username and password.

Make sure that the URL is correctly formatted and that there is no ending slash in the url:

this is wrong: http://my.gtdify.com/

this is correct: http://my.gtdify.com

Usage

image image

On the menu available in most screens there is a button called synchronize. Click it and the synchronization starts. It will first synchronize the contexts, then project and last the Tasks.

Details of the synchronization

The synchronization will try to reduce duplicates that might occur between Tracks and Shuffle. This is done by looking that the description of tasks and the names of contexts and projects.

The synchronization works with a server wins, modification date oriented approach. Should there be a conflict the latest version will win, and in it will try to take as much detail it can from Tracks.

Also, using the “Delete completed” option removes the tasks from Shuffle. This means that the synchronizer wont find them and can’t mark them as finished in Tracks. If you use this synchronization I recommend letting the synchronizer take care of the “cleaning up”. This will be done the second synchronization that a task is complete on.

That is, if you complete a task and synchronize, both tasks will be in both systems as completed. Synchronize again the the task will be removed from Shuffle,  but maintained as completed in Tracks.

Bookmark and Share

, ,

  1. #1 by Steve on January 13, 2010 - 02:12

    This looks very exciting indeed – thanks.

    Are port numbers supported at the shuffle end, i.e. can I enter http://server.com:1000 or something similar?

    Is there a specfic version of tracks required at the server end or any server related configuration required to enable API access? Shuffle is saying “Could not load contexts using these settings” and the server says “GET /contexts.xml HTTP/1.1″ 401″ but I have checked several times to make sure my username/password are correct.

  2. #2 by Morten on January 13, 2010 - 11:14

    @Steve
    Hi Steve!

    Port numbers “should” be accepted, I follow HttpClient and their implementation and I see no reason to why it shouldn’t work.

    As for the user name and password, the synchronization is written to support BASIC authentication. Are you using another type of authentication with your server?
    Do you have any ip-blocking going on?

    The Synchronization has been tested against
    1.7_branch
    and gtdify.com ‘s version which to be honest I don’t know exactly. I’ve mailed them to see if I can compile a list of tested versions.

  3. #3 by Stuart Morgan on January 14, 2010 - 16:53

    Looks like you aren’t alone Steve; there’s an issue with several of us who can’t seem to connect to our Tracks installations:
    http://code.google.com/p/android-shuffle/issues/detail?id=94

    I’m really looking forward to using this once I can get it working. Morten, huge thanks for tackling the integration work!

  4. #4 by Morten on January 14, 2010 - 19:29

    @Stuart Morgan
    Thanks! :)

    Apparentlly the tracks synchronization has only been tested on version 1.7 of tracks. If any of you could provide me with a test user, I’d be able to see what the connection issues are to the tracks installation.

  5. #5 by Roger Barnes on January 20, 2010 - 02:34

    I’ve posted a note about how to fix this issue, the HttpHost needs to include the port:
    http://code.google.com/p/android-shuffle/issues/detail?id=94

    Looking forward to the fix being deployed! :)

  6. #6 by Morten on January 20, 2010 - 09:10

    @Roger Barnes
    Nice! Thanks, I’ll take a look. I’ve been working on it last night but my environment is acting up. Not to worry it’s is on it’s way though.

  7. #7 by Hans on July 7, 2010 - 06:18

    Is there a way to synchronize with Tracks installed on my local computer, either via bluetooth or wifi?

  8. #8 by Morten on July 7, 2010 - 09:54

    While I havn’t tested it, you should be able to synchronize through WiFi.
    You configure the synchronization to synchronize with the IP of the computer running the installation.
    As long as you have access through your wireless it should work.

  9. #9 by Chris on July 13, 2010 - 22:44

    Is there some document out there that describes Tracks’ synchronization API?

  10. #10 by Morten on July 14, 2010 - 06:58

    There is a small document in the Tracks documentation briefly describing their REST interface. Based on that document you have to explore the behavior.

  11. #11 by Chris on July 14, 2010 - 15:31

    Thanks!

  12. #12 by Jakub on July 29, 2010 - 08:32

    Hi, I tried to follow your directions but there is no Synchronize button in my installation of Shuffle. Has this changed lately? I’d like to only sync manually when on wifi because mobile data costs me money. Thanks! Jakub

  13. #13 by Morten on July 31, 2010 - 20:43

    There has been no changes lately. If the button doesn’t appear then the settings aren’t saved correctly. Apparently there is a bug where starting Shuffle from the Widget can cause the Synchronize button to not appear. I havn’t had a chance to verify that but it’s one of these two reasons.

  14. #14 by Yvonne on April 6, 2011 - 04:08

    Just wondering if anyone else has context sync issues? I seem to have the default ones in Shuffle as well as the ‘new’ ones (as they didn’t sync properly) in gtdify.com

    also on my phone, when it’s synchronising with tracks it seems to be doing so for a very long time. But the data does seem to synchronise — am I doing something wrong? (have set it to 1 hour updates)

  15. #15 by Dave on February 5, 2012 - 11:15

    Just downloaded onto my droid, and trying to sync manually. Any way to do that or just wait until the 1st background sync? I agree w/ Jakub on the manual sync. Also, would like to use multiple google calendars rather than just one as I have many.

  16. #16 by Morten on February 5, 2012 - 14:18

    I’m not sure how the ui works any more, but you should get a view up when you click the synchronizing action from the notifications area.

(will not be published)