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. 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
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  2. 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
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  3. 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
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  4. 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
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  5. Like the Tutorials

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

    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. 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 →
  7. 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
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  8. 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
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  9. 16 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. 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
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  11. 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
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    6 comments  ·  Flag idea as inappropriate…  ·  Admin →
  12. "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
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  13. 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
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  14. 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
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  15. 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
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    13 comments  ·  Flag idea as inappropriate…  ·  Admin →

    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.

  16. 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
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →

    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

  17. 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
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  18. 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
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  19. 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
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  20. 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
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

1. BreezeJS Feature Suggestions

Categories

Feedback and Knowledge Base