I've been looking into this and Tomaz asked me something about Dropbox and Google Drive and so I figured I might as well document this in email so people can comment.
Once thing I want to add after 4.3 is a user friendly way to interact with storage that isn't just a local XML file. We already have some integration of git storage but that's actually a bit of a pain right now. This isn't well structured, mostly a summary of the things that I know, so bear with me... a) opening / saving a local XML file. straight forward, works with today's file dialogs b) opening / saving an XML file via Dropbox that should be just as transparent, as Dropbox usually integrates just as a local folder c) opening / saving via Google Drive or other cloud filsystems this might need a special UI, something that tells Subsurface "this is how you get to my storage". I actually need to look more into those services (we need to include OwnCloud for example). Some are like Dropbox, I think, and show up as local directories. Others seem to have more web style APIs. Is there anyone here who's familliar with these? d) opening / saving to local git saving is actually easy, with a little manual work; create a directory and run "git init" in that directory (Linus: is there a reason we don't do this from Subsurface if there is no git repo in a directory?), and then point the file save dialog at /path/to/dir[branch] with a branch name of your choice and it will write the data into that branch of the repository loading is kinda hard right now. We use QFileDialog::getOpenFileName to get the file to load from the user and that dialog only returns existing files, so our syntax for entering the file name fails. This would be nice to fix before 4.3 - I'm sure we could replace this with a dialog that allows our syntax. All it then needs to do is figure out if the file that was returned exists or if this is git syntax and if neither, gracefully fail. e) opening / saving remote git this is an area I'm very interested in. I want to have a way to trivially use something like github or bitbucket or something where people can create private git repositories and access them from anywhere... and do so with a really simple UI. The UI should also allow you to just give it the necessary information to use any custom git server for those people who want to run their own (and yeah, that UI can be a lot more sparse as this is just for a few crazy people, not for average divers). And then we "simply" present this in an Apple Time Machine like fashion - as something where you can access the latest version or older versions. And ideally you can do truly trivial merges. So let's say you saved to the repo from your home machine, you take your laptop that has an older version of the data, download dives to the laptop and then try to save to the repo. The way we designed the git layout you should almost never have conflicts and merges should just do the right thing... this needs obviously some experimentation, but that would be something I'd really like to see. As promised, rather raw ideas, but maybe it's a start. The one item inside d) could and should be addressed prior to 4.3. Any volunteers? /D _______________________________________________ subsurface mailing list [email protected] http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
