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. Include instructions for implementing the starter tutorials using Webmatrix3

    Beginners trying to get to grips with learning Breeze in conjunction with other techniques including Node, Express, Angular and MongoDB (the Mean stack) would possibly benefit from the relative simplicity of an IDE like Webmatrix before migrating on to more sophisticated IDEs.

    2 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 →
  2. Documentation Error: ComplexAspect class has no entityAspect property

    Instead there is a method "getEntityAspect()"

    2 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 →

    This is not an error.

    Breeze ‘complex objects’ have a ‘complexAspect’ property that is analogous to the ‘entityAspect’ that is found on ‘entities’.

    All complex objects ALSO have a GetEntityAspect() method. The GetEntityAspect method returns the top level EntityAspect associated with the complexObject ( complex objects can be nested so this may go thru multiple parent objects before returning the final parent EntityAspect – this is why this is a method and not a property).

    Entity objects by comparision have only a single entityAspect property.

  3. optimize/compress data/bandwidth using nested arrays of values only

    Instead of current JSON format used to send data from server to client, optimize it so that only values are sent in an array (or nested arrays) - no need to send field names if schema is available, otherwise send a separate mini-schema (list of fields/types) along the data. Decode it on the client back to the current structure.
    This is especially important when trying to limit the data sent back using Select on the server (anonymous entities), each row includes a complete data type as a very long string - with many rows, this adds substantial overhead (almost always…

    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 →
  4. Make unit tests for breeze.js independent of server technology

    Currently it appears as though all of the unit tests for breeze.js require Visual Studio and an external data source. Similarly to a previous request, mock ajax requests for unit tests in the breeze.js repo. This would make it easier for people to test potential pull requests for breeze.js.

    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 →
  5. 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 →
  6. 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
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  7. Support evaluation of custom Annotations for Enums through the meta data

    If I crete an "advanced" ENUM on server side, including custom annotations, I would like to be able to use that ENUM at client side without redefining it there. Following method can be used to automatically create enums on client side as global variables. In addtion to that I would like to be able to evaluate annotation metadata of the ENUMS to transfer the data that is given by my custom Annotations.

    -------------------------------------------------------------

    fetchMetadata()
    .then(function(data) {


    //create global ENUMs from breeze meta data
    //see http://stackoverflow.com/questions/15732072/dropdown-filled-with-options-provided-by-an-enum-server-side-with-breeze

    var enumTypes = data.schema.enumType;
    var size = enumTypes.length;

    if (size == null) {
    createGlobalEnum(enumTypes);
    }…

    2 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 →
  8. configure not to use batch

    give the option to save in the server with regular put/patch without batch

    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 →
  9. Improve the error reporting when the json returned by breeze doesn't include fields it needs ie. $id $type

    Currently we get an obscure error message, such as "object #<object> has no method getproperty"...would be nice to get something like "JSON result is not in the required format, Breeze can't map your entities, $id and $type are required"

    2 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. Conditional transactions when saving changes

    When executing SaveChanges on the server, sometimes you don't know until BeforeSaveEntity or BeforeSaveEntities whether a transaction is required. Rather than requiring transaction settings to be specified before calling EFContextProvider<T>.SaveChanges, allow creating a transaction at any time during the BeforeSaveEntity(ies) methods.

    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 →
  11. Include a source code download button next to each Sample.

    I tried to download the ToDo-Angular Sample source code but was directed in a circle and could not find a download button for it

    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 →
  12. breeze-node

    the tutorial should contain Node.js part

    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 →
  13. We need to do CRUD operations with transnational operations, that is critical for enterprise applications

    We need to do CRUD operations with transnational operations, that is critical for enterprise applications

    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 →
  14. Provide a link to WinJS

    Remove the need for jQuery and Knockout by linking it to WinJS ajax system and WinJS binding system.

    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 →
  15. Java+Morphia+mongoDB example

    Mainstream java way of organizing the backend for today should be used for examples, not some NWHibernate, which doesn't work btw.

    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 →
  16. Overload for Validator.register so i can register multiple Validators in one shot

    Validator.register(requireReferenceValidator);
    Validator.register(twitterValidator);

    instead, just pass an array

    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 →
  17. beautiful! beautiful!

    many thanks for this product! it saves me to write ton of code.
    I'm a gis analyst so my suggest is build a plugin for geojson support.

    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 →
  18. Security

    Is it ok to expose business logic in JavaScript?

    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 →
  19. 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. just a note: Doccode tests have errors in test 124 (latest version EF6 in VS 2012)

    should have a deleted BankAccountTPH in the save result
    the deleted BankAccountTPH should now be 'Detached'
    requery of the deleted BankAccountTPH with key '[95]' should return null because no longer in the db.
    The primary key value cannot be deleted because references to this key still exist. [ Foreign key constraint name = FK_dbo.DepositTPCs_dbo.BankAccountTPCs_BankAccountId ]
    Source:
    at handleFail (http://localhost:47595/tests/testFns.js:161:13)
    at _rejected (http://localhost:47595/Scripts/q.js:808:24)
    at http://localhost:47595/Scripts/q.js:834:30
    at Promise.when (http://localhost:47595/Scripts/q.js:1079:31)
    at Promise.promise.promiseDispatch (http://localhost:47595/Scripts/q.js:752:41)
    at http://localhost:47595/Scripts/q.js:574:44
    at MessagePort.flush (http://localhost:47595/Scripts/q.js:108:17)
    The primary key value cannot be deleted because references to this key still exist. […

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

1. BreezeJS Feature Suggestions

Feedback and Knowledge Base