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

    18 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 →
  2. Support Entity Framework 6 with WebAPI 1 / .NET 4.0

    Current EF6 support requires WebAPI 2, which only runs on .NET 4.5. Please consider adding support for using EF6 with WebAPI 1 on .NET 4.0 for those of us with old Windows 2003 Servers.

    17 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 →
  3. Switch to Bluebird promises

    Bluebird promises are orders of magnitude faster than Q promises, they're more modern and they provide a more consistent API for now.

    Switching to them should show improvements in speed as well as debuggability (better long stack traces for example).

    17 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. 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
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  6 comments  ·  Flag idea as inappropriate…  ·  Admin →
  5. 16 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  6. Remove Requirement for Foreign Keys

    Hello,

    Currently, it appears that in order for navigation properties to work, they must be coupled with an explicit FK property that contains the value for the relationship. This leads to entity contract pollution and should be eliminated, if possible.

    I am having to modify my models to comply with Breeze, and that is a poor development experience.

    Thank you for any consideration,
    Michael

    15 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. [FlagsAttribute] enums should be an array on client-side

    Enums that are marked with FlagsAttribute are not properly kept on client side. They are always a string separated by comma ","
    Bummer. It should be an array so it would fit nice with ko` checked binding.

    Besides it would be much easier to work with them.
    They should be serialzed (coerced) with comma when sent to the server only!

    15 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 →
  8. 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
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  9. how upload image

    How I can upload images when I save an entity?
    thank you!!!

    15 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 →
  10. Fire event on metadata load

    We could use an event indicating that the MetadataStore is loaded. As discussed in stackoverflow http://stackoverflow.com/questions/14146841/how-to-attach-to-metadataloaded-event-or-equivalent-in-breeze-js/20470781#20470781 I see that the recommended solution is to call fetchMetadata. But, we have experienced – more than a little – that sometimes fetchMetadata fails, but subsequent queries succeed. Preventing queries while retrying fetchMetadata would be a lot of work. With an event, we could very easily handle metadata initialization – in our case validations.

    14 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. Allow for recursive expand and select.

    Allow to query recursively on an object type. See https://issues.oasis-open.org/browse/ODATA-38. To take the example from the OData implementation you could query a manager and return the recursive tree of all employees under that manager to a specified number of levels.

    14 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. Transparent local vs server queries.

    I don't want to distinguish between local and server data. I'd like the framework to work out the cache state and refresh as necessary based on hints I provide - such as FIFO, LIFO, or callbacks for conflicts.

    14 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  3 comments  ·  Flag idea as inappropriate…  ·  Admin →
  13. Integrate Breeze with Oracle RDBMS

    Smooth the integration process for companies who'd like to incorporate Breeze into their Oracle RDBMS.

    14 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. Separate access for large data items such as images and files

    Bad performance occurs for a large data item (entity property ... table column) such as an image or file -- on both read/download and write/upload. It would be great if breeze could provide separate access for such large data items. For example, the ability to read and cache entities without transferring the large properties and the ability to transfer the large items in a way that does not kill the user interface.

    14 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 →
  15. Error when expanding navigation property with reference to root entity

    Given an entity relation like this:

    Type Root has a collection of type Related
    Type Related has a collection of type Root

    If you do a query like:

    Root?$filter=id eq '123'&$expand=Relateds/Roots

    An error "This key is already attached" occurs when executing the query when it discovers the top-most Root within Related/Roots.

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

  17. Provide Observable ErrorMessage at entity level & at Collection Level so that error messages can be displayed next to entity and then again

    IN LOB application it is very critical to display error message next to the field in error as well as summary of errors.

    When Binding the collection to HTML table, expose the Error Collection so that error message can be displayed in data-bind. This should be observable so that it HTML markup is updated dynamically when errors occurs and is cleared when error are corrected.

    Similar observable error collection as List level to display summary of error as well. since this is summary, when clicking on error item, ability to set focus to the Editable filed in HTML table would…

    13 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  18. many-many relationship for NHibernate

    Similarly to EF, many-to-many relationships don't seem to work when using NH on the backend. This is a requirement we have for our project and currently we have to expose the association table as an entity, which is bad.

    13 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 →
  19. Predicates with the DateTimeOffset type

    I try to execute a Query containing the following predicate:

    var predicate = breeze.Predicate.create("myDateProp", breeze.FilterQueryOp.LessThan, new Date());

    "myDateProp" is of type DateTimeOffset in the server-side EF entity (and breeze client-side metadata).

    Executing this query throws the following error on the server:

    Microsoft.Data.OData.ODataException:
    "A binary operator with incompatible types was detected. Found operand types 'Edm.DateTimeOffset' and 'Edm.DateTime' for operator kind 'LessThan'."

    I am not sure whether this is a bug in the Microsoft OData Libraries that breeze depend upon, or whether the problem is in the Breeze server DLLs.

    This is really critical in our project as we consistently use the…

    13 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 →
  20. BreezeJS and Moongose

    Hi All,

    I am new to MEAN stack, I am to easily for Moongose based apps and developed rapid prototypes in less than 30 mins, but with Zaa example even though I can run the sample in 10 mins. The concept of metadata generation with respect to MEAN stack very confusing, where as for .NET MVC example I can easily understand.

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

1. BreezeJS Feature Suggestions

Categories

Feedback and Knowledge Base