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. Change entityAspect name to $entityAspect to prevent angularJS.equal in circular reference

    Angular is comparing objects by the equal function.
    If you have a watch on a breeze entity the entityAspect object will cause the ng.equal function to produce a stack overflow.
    objects with the $ prefix are ignored by ng.equal function.

    In my case I had an issue with ng-formly and breeze because formly is watching the collection and so also the entityAspect.

    10 votes
    Vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      You have left! (?) (thinking…)
    • Support ES6 class definitions for client-side modeling

      With ES6 classes we now have a way to define classes better than ever before in ES6.

      1. Support defining metadata client-side via ES6 classes
      2. Support adding methods and such via the classes instead of via the initializers (ex - computed properties as getters, methods on the class instead of adding to the initializer / constructor)
      3. Default values if not supplied

      1 vote
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        I agree to the terms of service
        Signed in as (Sign out)
        You have left! (?) (thinking…)
      • rethinkdb and aurelia

        add support for rethinkdb and aurelia

        9 votes
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          I agree to the terms of service
          Signed in as (Sign out)
          You have left! (?) (thinking…)
        • Angular 2 support

          Create Angular 2 bridge file like what was done for Angular 1.X

          13 votes
          Vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            I agree to the terms of service
            Signed in as (Sign out)
            You have left! (?) (thinking…)
            1 comment  ·  Admin →
          • Please include the getEntityGraph feature in the core of breeze.js.

            Currently this functionality sits in BreezeLabs and we use this feature everyday. Our requirement is to sometimes send entire entities up to the server because we have a hierarchy of objects with interdependent properties. So we need more than just the changes in specific entities in certain cases. The getEntityGraph feature works perfectly however the longer it stays in BreezeLabs the more chance that at some point it may not be updated along with the BreezeJS core.

            2 votes
            Vote
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              I agree to the terms of service
              Signed in as (Sign out)
              You have left! (?) (thinking…)
              1 comment  ·  Admin →
            • 6 votes
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                I agree to the terms of service
                Signed in as (Sign out)
                You have left! (?) (thinking…)
              • Add the same tutorials for aurelia that you provide for angular and knockout

                Provide the same tutorials for aurelia that you provide for angular and knockout is on my wishlist.

                37 votes
                Vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  I agree to the terms of service
                  Signed in as (Sign out)
                  You have left! (?) (thinking…)
                • Which libraries for Java on Github

                  Hi,

                  I see 3 branches of Breeze support Java on github. What is different?
                  The Json-UriBuilder Branches is look fully. I'm intergrating breezejs with java spring and hibernate to use with AngularJS.

                  Thanks

                  21 votes
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    I agree to the terms of service
                    Signed in as (Sign out)
                    You have left! (?) (thinking…)
                  • Looking for breeze to rock SharePoint data

                    I am just looking if Breeze has already working with SharePoint data,

                    1 vote
                    Vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      I agree to the terms of service
                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                    • Don't initialize property values

                      Currently, when breeze creates a new entity it initializes each property based on its type. Uses 0 for an int, empty for string and so on. It uses null for a nullable property. Seems reasonable until you actually use it. When I create a new entity, I want it to fail validation until the user actually fills in values. For non-nullable types, I want null. Otherwise, the user might accidentally save the default value -- which almost certainly is wrong for them. For a nullable type, it would be nice to initialize to value that's invalid ... other than null.…

                      2 votes
                      Vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        I agree to the terms of service
                        Signed in as (Sign out)
                        You have left! (?) (thinking…)
                      • Northwind example with Java Spring & Hibernate

                        Hi,

                        I have downloaded java northwind example from github (https://github.com/Breeze/breeze.js.samples/tree/master/java/NorthBreeze)
                        Then i create northwind database and deploy server with Java. The server return data and metadata json look good.
                        But when i deploy client and call server, i received error:

                        "Metadata query failed for: http://localhost:8081/NorthBreeze/breeze/northbreeze/Metadata. Unable to either parse or import metadata: Error configuring an instance of 'NavigationProperty'. The 'foreignKeyNamesOnServer' parameter is optional or it must be an array where each element must be a 'string'; [object Object]"

                        Here is my Medata JSON return, please see this file in URL:

                        https://onedrive.live.com/redir?resid=17269D19CFD14BB3!3861&authkey=!AIm0ajxNBoSCFyY&ithint=file%2ctxt

                        Can anyone help me?

                        Thanks very…

                        15 votes
                        Vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          I agree to the terms of service
                          Signed in as (Sign out)
                          You have left! (?) (thinking…)
                        • Fire event on metadata FETCHING (not just fetched

                          There is a helpful event for metadataFetched. However, it would be even more helpful to also add an event right BEFORE the metadata request is sent out.

                          My use case for this is I am showing textual progress updates on screen, and I would like to update the message when metadata is fetching. I can use the "Fetched" event to show that we are done, but would need a "Fetching" event to indicate when we start.

                          1 vote
                          Vote
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            I agree to the terms of service
                            Signed in as (Sign out)
                            You have left! (?) (thinking…)
                            1 comment  ·  Admin →
                          • breeze-node

                            the tutorial should contain Node.js part

                            1 vote
                            Vote
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              I agree to the terms of service
                              Signed in as (Sign out)
                              You have left! (?) (thinking…)
                            • Support for Polymer/Web Components

                              It would be nice to see a <breeze-js> component to use in Polymer.

                              6 votes
                              Vote
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                I agree to the terms of service
                                Signed in as (Sign out)
                                You have left! (?) (thinking…)
                              • Include Navigation Properties in BeforeSaveAllEntities save maps

                                Currently passing entity with navigation properties to the client. Once client modifies the entity or the navigation property entities they come back to the server during save separated making us write more code to perform validation and server side business logic.

                                EXAMPLE: I have a class called WorkOrder, Payment and Customer. The structure of the class is as follows:

                                WorkOrder
                                - WorkOrderID int
                                - WorkOrderNumber guid
                                - CustomerID int
                                - PaymentID int
                                - ExclationLvl int

                                Payment
                                - PaymentID int
                                - PaymentType int : reference lookup table called PaymentTypes which has the payment types (ie: Credit Card, Check, Paypal)
                                - Amount…

                                3 votes
                                Vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  I agree to the terms of service
                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                • Restore foreign keys in dependent entities in rejectChanges()

                                  When an entity is marked as deleted, and it has dependent child entities, it is removed (set to null) from child entities (even if the foreign key is not nullable). If the delete is cancelled with rejectChanges, the entity is restored to 'unchanged' state, but child entities in cache are not restored. Even requerying the server doesn't fix this (I haven't yet tried specifying overwriteChanges in query options).

                                  5 votes
                                  Vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    I agree to the terms of service
                                    Signed in as (Sign out)
                                    You have left! (?) (thinking…)
                                  • NamingConvention for EntityType names

                                    The current `NamingConvention` can translate between client and server property names but there is no facility in Breeze to translate between client and server **EntityType** names.

                                    For example, if the class on the server is known as `PersonDto`, my client-side EntityType name must also be `PersonDto`. I probably want `Person` on the client.

                                    2 votes
                                    Vote
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      I agree to the terms of service
                                      Signed in as (Sign out)
                                      You have left! (?) (thinking…)
                                    • Typescript definition for breeze-mongodb

                                      Thank you very much for TypeScript support for Breeze.js, could I please suggest TypeScript definition for breeze-mongodb for developing with BreezeJS on the MEAN stack (specifically Node.JS)?

                                      Again, thanks for all the hard work, this feature will definitely help with adoption for Breeze in enterprises that are developing on the MEAN stack with large scale applications.

                                      6 votes
                                      Vote
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        I agree to the terms of service
                                        Signed in as (Sign out)
                                        You have left! (?) (thinking…)
                                      • Support for collections of navigational properties

                                        When generating the bundle to be sent to the server on saving of entities I suggest we use this method, I've been using it in the past and haven't seen any issues (yet)

                                        function unwrapInstance(structObj, transformFn) {
                                        if (!structObj.unwrapped) {
                                        structObj.unwrapped = true;
                                        var rawObject = {};
                                        var stype = structObj.entityType || structObj.complexType;
                                        var serializerFn = getSerializerFn(stype);
                                        var unmapped = {};
                                        stype.dataProperties.forEach(function (dp) {
                                        if (dp.isComplexProperty) {
                                        rawObject[dp.nameOnServer] = __map(structObj.getProperty(dp.name), function (co) {
                                        if (!co.unwrapped) {
                                        return unwrapInstance(co, transformFn);
                                        }
                                        });
                                        } else {
                                        var val = structObj.getProperty(dp.name);
                                        val = transformFn ? transformFn(dp, val) : val;
                                        if (val === undefined)…

                                        14 votes
                                        Vote
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          I agree to the terms of service
                                          Signed in as (Sign out)
                                          You have left! (?) (thinking…)
                                        • EntityQuery.withParameters to inject variables into resource name

                                          Much like it injects querystring parameters to the request using the object passed to it - it would be nice if it could first look for replacement tokens in the resourceName property of the query.

                                          for example:

                                          var qry = breeze.EntityQuery
                                          .from("Studies/{StudyID}/Sites/{SiteID}/People")
                                          .withParameters({StudyID: 123, SiteID: 555});

                                          instead, currently, I am doing this:

                                          var resourceName = String.format("Studies/{0}/Sites/{1}/{2}", pStudyID, pSiteID, referralName.APIName);
                                          var query = breeze.EntityQuery.from(resourceName);
                                          ....

                                          1 vote
                                          Vote
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            I agree to the terms of service
                                            Signed in as (Sign out)
                                            You have left! (?) (thinking…)
                                          ← Previous 1 3 4 5 13 14
                                          • Don't see your idea?

                                          1. BreezeJS Feature Suggestions

                                          Feedback and Knowledge Base