Introducing dstore

By on November 17, 2014 1:24 pm

dstore 1.0

Dojo has long distinguished itself with a robust and complete application architecture. And the foundation of this architecture has been the store interface, providing clean separation and consistent interface between presentation and data sources. We are committed to continuing to improve this architecture, and in this pursuit, we now releasing dstore, a next generation object store interface and set of data modeling components.

dstore is an exciting new package that provides a number of significant improvements over the prior data store framework, including a more fluent querying API, improved event notification, advanced cross-store filtering, and a more modular mixin system that allows us to easily combine components with alternate format support, advanced querying support, and more. In this post, we want take a brief look at these new features and improvements. From there, you can explore the tutorials and documentation that we have written for this new package.

Local Database Stores

By on June 17, 2014 10:57 am

Modern browsers have powerful new database capabilities that enable applications to store data locally, and perform advanced indexed queries without a network connection. Applications can be built with offline support without any disruption to data interaction, including searching. However, these database capabilities have traditionally been difficult to use across browsers since Safari only supports WebSQL (although version 8 is slated to include IndexedDB support), and Firefox and Internet Explorer only support the W3C’s IndexedDB API (Chrome supports both). And these two interfaces couldn’t be more different, making it very problematic to write applications that work offline on all the major browsers.

But, it is now much easier to access these database capabilities. By taking advantage of the consistency of the Dojo object store implementation, in version Dojo toolkit version 1.10, dojox/store now includes object store implementations for IndexedDB and WebSQL, along with a wrapper that will automatically delegate to the appropriate store implementation based on browser support. With a single common interface, you can retrieve, update, add, and delete objects, and even perform sophisticated queries in exactly the same way with the different underlying storage implementations.

Dive Into Dojo Charting

By on July 13, 2010 12:01 am
Notice: There is a newer version of this post available

Chart Types

One of the most powerful pieces of Dojo is also one of the most underutilized: Charting.  The Dojo Charting library lives within the DojoX (extensions) branch of Dojo, and features numerous chart types, options, and a variety of themes. This post introduce you to the charting library and show you how you can take a boring data collection and make it a beautiful visual chart in any modern web browser.

Amazon S3 + Dojo

By on July 3, 2008 12:03 am

Dojo‘s improved RPC and new REST services can be used with a wide array of web services. One particular use is Amazon’s Simple Storage Service (S3). Dojo can connect to Amazon S3’s with a trivial proxy and be used as a normal RPC service. Not only that, Amazon S3 is a REST service and therefore it can be used as a data store with Dojo’s new REST implementation of, JsonRestStore. You can read and write to your S3 database using the convenient Dojo Data API, and use the data store in Dojo widgets.

New Dojo Offline Release

By on July 6, 2007 9:55 am

SitePen and Dojo are proud to announce a new beta release of Dojo Offline. This release has a huge amount of exciting new functionality, including a full port to Google Gears, a port from Dojo 0.4 to 0.9, and more.

Dojo Offline, Behind the Scenes

By on April 23, 2007 2:26 am

At the beginning of 2007, we announced a collaboration with Brad Neuberg to develop the Dojo Offline Toolkit, and today we are pleased to announce the beta release!

Several people have asked how and why we decided to do this, and how this relationship came about. From the SitePen perspective, our clients have an obvious need for offline web applications. We’ve known Brad for a while through Dojo and his contributions to and dojo.flash, and highly respect his high quality work and his approach to tackling challenging problems. After Brad finished the HyperScope project, we started talking in greater detail with him in November about how to improve for offline usage. We quickly came to the conclusion that we had similar goals and interests, as well as a similar commitment to open source software, and agreed to collaborate on the development of Dojo Offline.

Screencast of Dojo Offline + Demo + Release Download

By on February 26, 2007 8:37 am

[Note: This blog post is out of date. For up to date information on Dojo Offline please see the official web page.]

Hi folks; lots of news on the Dojo Offline front.First, we have put up a screencast that shows a demo of Dojo Offline named Moxie. Moxie is an example application bundled with Dojo Offline that shows how to use the Dojo Offline framework. It is a web-based word processor that features local storage and offline access. Moxie is now finished for Dojo Offline.

Thumbnail of beginning of Dojo Offline screencast for 02-20-2007

Watch the Dojo Offline Screencast

Next, we’ve finished the JavaScript layer of Dojo Offline. Dojo Offline consists of two major pieces: a JavaScript API that is included with a web application, and which helps with syncing, on/offline status notification, caching of data and resources, etc.; and a local small web proxy download that is cross-platform and cross-browser and which is web application independent. The JavaScript API is now finished, and can actually be used even though we have not finished the local web proxy yet. This is done by having the JavaScript layer be able to use the browser’s native cache if no offline cache is available. This means you can start playing with Dojo Offline right now, with the download link included in this blog post below. Note that using the browser cache instead of the web proxy is only suitable for prototyping and should not be deployed on production applications; it will work with varying degrees of success on Internet Explorer and Firefox, but not consistently on Safari. Higher levels of reliability will only come when we deliver the local web proxy component.

Code Finished for Dojo Offline’s Default User Interface

By on January 31, 2007 7:24 pm

[Note: This blog post is out of date. For up to date information on Dojo Offline please see the official web page.]

We have posted up the default user-interface widget for Dojo Offline; this is all coded up now in JavaScript and is complete. This means all the default user-interface code, which lives in, is done. The UI is ‘driven’ by the rest of the Dojo Offline framework, which includes and dojo.sync. Note that there is no real code inside of and dojo.sync; these are just stubs for now and return suitable ‘fake’ data to drive the UI. The next step is to actually code the inside of and dojo.sync, which actually persist data and do syncing.

I have updated Moxie, a demo offline web based word processor, to use the new Dojo Offline UI. Check it out. I have confirmed that the UI widget works in Safari, Internet Explorer, and Firefox, cross-platform. Play around with the widget and tell me if you find any glitches. Please note that the Dojo Offline Widget’s UI doesn’t currently actually do any persisting or synchronizing; it is ‘dumb’ and is just driven by the rest of Dojo Offline ( and dojo.sync, which isn’t currently implemented.