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. Decouple Breeze from Entity Framework

    I like what Breeze does but I need it to work for a hand rolled ORM or NHibernate or any other ORM.

    I would also like it to be able to cope with classes that don't have navigation properties in them. NHibernate does not force you to pollute your business entities with foreign keys to allow it to work. Breeze needs to be able to deal with this.

    Thanks

    17 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…)
    • Create a backend connector for rails and activerecord

      I need a connector with example for ruby on rails with activerecord. You've mentioned supporting it before, but I have yet to see any further information. I'm willing to help out but I need some direction. Thanks, Ben

      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 TypeScript 0.9

        The TypeScript Definition File (d.ts) that is being distributed likely needs to be updated to support the new features in the recently release TypeScript 0.9 (like Generics support). For those wanting to upgrade to the latest TypeScript, it would be difficult without this.

        30 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…)
        • fix support of oData math functions

          I attempted to use the oData add math function like this:

          .where("ColA add COlB", breeze.FilterQueryOp.GreaterThan, 5)

          when the query was sent to the server, it converted the numeric value 5 to string '5' and the server responded with an invalid type error:
          http://...MyEntity/?Filter(ColA add ColB gt '5')

          the correct uri should be:
          http://...MyEntity/?Filter(ColA add ColB gt 5)

          If I manually changed the uri to the above format, the server accepts the format and responds correctly.

          It appears that somehow the breeze client is interpreting the add expression as a string and forces the 5 into a string. My suggestion is…

          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…)
          • Like the Tutorials

            Simple and to the point hands on tutorial, I like it.

            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 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…)
              • Keep up the good work!

                The in depth tour through MS MVC4 Angular/Breeze SPA project template was incredibly helpful to give me a clear, compelling view of what all this SPA stuff is about and how to avoid the rats nest of tightly coupled code involved with manipulating the DOM, etc.

                To be clear, I'm talking about this http://www.breezejs.com/ng-spa-template?utm_source=ms-spa.

                Thanks

                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…)
                • There should be an AfterSaveEntity

                  Why isn't there also an AfterSaveEntity.
                  For example would be very useful for sending notifications (emails, messages) once a bigger operation is done.
                  Also everything should be done inside a transaction, so that if something crashes it should automatically Rollback

                  16 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…)
                  • 16 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 executing arbitrary stored procedures within the transaction scope SaveChanges

                      Support executing arbitrary stored procedures within the transaction scope SaveChanges

                      [Or] allow some way of tying in to the transaction scope for any SQL

                      26 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…)
                      • Seperate out EFContextProvider

                        I would like to start out by saying nice job on breeze. You guys have a breeze mvc webapi dll for those people doing .net. I really like the EFContextProvider, but I think it would be cool if it was a seperate project. This would allow users to use it in different class libraries to create repositories and a unit of work for the different models that you create and have one place to manage it. Keep it breezy, thanks

                        141 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…)
                        • "Finding entities in the cache" section appears twice in the "EntityManager" documentation page

                          "Finding entities in the cache" section appears twice in the "EntityManager" documentation page.

                          Please remove one of the duplicates.

                          Page Url: http://www.breezejs.com/documentation/entitymanager-and-caching

                          Best regards!

                          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…)
                          • Add a closing bracket

                            There is a closing bracket missing on this page:
                            http://www.breezejs.com/documentation/customizing-ajax

                            Line 7 in the second code block:
                            if (isFooRequest(xhr))

                            It's no big deal but thought I'd let you know...

                            4 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…)
                            • why the change in BreezeWebApiConfig?

                              I just upgraded from 1.3.0 to 1.3.1 and there appears to be a change in the Routing Template from "api/{controller}/{action}" to "breeze/{controller}/{action}". This caused some confusion as it broke my application as the route was changed. Once I found the issue it was fine but there was nothing in the release notes that explained that there was a change. As I used the default routing that came with the nuget package BreezeWebApiConfig.cs got updated automatically which caused the issue. In future please include routing changes into the release notes.

                              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 →
                              • Examples that uses other backends.

                                You know that many developers have already loved Breeze.js but that's not it. It has the potential to be a really great technology for the new breeds of developers (beginners)...

                                I'd like to suggest to include examples on how Breeze.js works with other backend technologies such as Java, PHP, etc..

                                219 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…)

                                  Changing status to complete.

                                  Our NodeJS/MongoDB sample was added in 1.4.0, and our Ruby sample went live shortly before 1.4.2.
                                  ________

                                  Work is well underway on a Java backend for Breeze, using Hibernate and JAX-RS. Please check out https://github.com/Breeze/breeze.server.java/tree/master/breezejs-hibernate .

                                  The NorthBreeze sample (https://github.com/Breeze/breeze.js.samples/tree/master/java/NorthBreeze ) is a web application that uses the breezejs-hibernate library.

                                • Make your site look better of the iPhone

                                  Touting your mobile chops sets the bar a little higher than you've hit on an iPhone in portrait orientation. The "feedback" button covers code and there's a section that may read "live tutorial" but I'm not sure as it's not legible.

                                  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…)

                                    Thanks anon.

                                    I’ve updated the Live Tutorial block so you shouldn’t have a problem with it anymore.

                                    Can you provide more info on the Feedback issue? Admittedly I’m on Android 4.2.2, so don’t share your iPhone experience, but any info you can provide would be helpful.

                                    You can reach me at johnl@ideablade.com.

                                    Thanks,

                                    John

                                  • Make breeze play nice with AMD loaders like require.js

                                    There is a problem when you want to AMD load breeze.js (see http://stackoverflow.com/questions/13937539/breezejs-and-requirejs-not-working-as-expected)
                                    I think the only problem is that breeze.js should define dependencies in the define() call. Currently it calls define(), but doesn't pass ['ko', 'Q'] as dependencies, but instead looks for ko and Q in the global namespace.
                                    If this is too much trouble, please provide second breeze-amd.js version.

                                    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…)
                                    • update the sample code for a Custom EFContextProvider

                                      the two overridden methods should be protected, not public. I noticed when extending within my project. Great library. Thanks!

                                      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 →
                                      • Expose the 'name' property on the Validator class

                                        Currently, you can initialize a new Validator object with a name in the constructor, but once it's created you can't get at the name through any public property. Exposing a new 'name' property on the Validator Class would let you easily scan the list of ValidationErrors for broken rules associated with a custom validator name.

                                        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…)
                                        • Update SaveChangesCore to allow custom validation errors to be returned

                                          Adding Custom Validation Attributes (e.g. "[MyCustomAttribute]") to your model class causes the SaveChangesCore() method to throw an 'ArgumentNullException' instead of the expected 'ValidationException' when the model Custom Validation Attribute is invalid. This is because the exception message formatting code assumes that 'key.EntityKeyValues' will never be null, which apparently is not the case when a Custom Validator prevents the model from being saved. It would be nice to correct the code to assume 'key.EntityKeyValues' can be null so that the server-side validation exception message can at least be returned to the client. See http://stackoverflow.com/questions/14332833/breeze-js-not-returning-custom-validation-error-messages-from-server for more details.

                                          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…)
                                          • Don't see your idea?

                                          1. BreezeJS Feature Suggestions

                                          Feedback and Knowledge Base