JayData 1.2

Rating:        Based on 1 rating
Reviewed:  1 review
Downloads: 532
Released: Sep 18, 2012
Updated: Sep 26, 2012 by JayDataOrg
Dev status: Stable Help Icon

Recommended Download

Application JayData 1.2
application, 441K, uploaded Sep 18, 2012 - 316 downloads

Other Available Downloads

Source Code JayData 1.2 Source
source code, 6313K, uploaded Sep 18, 2012 - 153 downloads
Example OnlineOfflineSyncDemo
example, 12336K, uploaded Sep 26, 2012 - 63 downloads

Release Notes

JayData is a unified data access library for JavaScript to CRUD + Query data from different sources like OData, MongoDB, WebSQL, SqLite, 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.

What's new in JayData 1.2

For detailed release notes check the release notes.

JayData core: all async operations now support promises

JayData core: Q.js promise library is supported via the qDeferred.js module

JayData already had support for jQuery.deferred for the Queryable.toArray and Queryable.forEach async operations. Now all the async ops (first, single, remove, saveChanges, etc) support deferred return value. Also you can swap jQuery.deferred to Q (another promise library with the same syntax). See this post for details.

JayData core: convenience “order” function on Queryable

Instead of Queryable.orderBy and Queryable.orderByDescending that take a field selector predicate you can use Queryable.order to sort by exactly one column. The syntax is: Queryable.order(“ColumnName”). To reverse sort place a dash as the first character of the column name: Queryable.order(“-ColumnName”)

JayData core: Context and set scoped events

JayData now provides several lifecycle events regarding entity creation, update or delete. Use the context scoped events for notification or the set scoped events to actively modify the behavior of an operation with altering the data before it gets to the wire or cancelling the operation. Read the whole story here.

JayData knockoutjs integration: Announcing JayGrid 1.0 Beta

We have created a handy grid component that provides customizable CRUD operations for arbitrary JayData entities. All of the 7 providers are supported as data source. Building a simple CRUD application has never been so easy before. Read more here…

JayData Server: Use JayData to create your own OData endpoint with JavaScript and MongoDB in a NodeJS environment

Documentation is yet to be released.

OData provider: optimistic concurrency, EF Timestamp attribute support

JayData now fully supports OData/EF optimistic concurrency model to detect server side changes in the model. Read this blog post for more.

OData provider: support for MERGE, DELETE and POST methods

Instead of sending all updates with $batch, JayData now support the RESTful invocation of update, delete, create operations with MERGE, DELETE and POST methods respectively if there is only one item in the change tracker. Multiple items still use $batch. See the details here.

OData provider: dynamic OData metadata resolution

There is a new way of creating and loading the JavaScript client context generated from the OData $metadata service. Instead of statically generating it with JaySvcUtil.exe you can now use the $data.service method to dynamically connect to arbitrary OData endpoints. This lets for generic use cases when the OData endpoint changes frequently or is not known at development time. For the details see this post.

OData provider: support for Service Operations with complex type array results

Now you can use OData services that have service operations with a return value of type “array of complex types”. See this blog post on how to work with server side functions (aka service operations) with the help of JayData.

Reviews for this release

JayData is a well-designed data management library, which is a huge help for my project even on client-side (HTML5 hybrid app) and server-side (NodeJS+MongoDB). Thank you!
by JamieHeppner on Sep 19, 2012 at 9:46 AM