RS desktop data browser

Hi!

Is there such a thing as a desktop data browser for remotestorage, allowing one to fetch their remote data locally and do CRUD actions on it?
If not and if that make sense, do you have a clue on how to build one?
I picture it as a local mail client, say thunderbird, querying my remotestorage server just as mail client do, being then able to browse any kind of data offline. is it a right vision of what RS could do?

thanks in advance :slight_smile:

Maxime

@nilclass once started a Fuse plugin, which could be used as a starting point. With the upcoming 02 spec we also have content types and sizes in the directory listings, which would make it even more feasible.

thanks!
As I have no skills in C or alikes, I thought Node-Webkit might be an elegant option. I still didn’t dig enough in RS to get the whole big picture but I might try to hack around that in the coming months :slight_smile:

Cool. Ask anything anytime!

You can also reach folks in #remotestorage on Freenode for direct help and feedback while you’re on it.

@maxlath great, welcome!

using node-webkit, maybe you could make it an unhosted web app at the same time, and then just bundle that into an executable for various operating systems, right? that would be a really nice approach, i think.

getting your remote data into the browser is easy, off the top of my head, in 0.9+ it would be something like:

remoteStorage.access.claim('*', 'rw')
remoteStorage.scope('/').cache('')

and that will download all your data into the current browser tab. from there, you could use something like http://gildas-lormeau.github.io/zip.js/ to import/export all your data.

if you want to skip the zip-file step, you could try with http://developer.chrome.com/apps/fileSystem directly.

last time i tried it, the fuse application for mounting your remoteStorage account as a local file system works on linux, and probably also on Mac. so definitely also check that out!

I’m pretty sure you will not want to download all data in a file browser.

For a browser on remote data, I think the best way (and what basically everybody does) is fetching/displaying the listings (from -02 on with file sizes and content types) and then only fetching more info when actually opening folders and files. http://remotestorage-browser.5apps.com/ is actually a good demo for that kind of app.

yep, spotted that! that could be a pretty quick win ^^

well, not so quick, unfortunately:

remotestorage.js (remotestorage-browser uses 0.8 but 0.9 seems to be the same here) makes problem with the authentification

#remotestorage.js:1202

var clientId = redirectUri.match(/^(https?://[^/]+)/)[0];

and then client side

TypeError: redirectUri.match(…) is null

which is normal as document.location looks like

file:///tmp/.org.chromium.Chromium.13HPOO/index.html

same behavior as if you just opened index.html in a browser without any server.

could RS work with a non-http clientID or will it be blocking in too many points?

You will always need an origin for the redirect, as long as the spec doesn’t support other OAuth flows. For native apps that is obviously a hurdle, and we should probably discuss adding at least one more native-friendly flow to the spec.

That said, it’s possible to do, as the origin can be anything as long as it works as an HTTP redirect on that device (Chrome extensions/apps e.g. give you sth like chrome-extension://mjkkicfcbdoikeopenhhglbhdkcmpjhm/index.html. Not sure what you’re doing exactly with Chromium, though).

For advanced users (and others probably shouldn’t use a browser at this point, because most data is raw app data that can’t be opened in desktop apps) it might make sense to just make the token configurable for now, so they can use their own. That way you can develop the actual app instead of being blocked by the auth.

I can’t speak for others, but at 5apps we’ll soon launch a feature, where you can create new auth tokens directly from the storage dashboard (similar to what GitHub does with “Personal Access Tokens”). It is meant for developers and advanced users, so you can authorize e.g. backup/import/etc scripts without a redirect.

can you open a ticket about that on Issues · remotestorage/spec · GitHub? sounds like something to add to remoteStorage in general, not just to 5apps. also to avoid people developing 5apps-specific apps that break or are unusable when you have your data at any other provider

This is nothing 5apps-specific and it is mostly meant for developers.

It is in no way a replacement for a more non-Web-friendly OAuth flow like password or PIN.

opened https://github.com/remotestorage/spec/issues/60 about this