Ajaxian
Brad Neuberg has posted full instructions for working with both the Really Simple History framework as well as AMASS, the AJAX MAssive Storage System.
The Really Simple History framework
The Really Simple History (RSH) framework makes it easy for AJAX applications to incorporate bookmarking and back and button support. By default, AJAX systems are not bookmarkable, nor can they recover from the user pressing the browser's back and forward buttons. The RSH library makes it possible to handle both cases.
Download the Really Simple History framework
AMASS
The AJAX MAssive Storage System (AMASS) uses a hidden flash applet to allow JavaScript AJAX applications to store an arbitrary amount of sophisticated information on the client side. This information is permanent and persistent; if a user closes their browser or navigates away from the web site, the information is still present and can be retrieved later by the web page. Information stored by web pages is private and locked to a single domain, so other web sites can not access this information.
AMASS makes it possible to store an arbitrary amount of sophisticated data, way pass the 4K limit of cookies or the 64K limit of Internet Explorer's proprietary client-side storage system. An AMASS-enabled web site can store up to 100K without user permission. After 100K, users are prompted on whether the web site can store the requested amount of information. Users can approve or deny the storage request. The AMASS system informs the client-side application on whether the storage request was allowed or denied.
View the README files for both, where you can download the frameworks; they are both open source under a BSD license, so feel free to use them in your own consulting.
Example of using the storage handler
function statusHandler(status) {if (status == Storage.SUCCESS) { var results = storage.get(keyName); alert("Results from statusHandler="+results);}else if (status == Storage.PENDING) { alert("Results pending approval of storage space from user");}else if (status == Storage.FAILED) { alert("Storage request denied");}};
Download the AJAX MAssive Storage System