includeChildren/includeDescendants should now be available in rev 15619. -- Morten
On Wed, Jun 11, 2014 at 12:15 PM, Morten Olav Hansen <morte...@gmail.com> wrote: > On Wed, Jun 11, 2014 at 12:03 PM, Kiran Prakash <kprak...@thoughtworks.com > > wrote: > >> Is it possible to keep backward compatibility intact while making API >> changes? >> > > Ideally yes, but these changes did require breaking the API in a few > places. Going forward there should be no major changes to the external API > (only additions). > > One more place where the API change is breaking our code is this, while >> querying the org hierarchy. >> >> for eg: >> http://localhost:8080/api/organisationUnits/d06372e4302?includeDescendants=true >> > > Yes, this have been disabled for now, should be back very soon (today) > together with includeChildren. > > -- > Morten > > Would give the queried organization and all its descendents and its custom >> attributes etc. >> >> with the new API, we're trying to get >> >> <http://localhost:8080/api/organisationUnits/d06372e4302?fields=:all,children[:all]> >> >> http://localhost:8080/api/organisationUnits/d06372e4302?fields=:all,children[:all] >> >> the decendents of the org has been renamed to 'children', but the >> children does not have all the custom attributes set. We are using a custom >> attribute on the organization to figure the type of node in the hierarchy >> (eg. country, hospital, etc ) and some of our domain logic is based on this >> type. >> >> >> Are we missing something in our query? Please let us know. >> >> Thanks in advance, >> >> Kiran. >> >> >> >> On Wed, Jun 11, 2014 at 3:16 PM, Morten Olav Hansen <morte...@gmail.com> >> wrote: >> >>> Yes, >>> >>> This is by design, :all merely means "give me all property on current >>> level". It will by default render idObjects with just idObject properties, >>> and Collections of idObject as a collection of idObject properties. >>> >>> I know this breaks things, but we were really not happy with the current >>> use of viewClasses (@JsonView), I hope it won't be too difficult to >>> implement. >>> >>> We do support recursive expansion of the fields properties, so you can >>> do ?fields=a,b,c[a,b,c[a,b]],d[:all] etc, but yes.. this requires changes >>> to your code (most of this is supported in 2.15, but you will to use >>> include= instead) >>> >>> -- >>> Morten >>> >>> >>> On Wed, Jun 11, 2014 at 11:40 AM, Aravind Muralikrishnan < >>> aravi...@thoughtworks.com> wrote: >>> >>>> Hello Morten, >>>> >>>> Thank you for the quick fix! >>>> >>>> We were trying the new api and it works. We also looked at the code a >>>> little bit, and we saw that if we don't give any query params, we are >>>> defaulting it to ":all". However this retrieves fields only at the first >>>> level and does not retrieve fields for the nested entities. >>>> >>>> Ex: When we get user object using say */api/users/OYLGMiazHtW.json *it >>>> just gets the user object and does not get all the fields of the >>>> userCredentials object. >>>> >>>> This might break backwards compatibility of the api, as the older api >>>> was giving out all the fields by default including nested objects. Is this >>>> the expected behaviour? >>>> >>>> >>>> Thanks, >>>> Aravind >>>> >>>> >>>> On Wed, Jun 11, 2014 at 1:19 PM, Morten Olav Hansen <morte...@gmail.com >>>> > wrote: >>>> >>>>> Hi >>>>> >>>>> This should now be working in rev 15615. >>>>> /api/users/OYLGMiazHtW.json?fields=:all,userCredentials[:all] >>>>> >>>>> Please try it out and report any issues back >>>>> >>>>> -- >>>>> Morten >>>>> >>>>> >>>>> On Tue, Jun 10, 2014 at 1:33 PM, Morten Olav Hansen < >>>>> morte...@gmail.com> wrote: >>>>> >>>>>> Hi >>>>>> >>>>>> All our endpoint have now been switched our to using the new field >>>>>> filtering (similar to the old inclusion/exclusion), so the data you want >>>>>> is >>>>>> probably there, but you have to tell the system you want to have it. I do >>>>>> see that there is a bug in the UserCredentials class, I will fix that >>>>>> tomorrow. >>>>>> >>>>>> Please see the documentation here: >>>>>> http://www.dhis2.org/doc/snapshot/en/user/html/ch30s07.html >>>>>> >>>>>> Regarding the the custom serializers, we needed a bit more custom >>>>>> control over the output, we still use Jackson (ObjectMapper, but not >>>>>> data-binding) in the backend, together with xml (StAX). >>>>>> >>>>>> -- >>>>>> Morten >>>>>> >>>>>> >>>>>> On Tue, Jun 10, 2014 at 1:02 PM, Mahendra Kariya < >>>>>> mahen...@thoughtworks.com> wrote: >>>>>> >>>>>>> Hello Morten, >>>>>>> >>>>>>> We're facing some issues due to some recent changes to >>>>>>> UserController. >>>>>>> >>>>>>> The serialized 'User' json has some issues. >>>>>>> >>>>>>> The 'usercredentials' field is now being serialized as >>>>>>> 'org.hisp.dhis.user.UserCredentials' and also some of the properties of >>>>>>> UserCredentials (like userAuthorityGroup ) is not being serialized. >>>>>>> >>>>>>> One of our application is breaking due to these contract changes. We >>>>>>> tried fixing it, but soon got lost in the custom serialization code. >>>>>>> >>>>>>> Can you please have a look at this. >>>>>>> >>>>>>> ( Also on a side note, is there any specific reason we are going for >>>>>>> custom serialization instead of going for standard serializers like >>>>>>> Jackson? ) >>>>>>> >>>>>>> >>>>>>> Regards >>>>>>> >>>>>>> Mahendra/Kiran >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Mailing list: https://launchpad.net/~dhis2-devs >>>> Post to : dhis2-devs@lists.launchpad.net >>>> Unsubscribe : https://launchpad.net/~dhis2-devs >>>> More help : https://help.launchpad.net/ListHelp >>>> >>>> >>> >> >> _______________________________________________ >> Mailing list: https://launchpad.net/~dhis2-devs >> Post to : dhis2-devs@lists.launchpad.net >> Unsubscribe : https://launchpad.net/~dhis2-devs >> More help : https://help.launchpad.net/ListHelp >> >> >
_______________________________________________ Mailing list: https://launchpad.net/~dhis2-devs Post to : dhis2-devs@lists.launchpad.net Unsubscribe : https://launchpad.net/~dhis2-devs More help : https://help.launchpad.net/ListHelp