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.

How can we improve Breeze.js?

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the "My feedback" filter and select "My open ideas".
(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  1. 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
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      Signed in as (Sign out)
      You have left! (?) (thinking…)
    • Update samples to use typescript

      Provide samplese that use breeze and typescript

      114 votes
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        Signed in as (Sign out)
        You have left! (?) (thinking…)
      • 124 votes
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          Signed in as (Sign out)
          You have left! (?) (thinking…)
        • 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
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            Signed in as (Sign out)
            You have left! (?) (thinking…)
          • Integrate Breeze with FluentValidation

            I have used FluentValidation with mvc for some years now. And enjoy the excellent client side validation it's provide.

            Is there a way to use FV with Breeeze? I am about to refactor a part of an existing application to SPA ala HotTowel

            99 votes
            Vote
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              Signed in as (Sign out)
              You have left! (?) (thinking…)
            • Support NancyFx

              Add api support for NancyFx framework.

              56 votes
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                Signed in as (Sign out)
                You have left! (?) (thinking…)
              • 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
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  Signed in as (Sign out)
                  You have left! (?) (thinking…)
                • Support using stored procedures for retrieving data in EF

                  Using a sp in EF5 and have mapped the output to a complex type. Breeze doesn't seem to like that there is no key column, and not sure how to mark one as key so querying causes an error.

                  67 votes
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    Signed in as (Sign out)
                    You have left! (?) (thinking…)
                  • JSON serialization of CLR Enum types (string/number) should be configurable (on the server/client)

                    Hello. I am currently working in a project using BreezeJS with Entity Framework and TypeScript.

                    I found it unfortunate that Breeze decided to change the server-side serialization of CLR Enum types from their numeric representation (usually int) to the string representation (.ToString()).

                    TypeScript supports enum types, and by defining enums both on client and server, we could have a had type-safe, strongly typed enums also in our client scripts.
                    The plan was to generate a TypeScript file containing all enums used across our entites as post-build-event using reflection.

                    But after the Breeze serialization changed, this will not work.

                    I would…

                    39 votes
                    Vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                    • Support Swagger specification for metadata

                      Hi, the Swagger specs (https://developers.helloreverb.com/swagger/) looks like a good metadata provider for REST services.

                      If Breeze can leverage this, then it can potentially support much more web API implementations other than ASP.NET WebApi.

                      For example, ServiceStack supports the Swagger API via a feature (https://github.com/ServiceStack/ServiceStack/wiki/Swagger-API).

                      Cheers.

                      98 votes
                      Vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        Signed in as (Sign out)
                        You have left! (?) (thinking…)
                      • Use websockets/signalr to push updated objects instantly out to the client cache

                        On the client side, objects can get stale if they are frequently updated. Instead of requiring constant polling to see if entities have changed, allow updates to be pushed from the server out to the client cache. That change would in turn trigger knockout bindings so that the HTML instantly updates.

                        384 votes
                        Vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          Signed in as (Sign out)
                          You have left! (?) (thinking…)
                        • Support local databases

                          I am writing an "offline" application that may occasionally connect to a server, but not with EF and one I do not control. Locally, I am using SQLite to store data. I would love to use breeze capabilities like the LINQ-style API with the locally stored SQLite data (this is a WinJS app).

                          The tie to server-side calls and EF makes this a non-starter. Any chance you'll publish an interface that needs to be implemented in JS in order to provide this functionality for the rest of your code?

                          31 votes
                          Vote
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            Signed in as (Sign out)
                            You have left! (?) (thinking…)
                          • Provide a ServiceStack adapter

                            Support ServiceStack much like ASP.NET Web API is supported

                            515 votes
                            Vote
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              Signed in as (Sign out)
                              You have left! (?) (thinking…)
                            • Add decimal precision and scale to metadata

                              t doesn't appear as though the breeze metadata includes the precision and scale of decimal types. It simply identifies a property as "Decimal". The information is available in EF models. Is this something that could be added to the metadata and retained in dataproperty?

                              I believe similar attributes may be useful for other numeric types.

                              15 votes
                              Vote
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                Signed in as (Sign out)
                                You have left! (?) (thinking…)
                              • Add missing MetadataStore functions for Typescript

                                The `setEntityTypeForResourceName` method of the `MetadataStore` class does not exist in TypeScript definitely typed d.ts file. This appears to be a method of the public API (since the unpublished TempHire sample app calls this method) but it is not accessible to TypeScript because there is no definition for it. Suggest to define this missing method. There are a few others too: getEntityTypeNameForResourceName, getIncompleteNavigationProperties, etc...

                                5 votes
                                Vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                  under review  ·  1 comment  ·  Admin →
                                • Support the $callback query string parameter for the BreezeController

                                  I would like to use the BreezeController with Kendo UI Grid, using Kendo's native ODATA support, but it requires that the $callback paramter be supported.

                                  13 votes
                                  Vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    Signed in as (Sign out)
                                    You have left! (?) (thinking…)
                                    1 comment  ·  Admin →

                                    Adam,

                                    I’m not sure about this one. We’d like Kendo devs to use Breeze for data mgmt rather then Kendo. Can you provide use with a detailed use case for this?

                                    Regarding $callback, definitely. Support for JSONP would be very valuable. Let’s get some votes on this one. :)

                                  • Expose the DisplayAttribute Name property in the Metadata

                                    I would like to expose the Name property of any model properties decorated with the DisplayAttribute, so I can use it to display more user friendly messages. This should work automatically with an EF context provider, but should also be available to a custom provider.

                                    The default validation should also look for this value, and use it instead of the field name.

                                    5 votes
                                    Vote
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      Signed in as (Sign out)
                                      You have left! (?) (thinking…)
                                    • Demonstrate How to Debug Metadata Exceptions

                                      If I navigate to api/breeze/metadata, it returns proper json for my Entity Framework DbContext. However, when called from the app, it just returns Metadata queryfailed, NaN. Would be good to know what is wrong. I have unit tested the context and it is fine. Perhaps a validation screen where you paste in your json and it tells you what is wrong or not supported. thanks.

                                      4 votes
                                      Vote
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        Signed in as (Sign out)
                                        You have left! (?) (thinking…)
                                        under review  ·  1 comment  ·  Admin →
                                      • EntityManager validation

                                        Allow validators to be added to the EntityManager right away, have EM 'hold' them until MetaData is retrieved, and than add them accordingly. Instead of putting that on the client of EM...

                                        4 votes
                                        Vote
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          Signed in as (Sign out)
                                          You have left! (?) (thinking…)
                                        • Support other web apis, such as tastypie for Python/Django

                                          Django and Tastypie expose data in a similar way to ASP Web API. It would be nice to have Breezejs work with Python frameworks.

                                          91 votes
                                          Vote
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            Signed in as (Sign out)
                                            You have left! (?) (thinking…)
                                          ← Previous 1 3
                                          • Don't see your idea?

                                          1. BreezeJS Feature Suggestions

                                          Feedback and Knowledge Base