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. Support expand('entity1, entity2, entity3') of multiple entities from a TPH type

    Currently if I try to expand a type that is a TPH with more than one entity in the expand, Breeze throw an error.

    see link for details of odata results
    http://stackoverflow.com/questions/16727828/breeze-doesnt-expand-tph-entities-correctly

    3 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. Integrate Breeze with Salesforce

    Smooth the integration process for companies who'd like to incorporate Breeze into their Salesforce deployments.

    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. Integrate Breeze with Oracle RDBMS

    Smooth the integration process for companies who'd like to incorporate Breeze into their Oracle RDBMS.

    14 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 →
  4. Integrate Breeze with SAP BW

    Smooth the integration process for companies who'd like to incorporate Breeze into their SAP BW deployment.

    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. Integrate Breeze with SAP ERP

    Smooth the integration process for companies who'd like to incorporate Breeze into their SAP ERP deployment.

    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 →
  6. Breeze clientside serialization of DateTimeOffset DataProperties

    Thanks for addressing my case about supporting the CLR DateTimeOffset type in breeze (supported from v1.1.1).

    Please look at this case for background information.

    I have looked into how serialization of JsDate/DateTime/DateTimeOffset works in Breeze, and found a single shortage that defeats my idea of using DateTimeOffset on the server.

    I believe that you will find my change suggestion reasonable.


    • In breeze, Dates are serialized in ISO-8601 format ("yyyy-MM-dd\THH:mm:ss.fffK") both by the breeze client and by JSON.NET configured by Breeze.WebAPI.
      This is according to my expectations.


    • When a DateTimeOffset is serialized by JSON.NET on the server, the timezone part of…

    77 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Flag idea as inappropriate…  ·  Admin →
  7. Hybrid FetchStrategy

    A hybrid fetch strategy which first tries to execute a query locally then goes to the server if it fails or result count is 0. Different local and remote queries should be specifiable.

    7 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. 32 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. Integrate with KendoUI

    I see Kendo doing work towards Breeze integration:

    KendoUI datasource http://www.kendoui.com/blogs/teamblog/posts/13-02-21/breezejsandthekendouidatasource.aspx

    Kendo-labs repository
    https://github.com/kendo-labs/breeze-kendo

    Can I hope that Breeze will pick up the torch and make some integration progress as well?

    69 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. Log object value in error message

    Any time an error message logs or pops referencing a data or object
    error, it would be nice that you include in the log the data or object value so we can explore and see what you are getting from us. I belive this is an easy and speedy fix and it will help us a lot. :)

    3 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. Not assume identity columns are part of a primary key.

    Throughout breeze it is assumed that if an entity has an identity column, that column is part of the primary key. Identity columns do not have to be part of the primary key.

    3 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 →
  12. 44 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 →
  13. Propagate the .NET [RegularExpression] validation to the client

    [RegularExpression] should join [Required], [MaxLength], [StringLength] as a DataAnnotations validation attribute automatically propagated to the Breeze client through metadata. It's powerful. It should be relatively easy as it is string-based and regular expression specifications are (almost) the same in .NET and JS. See also [this StackOverflow question](http://stackoverflow.com/questions/16383161/regular-expression-server-side-unrecognized-by-breeze)

    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 →
  14. Better support for ordering by navigation property

    When ordering by a navigation property and using skip-take pagination, skip-take is processed before the ordering, which is counter intuitive. You get this:

    Page 1: A, B, C, D
    Page 2: A, B, C, D

    Instead of

    Page 1: A, A, B, B
    Page 2: C, C, D, D

    When using query.from('Foo').expand('Bar').orderBy('Bar.A').skip(10).take(10). It works as expected when ordering by a regular property of Foo.

    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 →
  15. RESTfull conception support

    RESTfull concept suggests to use different http methods(get/post/put.delete) for CRUD operations with specific request params and responses. Also it suggests send only necessary info.(for ex. no need send entityAspect for RESTfull API).

    Similar functionality exists in JayData. Will be great if Breeze will support this functionality too. It'll be usefull for big apps, for api which have to be shared to other clients and expand area of usage.

    Also this functionality will add supporting DTO without writing own context provider for breeze.webapi .net framework because in this no need to use breeze.webapi .net. Generally users will develop asp.net web api…

    214 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    14 comments  ·  Flag idea as inappropriate…  ·  Admin →
  16. 338 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    11 comments  ·  Flag idea as inappropriate…  ·  Admin →
  17. Support .NET Validation Attributes

    It would be great if the .NET validation attributes defined on the business model were sent along with the metadata. One benefit of this feature would be that we wouldn't have to redefine error messages on the client side.

    278 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    10 comments  ·  Flag idea as inappropriate…  ·  Admin →

    A quick update for this request:

    We’re probably 50% there today, but hope to get to 80% soon. This is certain to get done, but we’re just not there yet.

  18. Expose a method on the EntityManager to "unwrap" an entity instance (toJS).

    There are a few use cases where an entity instance needs to be sent to the server to an MVC API controller (for example for async server side validation); to do this, it is necessary to obtain an unwrapped version of the instance (plain JSON) that contains no internal properties such as entityAspect and uses properties instead of observables (ko.mapping.toJS is not suitable because of the former). Also, because the client configuration allows for a different naming convention, the method should be able to translate the names back to the naming convention originally used by the server.

    Such a method…

    202 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    6 comments  ·  Flag idea as inappropriate…  ·  Admin →
  19. Update samples to use typescript

    Provide samplese that use breeze and typescript

    114 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  20. Asynchronous validation

    I'd like a feature that will consent to perform asynchronous validation.
    Actually, a custom validator like the one below will always return as undefined so a falsy value. It would be great valFunction will be evaluated after the db response.

    function createExistingUsernameValidator() {

        var name = 'existingUsernameValidator';
    
    var ctx = { messageTemplate: 'Existing username', displayName: "Username" };
    var val = new Validator(name, valFunction, ctx);

    return val;

    function valFunction(value, context) {
    var result = ko.observable(true);
    require('services/datacontext').getIsUserByUsername(value, result)
    .then(function () {
    debugger;
    return !result();
    });
    }
    }

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

1. BreezeJS Feature Suggestions

Categories

Feedback and Knowledge Base