Friday, April 28th, 2006 Offline Access and Permanent, Client-Side Storage

Category: Dojo, Examples

Brad Neuberg has written a very thorough article on Offline Access and Permanent, Client-Side Storage, Thanks to Dojo.Storage.

He details his updated work via Moxie, a sample application.

What is is a unified API to provide JavaScript applications with storage. It is a generic front-end to be able to provide all JavaScript applications a consistent API for their storage needs, whether this JavaScript is in a browser, a Firefox plugin, an ActiveX control, using Windows Scripting Host, etc. Further, the storage backends can use whatever mechanism is appropriate; automagically detects its environment and available storage options and selects the most appropriate one.

Future Storage Providers

  • Cookie Storage Provider – uses cookies to persist the hash table
  • Flash Storage Provider – uses Flash’s SharedObjects to persist data
  • ActiveX Storage Provider – uses COM’s File APIs to persist data
  • XPCOM Storage Provider – uses XPCOM’s File APIs to persist data
  • Form Storage Provider – uses the text autosave features of a hidden form to save transient data (the Really Simple History library uses this trick)
  • WHAT WG Storage Provider – uses native browser persistence to store data, as defined by the WHAT Working Group.
  • IE Storage Provider – uses IE’s proprietary abilities to store up to 60K of data.

Moxie: Offline Access

Posted by Dion Almaer at 10:09 am

3.7 rating from 47 votes


Comments feed TrackBack URI

The Flash Storage Provider is ready to be used by folks; check out the blog post for details.

Comment by Brad Neuberg — April 28, 2006

Wow, there are some definite applications I could use this for.

Comment by TheWeb20Dev — April 28, 2006

I highly recommend reading Brad’s post on his blog. What he has achieved is practically a miracle. I know he says is beta, but it seems far more tested than most beta stuff people throw up to get buzz. This is going to save all of us a great deal of time.

It’ so funny, 3 days ago I was bemoaning the fact that dojo news was sparse. Then bam, three big Dojo stories 3 days in a row. Thanks to for keeping their eye on Dojo. Now if the documentation could just….

Comment by Dave Hemminger — April 28, 2006

Dave: regarding docs: stay tuned.
We Have A Plan (TM).

Comment by Alex Russell — April 30, 2006

It’s a very handy library. How about Storage Providers for online services like S5? (wrt S5 Javascript Bindings post last week.) Seems like they’d fit the abstraction just as easily as the local services.

Comment by Michael Mahemoff — May 1, 2006

Stockage d’informations côté client grâce à la librairie Dojo

Une bonne nouvelle pour tout les développeurs Web grâce à Dojo : la possibilité de pouvoir, de manière simple, intégrer à ses application des capacités de stockage du côté client. L’intérêt est grand : moins de place nécessaire…

Trackback by Cédric's Pocket — May 1, 2006

Client side storage using Dojo

This is really cool. Ajaxian ran a story about a new capability built into the Dojo framework that provides persistent client-side storage. There’s even a link to a demo app. Although it has some limited use because, frankly, I want

Trackback by — May 1, 2006

Michael, I’ve been thinking about how to hide remote storage providers behind the StorageProvider API; the one problem is that the get() and getKeys() methods returns their values synchronously, while you would want these to be asychronous; having every method be asychronous, though, is a pain in the butt for normal, local programming. Do you have an idea on how to resolve this?

Comment by brad neuberg — May 1, 2006

Wow, this Dojo looks like a mighty tool

Comment by Grace Smith — May 2, 2006

Brad, Hadn’t thought about it like that. Still, there’s definitely a benefit to a unified interface.

I could only see the obvious solutions:
– Only support synchronous mode.
– Make the API support async as well, or introduce a second AsyncStorageProvider interface. Maybe async mode is also good for some local storage purposes anyway.

Comment by Michael Mahemoff — May 3, 2006

[…] Cookie Storage Provider – uses cookies to persist the hash table; Flash Storage Provider – uses Flash s SharedObjects to persist data; ActiveX Storage Provider – uses COM s File APIs to persist data more […]

Pingback by Ajaxian Offline Access and Permanent, Client-Side - Gadget Reviews | MP3 Player | Camera | Computer — August 1, 2006

hi can u tell me how to use dojo storage to store dad at client side other than cookies

Comment by Sunitha — December 19, 2006

Dojo is realii a gr8 framework. its cool, it doesnt require u to hav some specific technology on server side.

Comment by jyog — August 11, 2007

Leave a comment

You must be logged in to post a comment.