JayData 1.1.1

Rating:        Based on 3 ratings
Reviewed:  2 reviews
Downloads: 771
Released: Jul 26, 2012
Updated: Aug 11, 2012 by JayDataOrg
Dev status: Stable Help Icon

Recommended Download

Application JayData 1.1.1
application, 550K, uploaded Jul 25, 2012 - 464 downloads

Other Available Downloads

Application JayData 1.1.1 Source
application, 8986K, uploaded Jul 25, 2012 - 177 downloads
Example Northwind Editor example with JayData and Knockout
example, 2547K, uploaded Jul 26, 2012 - 94 downloads
Application QuickFixForSafari6Bug
application, 363K, uploaded Aug 11, 2012 - 36 downloads

Release Notes

JayData is a unified data access library for JavaScript to CRUD data from different sources like WebSQL, IndexedDB, MongoDb, OData, Facebook or YQL. The library can be integrated with Knockout.js or Sencha Touch 2 and can be used on Node.js as well.

See it in action in this 6 minutes video
Sencha Touch 2 example app using JayData: Netflix browser.

New features in JayData 1.1.1


Extracted providers

Providers have been taken out from jaydata.js and moved to jaydataproviders subfolder to reduce the size of the library. The necessary files are loaded automatically when developers instantiates a provider.

MongodDB provider (Node.js)

Our old dream has came true with JayData 1.1.1: developers can CRUD MongoDB collections in Node.js environment. The functionality of this initial version of MongoDB provider covered all our example scenarios, but in the future we want to support native MongoDB arrays and table relationships based on navigation properties.

//initialize MongoDB context
$myApp.context = new $myApp.Context({ name: 'mongoDB', databaseName: 'myMongoDbName'}); 

InMemory provider

InMemory provider can be used on client- and server-side (Node.js) to save objectst to memory without persisting them to a database. The provider can be used to store data in short-term (until the next page reload in browser or during the application life-cycle in Node.js .

var memoryContext = new $news.Types.NewsContext({ name: 'InMemory' });

InMemory.js module

Using the inmemory.js module, you can use JavaScript Language Query (JSLQ) on standard arrays.
var items = [
            new $news.Types.Article({ Id: 1234, Title: 'Article1' }),
            new $news.Types.Article({ Id: 1235, Title: 'Article2' })
        var arrayQueryable = items.toQueryable();
        arrayQueryable.filter(function (a) { return a.Title== 'Article1' }).toArray(function (r) {
           //Your funky code with variable "r"

Modifications and fixes:

  • add: CRUD before/after events on EntitySet
  • add: ServiceOperation alternative declaration
  • add: Role access helper class
  • change: Providers not included in jaydata.js
  • add: Automatic provider loader (except Facebook and YQL)
  • add: new Make build script
  • add: NPM package build
  • fix: typesystem extend
  • add: inMemoryProvider
  • change: type system base type aliases
  • fix: modelbinder value function call has parameter data
  • fix: oData function import in array results, callbacks work in last parameter also, not just in toArray
  • fix: oData fromDb converters: $data.Object, $data.Array

Breaking changes:

  • File has been modified to jaydata.js instead of JayData.js, references should be updated

Reviews for this release

Eeasy to use, and very helpful support. Thank You!
by WalterWorld on Aug 5, 2012 at 4:31 PM
Excellent library for HTML5 data management, the OData provider with JSLQ makes hybrid app development much easier! Keep up the good work!
by osoromandella on Aug 1, 2012 at 3:11 PM