1. BreezeJS Feature Suggestions

Help us make Breeze.js better by letting us know what you’d like to see next.

Suggest new features, vote on existing ones, or fork Breeze in GitHub and send us a pull request.

  1. optimize/compress data/bandwidth using nested arrays of values only

    Instead of current JSON format used to send data from server to client, optimize it so that only values are sent in an array (or nested arrays) - no need to send field names if schema is available, otherwise send a separate mini-schema (list of fields/types) along the data. Decode it on the client back to the current structure.
    This is especially important when trying to limit the data sent back using Select on the server (anonymous entities), each row includes a complete data type as a very long string - with many rows, this adds substantial overhead (almost always…

    2 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  2. 1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  3. EmailAddress validation issue

    Hello. You copied regex from .Net EmailAddressAttribute to client validation emailAddress. Server-side validation is with ignore case option, but on client - without it, so email with any uppercase letter is invalid.

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  4. I still cannot find a good example of querying locally...

    it's the only reason left to continue with Breeze...and we can't get it to work without defining our own type. I looked through the sample code you have and there isn't an example with local querying.

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  5. Access EntityManager from Node.JS as server side data access API

    I'm interested in being able to use the Breeze.js EntityManager and query capabilities within a node console service to access a remote Data Service that exposes an BreezeJS/OData compliant RESTful endpoint.

    We currently have a Data Service implemented using Node.js, MongoDB and the Breeze.js breeze-mongodb module.

    We have web browser hosted clients that access the MondgoDB using the Breeze.js client API (EntityManager) and the Data Service described above.

    I need to create another Node.js service that can access the same MongoDB database that the web browser hosted clients do, and for consistency/simplicity I would like to use the same data…

    51 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  6. .withHeaders for specifying optional headers to pass along

    If we have specific headers we want to pass along for certain calls and not others we don't have the ability to easily handle that when we are using an OData adapter. I've seen implementations where this is handled by setting values on the oData default http client, but that makes the setting occur for EVERY call when I would like to have a more granular level of control to be able to pass along headers in certain scenarios.

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  7. 19 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  8. support odata minimalmetadata

    breezejs does not support use of minimalmeta and jsonlight resposes are too big. I tried using

                    //odata.defaultHandler.accept = 'application/json;odata=minimalmetadata';
    
    //odata.jsonHandler.useJsonLight = true;

    all operations but delete work. because delete depends on the full meta data

    8 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  9. Improve the error reporting when the json returned by breeze doesn't include fields it needs ie. $id $type

    Currently we get an obscure error message, such as "object #<object> has no method getproperty"...would be nice to get something like "JSON result is not in the required format, Breeze can't map your entities, $id and $type are required"

    2 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  10. Breeze talking to an arbitrary web service that could have been written on any platform using any RESTFUL technology

    Breeze talking to any REST service that could have been written on any platform using any technology

    5 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  11. Support Entity Framework 6 with WebAPI 1 / .NET 4.0

    Current EF6 support requires WebAPI 2, which only runs on .NET 4.5. Please consider adding support for using EF6 with WebAPI 1 on .NET 4.0 for those of us with old Windows 2003 Servers.

    17 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  12. Http POST for Queries to enable advanced search screens

    When creating advanced search screen it's easy to hit the url limit of 2000 approx characters, certainly when performing projection queries.

    Allowing queries to be sent using Http POST would remove that restriction.

    Similar requests have been made on stackoverflow: http://stackoverflow.com/questions/18789860/breeze-js-in-clause-or-http-post-for-queries

    50 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  13. POST

    Allow POST for Queries when using DataJS. Breeze.AjaxPost.js Adapter only works when using Breeze Controller not when using regular OData Web API.

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  14. Support for "in" query

    For example in sql:

    Select id, name from table1 where id in (1,2,3)

    213 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  15. Support jqLite

    Single Angular incorporates the core functionality of jQuery in its internal jqLite, it would be helpful if Breeze could use jqLite so that the dependency on jQuery could be eliminated in Angular projects.

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  16. Need more samples... Like how to do sum, avg ,min,max calculations..

    Need more samples... Like how to do sum, avg ,min,max calculations..

    7 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  17. Fix Navigation Property Update When Changing a Composite Foreign Key

    In an entity that has a navigation property based on a composite foreign key (i.e. based on more than one foreign key properties), when setting one of the FK properties, breezejs tries to update the navigation property, however it searches for the foreign entity using a single key instead of a composite key, so it never finds the property.

    To see what I mean and for a possible fix, please refer to breeze.debug.js (v.1.4.8) lines 4907 and 4908:

                    key = new EntityKey(relatedNavProp.entityType, [newValue]);
    
    relatedEntity = entityManager.findEntityByKey(key);

    The related entity never gets found since the key consists only of a single…

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  18. Documentation code samples, double click select text doesn't work as expected

    Often times when working with your documentation code examples I will double click on a word to select the text of that word. It appears there is some extra javascript behavior added that will cause the entire document to be selected on double click. This is very annoying and not sure why anyone would want it to work like this..

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  19. Change EF context provider properties to virtual.

    This will make it much easier to mock repositories and follow a better design for server side unit tests.

    Also if a matching interface is exposed, IOC will be much easier.

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  20. Entity creation: Initialise Foreign Key - Properties which are Nullable with Null (Currently it's 0)

    i'm currently working on a angular/breeze/web api - based solution.
    to simplify user input i'm marking all the required fields thanks to the getValidationErrors() method. in this case the user presses an add button on a grid, then a new entity gets created and angular takes care of the rest. sounds good right?
    This works for regular Properties but not for Foreign Keys because they get created with an "0" Value (I didn't assign defaults and the column is not nullable) and therefore validationErrors is empty after entity creation which is imho wrong.

    additional information:
    http://stackoverflow.com/questions/20339402/breeze-entity-creation-foreign-key-column-is-set-to-0-by-default

    19 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

1. BreezeJS Feature Suggestions

Categories

Feedback and Knowledge Base