{"action":"created","issue":{"url":"https://api.github.com/repos/SAP/openui5/issues/882","repository_url":"https://api.github.com/repos/SAP/openui5","labels_url":"https://api.github.com/repos/SAP/openui5/issues/882/labels{/name}","comments_url":"https://api.github.com/repos/SAP/openui5/issues/882/comments","events_url":"https://api.github.com/repos/SAP/openui5/issues/882/events","html_url":"https://github.com/SAP/openui5/issues/882","id":137731884,"number":882,"title":"Please support a server model that not require odata service, just an URL and customs params","user":{"login":"eusebio-garcia","id":17580927,"avatar_url":"https://avatars.githubusercontent.com/u/17580927?v=3","gravatar_id":"","url":"https://api.github.com/users/eusebio-garcia","html_url":"https://github.com/eusebio-garcia","followers_url":"https://api.github.com/users/eusebio-garcia/followers","following_url":"https://api.github.com/users/eusebio-garcia/following{/other_user}","gists_url":"https://api.github.com/users/eusebio-garcia/gists{/gist_id}","starred_url":"https://api.github.com/users/eusebio-garcia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eusebio-garcia/subscriptions","organizations_url":"https://api.github.com/users/eusebio-garcia/orgs","repos_url":"https://api.github.com/users/eusebio-garcia/repos","events_url":"https://api.github.com/users/eusebio-garcia/events{/privacy}","received_events_url":"https://api.github.com/users/eusebio-garcia/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/SAP/openui5/labels/enhancement","name":"enhancement","color":"0000ff"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2016-03-02T00:22:27Z","updated_at":"2016-03-04T23:59:38Z","closed_at":null,"body":"Hello, i saw on your online docs that OpenUI5 support 4 types of models\r\n\r\nOpenUI5 provides the following predefined models:\r\n\r\n- The JSON model can be used to bind controls to JavaScript object data, which is usually serialized in the JSON format. The JSON model is a client-side model and, therefore, intended for small datasets, which are completely available on the client. The JSON model supports two-way (default), one-way and one-time binding modes.\r\n\r\n- The XML model is a client-side model intended for small datasets, which are completely available on the client. The XMLModel does not contain mechanisms for server-based paging or loading of deltas. The XML model supports two-way (default), one-way and one-time binding modes.\r\n\r\n- The Resource model is designed to handle data in resource bundles, mainly to provide texts in different languages. The Resource model only supports one-time binding mode because it deals with static texts only.\r\n\r\n- The OData model enables binding of controls to data from OData services. The OData model is a server-side model: the dataset is only available on the server and the client only knows the currently visible rows and fields. This also means that sorting and filtering on the client is not possible. For this, the client has to send a request to the server. The OData model currently supports OData version 2.0. The OData model supports two-way (default), one-way and one-time binding modes. However, two-way binding is currently only supportes for properties, and not for aggregations.\r\n\r\nPlease can you support a new server model that does not require an OData service on the server?\r\n\r\nFor example, KendoUI data source you define \r\n\r\ndataSource: {\r\n                            type: \"json\",\r\n                            transport: {\r\n                                read: {\r\n                                    url: \"URL of server service\",\r\n                                    type: \"POST\",\r\n                                    dataType: \"json\",\r\n                                    data: additionalDataFunctionToServerFiltering\r\n                                }\r\n                            }\r\n\r\nThis way we can implement the server side part with minimal requirements, for already implemented server part, it is easier to provide a custom model than migrate all server implementation to support OData. Maybe the implementation could be like:\r\n\r\nvar oModel = sap.ui.model.ServerModel(\"url-to-server\", \"POST\");\r\n\r\noModel could have events so we can hook before a request is sent to the server to add custom data for filtering the results.\r\n\r\nSyncfusion components for example, have an URL adaptor that can be used to support this kind of scenarios, and also support OData services in their Grid.\r\n\r\nCan you provide a new model implementation that does not require an OData service on the server?\r\n\r\nThanks.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/SAP/openui5/issues/comments/192529998","html_url":"https://github.com/SAP/openui5/issues/882#issuecomment-192529998","issue_url":"https://api.github.com/repos/SAP/openui5/issues/882","id":192529998,"user":{"login":"eusebio-garcia","id":17580927,"avatar_url":"https://avatars.githubusercontent.com/u/17580927?v=3","gravatar_id":"","url":"https://api.github.com/users/eusebio-garcia","html_url":"https://github.com/eusebio-garcia","followers_url":"https://api.github.com/users/eusebio-garcia/followers","following_url":"https://api.github.com/users/eusebio-garcia/following{/other_user}","gists_url":"https://api.github.com/users/eusebio-garcia/gists{/gist_id}","starred_url":"https://api.github.com/users/eusebio-garcia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eusebio-garcia/subscriptions","organizations_url":"https://api.github.com/users/eusebio-garcia/orgs","repos_url":"https://api.github.com/users/eusebio-garcia/repos","events_url":"https://api.github.com/users/eusebio-garcia/events{/privacy}","received_events_url":"https://api.github.com/users/eusebio-garcia/received_events","type":"User","site_admin":false},"created_at":"2016-03-04T23:59:38Z","updated_at":"2016-03-04T23:59:38Z","body":"@matz3 Thanks for your answer, i hope this requirement get implemented, OData is very powerful but also very complex and exists a lot of apps that does not have an OData service, just REST and even classic web services with XML.\r\n\r\n@matz3 or @qualiture Exists a good tutorial on which i can see how the table control interact with the model, so it can help me to implement server paging, filtering and lazy loading? I will implement that and later make a contribution to the community, but i need a little of help on this. In some point the table must ask the model about the data, maybe that method is the one that i need to implement in a new model, how the table call that method is important, i think for example, in pagination, i need that the table send the current page or number of rows to skip...."}}