-
-
Notifications
You must be signed in to change notification settings - Fork 486
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
use remoteStorage.js to enable people to save & sync their presentations #8
Comments
I was actually planning on looking into this. Is there a list of existing remote storage providers or is it pretty much just limited to 5apps.com at the moment? |
Oh, nice! The big remoteStorage providers right now are OwnCube (ownCloud hosting), 5apps, and the federation of Dutch universities (meaning all Dutch students can use their uni email as remoteStorage). A comprehensive list of the software & providers is at our state of the movement, further down, at »remoteStorage software & providers«. I'm very interested in Strut for the new way it handles presenting with Impress.js (as designer I used to be a Prezi hater, but then realized if the presentation is well-designed, it can work really good with that technique). So I’ll do a bit of interface & interaction design recommendations if that’s ok. If time allows I’ll even try to jump in with coding. |
thanks for your updates! I've started on implementing remote storage support. Right now I've added a wrapper that'll handle authentication and remote storage client creation: |
Nice one! If you have any technical questions on remoteStorage, ideally join our IRC channel / chat room #unhosted on freenode. In there just ask @michielbdejong, he mainly works on the protocol and remoteStorage.js Or if you don’t use IRC, join our mailing list. Welcome to the Unhosted movement! :) |
I'll check out the IRC channel. The remote storage protocol is a great idea. I'm kind of surprised there hasn't been a remote storage effort before now. |
great! remoteStorage wasn't done before 2011 because CORS didn't really exist yet, and people didn't think about the option of writing unhosted web apps until Google Gears went into html5 and went mainstream. for instance, OAuth2 has the implicit grant flow which allows for use from unhosted web apps, but OAuth1 did not. Also, webfinger did not mention CORS a year ago. people were just too engrained into client-server thinking for the decades preceding 2011. luckily that has changed now, and there are loads of client-side javascript frameworks, cloud storage platforms that provide "easily pluggable backends for unhosted web apps", and now in 2012, you see people programming unhosted web apps everywhere. i should probably warn that remoteStorage 0.7 will have a different api than remoteStorage 0.6.9 - if you come to irc we can chat about the implications of that! |
@michielbdejong Also, I didn't see a way to list the keys that have already been stored in a given "directory"... Is there not a way to do that yet or am I missing something obvious? I guess I would have expected something like: |
ok, you definitely want to wait for version 0.7 :) then we'll have On Tue, Jun 19, 2012 at 3:11 AM, Matt Crinklaw-Vogt
|
let me know if there is anything I can do to help out now or in the future. |
@michielbdejong so how is 0.7 coming? I'm assuming I'd have to wait for remote storage providers to upgrade to 0.7 as well before I can use client.get('some/') |
hi! i put it in developer preview a few hours ago: it doesn't do the syncing yet, i'm still working on that, but there have a look in the 'example' directory, do those make sense? On Thu, Jun 28, 2012 at 3:04 PM, Matt Crinklaw-Vogt
|
btw here's an example of how client.get('some/') works: https://github.com/unhosted/remoteStorage.js/blob/v0.7/src/modules/tasks-0.1.js#L26 |
So how goes the much awaited 0.7 release? |
Yeah! @michielbdejong and I just talked earlier, and a version with working sync (although still a bit alpha) might be ready in the next 2 days! :) |
yep! it will still be very alpha but i'll open it up for experimentation On Thu, Aug 9, 2012 at 6:55 PM, Jan-Christoph Borchardt <
|
I tried to check out the remoteStorage branch and also saw the connect widget in the code at https://github.com/tantaman/Strut/blob/b3c4fab478ba14be58d3c7ec355a20780c316b45/src/ui/editor/res/templates/Editor.bars#L47 But it doesn’t show up for me – I compiled, inspected the page, I don’t know where it is. Am I doing something wrong @tantaman? |
I tried making a new clone and it worked fine over here. Was there any output in the log? |
compiling strut is a bit different now. Make sure you have the latest and On Sat, Oct 20, 2012 at 6:20 AM, Jan-Christoph Borchardt <
|
I get this error:
|
try |
Gem installed, although with some errors: But still get the same error. Regardless of my compilation problems: Does it work with syncing the presentations? |
I'd have to look at it again but there are probably one or two more things I'll remove the listen dependency (it is actually removed in master) and On Mon, Oct 22, 2012 at 11:51 AM, Jan-Christoph Borchardt <
|
Good news: @nilclass tagged the release of remoteStorage.js version 0.7.0 yesterday. here is an example of how it works:
here are reference docs: let me know what you think! it would be nice to update this so we can have Strut compatible with the latest lib before we add it on https://unhosted.org/apps/ :) |
@michielbdejong I like the new API. Seems much more straightforward and I'm not having as many issues with it as I was having a few months ago. I'm thinking through the best way to start Strut now since the users last save could be local or remote. |
that question is entirely dealt with by the library, as long as you make sure your module implements the baseClient.on('change') events, and also has a way of pro-actively passing incoming changes to the app. if you look at how https://github.com/RemoteStorage/remoteStorage.js/blob/master/example/minimal/notes.js does it, you see it allows the app to set something, and get it back. This will work even if the user is not connected (!). it will just use localStorage or IndexedDB in that case, and this is entirely transparent (!) to the app. when the page loads, the app simply asks the module for the user's data, whether that is local or remote does not matter at this point. Then, if/when the user connects, at a random moment during the use of the app, any data that is fetched from remote then is passed on to the app for display using the on('change') handler: HTH |
Allows usage of different storage backends such as RemoteStorage, LocalStorage, Filesystem, etc. GH-8
Open/Save As dialog allows selection of remote storage Upon selection of remoteStorage the user may authenticate to their remoteStorage account. Selection of remoteStorage in the save/open modals displays the remoteStorage widget. Includes a presentations remoteStorage module that may or may not conform to the current remoteStorage interface. GH-8
@jancborchardt @michielbdejong It has been quite a long time coming but remoteStorage support has finally landed in the https://github.com/tantaman/Strut/tree/rewrite branch. Chrome & Firefox loading & saving the same presentation via remoteStorage |
that's great!! i'll go try it out :) thanks for this!! |
The rewrite branch isn't feature complete but you can test out saving/loading and the basics. |
@michielbdejong I published a built version of the rewrite branch to gh-pages so you can try out the remote-storage integration: http://tantaman.github.io/Strut/dist-rewrite/index.html |
@tantaman wow, that is great. How can I use remote-storage? It wants some sort of an email address? I used my gMail address but it doesnt work, it says error. |
@gotwig oops, it looks like the remoteStorage widget is getting cut off. It should have a link to http://remotestorage.io that explains how RemoteStorage works. |
@tantaman I already got it working... but why does no *** provider really explain how to setup it... no one said its like YOURUSERNAME@5apps.com, e.g at 5apps.com.... It runs pretty nice, I get the idea, thx! But how to integrate it into google drive? |
@gotwig Yeah, I seem to remember remoteStorage being more user friendly a few months back. I also remember coming across google drive integration that some guy on github did. I'd have to find it again. |
yes, the reason it's not very clear now is that the instructions about how the user address works and the link to remotestorage.io were in the part of the widget that is being cut off in the ui... this is not a problem for returning users, but i can see how it will be confusing for new users. great stuff! i have added Strut to https://unhosted.org/apps/ :) |
closing. Making separate issues for minor problem (e.g., widget being cut off). |
and the fact that RemoteStorage caches to LocalStorage which poses problems when things are over 5mb...... |
Hey! |
Just for completeness -
This was true at the time of writing, but remotestorage.js now used IndexedDB when it's available. |
So I can't use remote storage for Strut? Is that so? Sorry I am really new to this. |
remoteStorage.js is a client-side library to add remoteStorage support to your client-side app. There is a tutorial for example usage and more info in the readme of the repository.
Basically, remoteStorage is an open standard to seperate web apps from per-user data storage – whereas at the moment, most web apps are an app+storage package deal. Check the website of the unhosted movement for more info, and feel free to join our chat room if you have questions.
The text was updated successfully, but these errors were encountered: