TracksApp / tracks

Tracks is a GTD™ web application, built with Ruby on Rails
https://www.getontracks.org/
GNU General Public License v2.0
1.18k stars 538 forks source link

sync offline laptop with online tracks #358

Open dnrce opened 10 years ago

dnrce commented 10 years ago

Migrated from the original issue at https://www.assembla.com/spaces/tracks-tickets/tickets/358

I commute by train with my laptop - no internet access. I also work at shops where I can't use my laptop, but have internet access. I have a hosting account where I'll be hosting tracks for my family.

I'd like to have a local laptop copy of tracks, so I can work with it offline - and I'd like it to sync with the hosted account, when I get back online.

I'm figuring a rest based web service, where, when you push the sync button, it gets all changed tasks from the online site, inserts new, marks complete, and updates based on timestamps. Once the record sync was completed locally, it would put http the changes back to the host, including any new or updated tasks.

Originally reported by Anonymous on August 8, 2006 at 00:36:46 (+0200)

dnrce commented 10 years ago

On December 12, 2008 at 18:01:45 (+0100), Anonymous commented:

Maybe GoogleGears integration will fit here?

tmueller78 commented 9 years ago

I'm thinking of doing something like that as an addition or have it done if it's way past what I can get done with my knowledge. What's the best solution based on the previous development decision made in Tracks?

dnrce commented 9 years ago

@tmueller78, this would be awesome but it's a really hard problem.

To get a sense of any previous thinking, search the mailing list.

tmueller78 commented 9 years ago

I searched the mailing list as you proposed and clustered the ideas a little. Regrettably, aside from the very interesting Slingshot discussion, it didin't bring a lot of useful information. Do you know anything about what became of the whole Slingshot thing or know anybody who might still know?

Interesting

Slingshot, a possiblity to run Ruby on Rails applications offline with little effort (2007) https://groups.google.com/forum/#!searchin/TracksApp/offline/tracksapp/yjIsIEV37Po/SvNyft4Dt90J Regrettably, Slingshot seems to be dead, at least none of the links work and I can't find anything even distantly related to what the guys discussed back in 2007 with the keywords "Slingshot" and "Ruby on Rails" within the last year. Update: I did some more digging, and Slingshot seems to have been dead for quite a long time, see here: http://stackoverflow.com/questions/55711/options-for-distribution-of-an-offline-ruby-on-rails-application/56333#56333 Update 2: Joyent replied to my inquiry: "We deprecated that code and it was last up to date for rails 0.14 (not even stable rails, early day rails was the next big thing)."

This discussion also includes a few ideas on what to use instead, but also is quite old already (2008). Here's another discussion on how to do it (2009): http://stackoverflow.com/questions/1183121/distributing-rails-applications-as-native-applications

Discussion of whether to use Google Gears instead of Slingshot (2007) https://groups.google.com/forum/#!searchin/TracksApp/offline/tracksapp/wuIctTMyLFw/Uac28KtCApgJ Regrettably, the mention of Google Gears is pretty much how deep the discussion goes. Update: There's a project to enable gears for Ruby on Rails with little effort called gearsonrails: https://code.google.com/p/gearsonrails/

Some thoughts on how implement it on a database level (2011) https://groups.google.com/forum/#!searchin/TracksApp/offline/tracksapp/mCcNxodJc0c/R79CMZa1bzEJ

Non-practical solutions (IMHO)

Discussion on just copying the database before and after offline requirement (2012): https://groups.google.com/forum/#!searchin/TracksApp/offline/tracksapp/BOFyoQ0rc4A/7ADvMULBC2AJ Proposal to use Tracks on a USB Stick/Cloud with a SQLite3 database (2006) https://groups.google.com/forum/#!searchin/TracksApp/offline/tracksapp/xftumEHaDyg/_YBVla9Jw7gJ

lrbalt commented 9 years ago

IFAIK, the discussion stopped and nobody picked this up. It is a hard problem and I think we need to consider if we could maintain this as part of Tracks if someone did make it work...

tmueller78 commented 9 years ago

Thanks for the reminder, I haven't posted an update to my research effort here.

I did take this further and had an experienced Ruby on Rails development team I know take a look at Tracks to find a solution.

The result was that due to the way Tracks is built, you can as well rebuild it from scratch in order to make this possible:

They proposed to switch technologies away from Ruby on Rails to make it easier to implement an offline capability, which I guess would not be feasible here since it would be a new development project. Therefore, I figure the issue can be closed here. In case there's any interest from anybody in the alternative approach, please let me know.

Addition: from what it looked like, Omnifocus on Mac is very close to the functionality of Tracks, so that might be an option for Mac users interested in an offline version. It's quite pricey though, but does not have recurring costs:

Mac: Standard: $39.99 Pro: $79.99 iPad: $29.99 iPhone: $19.99

Since I'm an Android user not willing to switch, Omnifocus is not an option for me since they don't have a version that's accessible from a browser from what I understood.