-------------------------------------------------------------------------------
Dojo Storage
-------------------------------------------------------------------------------
Version X.XXX (does not have separate versioning -- versioned by release date)
Last Release date: March 2008
-------------------------------------------------------------------------------
Project state:
experimental
-------------------------------------------------------------------------------
Credits
	Brad Neuberg
	Alex Russell
-------------------------------------------------------------------------------
Project description

dojox.storage provides a JavaScript abstraction for persistent storage
as well as pluggable implementations which typically use native browser extensions
(e.g. Flash player, Gears)

-------------------------------------------------------------------------------
Dependencies:

FlashStorageProvider requires the Flash player
GearsStorageProvider requires the Gears extension
The various Air*StorageProviders require Adobe's AIR software

The open source mtasc compiler (www.mtasc.org) is needed to build the
ActionScript into SWF format.  The SWF object is maintained within svn, so
this step is only necessary if Storage.as is modified.  A sample build script
is provided (buildFlashStorage.sh)

-------------------------------------------------------------------------------
Documentation

See http://manual.dojotoolkit.org/WikiHome/DojoDotBook/Book50 for the
authoritative Dojo Storage docs.

See dojox/storage/demos/helloworld.html for a simple Hello World example
you can base your code off of.

-------------------------------------------------------------------------------
Installation instructions

If you want to use Dojo Storage in a web browser:

These installation instructions are to use Dojo Storage in a web browser; at
runtime, Dojo Storage will autodetect and use the best available storage
option. This includes:

  * Google Gears
  * HTML 5 Web Browsers (Firefox 2+)
  * Hidden Flash
  
If you are using a release build (if you downloaded Dojo from the Dojo
website then this is a release build -- if you checked it out from
Subversion yourself then you will have to build things yourself), if you 
only want to grab just the files from Dojo to use Dojo Storage
in the browser, take the following (but make sure to keep the directory
layout the same, or else things won't work correctly!):

* dojo/dojo.js
* dojox/storage/storage-browser.js
* dojox/storage/Storage.swf

To help with testing and development and to make sure you have everything 
right, its also useful to grab the following files:

* dojox/storage/README
* dojox/storage/demos/helloworld.html

If you want to use Dojo Storage with Adobe AIR:

[TBD! Why don't you write this and contribute!]

-------------------------------------------------------------------------------
Additional Notes
