> Like any good basket user with multiple boxes in multiple locations, I > religiously 'backup' my baskets, put the gzip file in a location I can get to > it > via rsync or http to copy it to work/etc.. and then 'restore' my basket store > on > multiple machines. It just seems to me that in this day and age, I should be > able to put the basket storage on a server with local and remote access so I > could just read/write to the network basket location without having to > 'backup' > and 'restore' on each box I have basket installed on. > > I don't know how difficult something like this is to implement, but with > fish://, sftp:// or just plain old ftp://, it seems like this should be > doable.
It does seem doable but it's not a straight forward task to do it right. Remember basket isn't set up for having multiple access at the same data store. > Anybody ever looked into something like this? Kelvie has a published basket of what he has. And recently (when I had a lot more time) I was looking into it. I never wrote any code but I was playing around with different designs on paper. My solution feels hackish, even though I've removed the requirement to have it file based (so I didn't do any abstraction). But I like the file aspect. My next step was to discuss on here what we wanted out of it. So I started with the simple common use case where people have 2 machines connected at all times. One desktop and one laptop. Since they only use at a time and they are connected to the net, syncing is straight forward. Whether we want a centralized (at one of the 2 machines, or a third being a server). Next was the fact that thinking into the future, when I get a smart phone I'd really like to have access to my baskets. Not really huge idea change, since for the most part the phone is always connected too. It wouldn't really need a local store even. Although if you get a bad signal you don't have your baskets isn't ideal to me. Next was back to the laptop. It's a laptop so I'm going to disconnect it sometimes. Again, local store is really needed. But then I do some updates on there. And then I might do a change something on the desktop before I resync them again. And that's where the issue comes in: Off line editing. Now Kelvie has mentioned the git model. And I think that is a nice way of going. But I'm not sure how we'd want to implement it. If we just take the idea and not the code (we could use a DB as a backend), I'm concerned that we'll get a huge growing history. I'm not sure what that would do for speed and size, but perhaps we could have a cut off, where all things are to be at a known sync point. Another thing is that at what level would one do the git diffs. I mean is it the entire basket change or would it be each property of the basket (mostly an issue an creation, not in modification). And with encrypted baskets do we really want each iteration in the history? What if we encrypt of decrypt something. We could try to stick with the git code as a back end, lets us use the files we have now. But again the encryption issue, and then merging as well. Which brings me back to merging. What if there is a conflict? Do we give an option to do an easy merge (as in take the note with the most recent time) so to help out new users. Also, I'm not sure how tide in this could be with the undo/redo aspect because of the encrypt/decrypt problem. Also, what if someone wanted to use it across an office, what about locking the notes during edits. Now I'm now sure how serious this issue is, because a wiki may be more useful in that case. But maybe we could have a read only setting, so only one machine can change a basket. I'm just trying to see how flexible if we have to rewrite a lot. Oh and of course we'd need to have encryption on the syncing, especially in the smart phone case. Oh and I'd just like to throw out there that QT with MySql doesn't quite have SSL. There's a patch (I haven't tried it) but it's been around for a while and hasn't been included yet. Oh, and for a key my idea was just to sha the creation time, user, and host name altogether. to ensure uniqueness. I think I wrote all my issues. Everything should be paragraph separated so that it's easier to discuss. When I get time to make a proper sql schema I'll send that out. For a timeline, I'm not thinking soon. A solid beta within 2 years, although that's calculated with me just solely writing code, which I hope won't happen. Scott ------------------------------------------------------------------------------ Xperia(TM) PLAY It's a major breakthrough. An authentic gaming smartphone on the nation's most reliable network. And it wants your games. http://p.sf.net/sfu/verizon-sfdev _______________________________________________ Basket-devel mailing list Basket-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/basket-devel