I'm not so sure about the artist objects in artist credits
2012-07-06 18850, 2012
ocharles
they do not have the same schema as other artist objects
2012-07-06 18813, 2012
warp
why don't they have the same schema?
2012-07-06 18814, 2012
ocharles
in artist objects, omission of certain properties implies they are null, but in artist credits it implies we're just not showing you that data (but it might not be null)
2012-07-06 18844, 2012
ocharles
right?
2012-07-06 18806, 2012
warp
hm, I don't think our XML is very clear about that.
2012-07-06 18816, 2012
warp
in general our XML omits stuff you didn't request
2012-07-06 18817, 2012
ocharles
oh, this is just to be the same as /ws/2/
2012-07-06 18820, 2012
ocharles
i guess it's ok then
2012-07-06 18856, 2012
warp
so the distinction between omitted and null isn't clear in our XML either. is there even a distinction? :)
2012-07-06 18846, 2012
ocharles
no
2012-07-06 18812, 2012
kurtjx joined the channel
2012-07-06 18848, 2012
kurtjx joined the channel
2012-07-06 18801, 2012
reosarevok
Hmm
2012-07-06 18809, 2012
reosarevok
Do we actually have null ACs?
2012-07-06 18841, 2012
warp
reosarevok: properties of artists can be null. e.g. not every artist has a disambig comment.
2012-07-06 18856, 2012
reosarevok
Sure, but then surely if it does have one we'd show it?
2012-07-06 18823, 2012
warp
reosarevok: in the webservice, not quite.
2012-07-06 18823, 2012
reosarevok
Why shouldn't we?
2012-07-06 18852, 2012
reosarevok
(if I'm making very silly questions, stop me :) )
2012-07-06 18837, 2012
warp
reosarevok: for example, a release has mediums with tracklists with tracks with recordings
reosarevok: just that something is missing from the webservice output doesn't mean the value is null or empty in the database.
2012-07-06 18824, 2012
reosarevok
Ok, I guess my point was more "we either show them all, and then if we don't it's not there, or show none, and then none are shown"
2012-07-06 18856, 2012
reosarevok
(but it'd be quite confusing if we showed some but not some others of the same thing with the same query)
2012-07-06 18833, 2012
warp
reosarevok: in general the output of the webservice is somewhat tailored for specific use cases, and information we didn't think was relevant is omitted by default to save bandwidth.
2012-07-06 18855, 2012
warp
reosarevok: and that's why you can do ?inc=foo to make the server include those things which you think are relevant.
2012-07-06 18835, 2012
reosarevok
Sure, but then, if we just don't include something, there's no possible confusion so why does it matter?
2012-07-06 18816, 2012
warp
reosarevok: well, the confusion is then that the client who gets to interpret the webservice response can never know if something was merely omitted from the results or if it is actually null in the database.
2012-07-06 18834, 2012
reosarevok
But reasonably enough, if it cares it should actually query for it?
2012-07-06 18816, 2012
warp
yes, so you when you write your code to interpret the results, you have to take into account whether certain bits of data or normally included with the type of request you did.
2012-07-06 18833, 2012
reosarevok
So, the JSON doesn't need to take this into account, the documentation does
2012-07-06 18805, 2012
reosarevok
And to avoid it being unclear it just needs clear documentation
2012-07-06 18808, 2012
reosarevok
That's what I read from this :)
2012-07-06 18821, 2012
warp
I'd be in favour of just Doing It Right
2012-07-06 18835, 2012
reosarevok
For ws/3? :p
2012-07-06 18845, 2012
warp
so that e.g. if an artist doesn't have a disambig comment, we include "disambiguation": null
2012-07-06 18813, 2012
reosarevok
Oh, that sounds reasonable, yes
2012-07-06 18815, 2012
ocharles
new schema doesn't allow null for disambiguation, but that's an aside :)
2012-07-06 18815, 2012
warp
so that if the "disambiguation" key is missing you know that the server omitted it.
2012-07-06 18845, 2012
warp
ocharles: which new schema?
2012-07-06 18852, 2012
ocharles
warp: NES
2012-07-06 18836, 2012
warp
ah, so disambig is just "" then?
2012-07-06 18845, 2012
ocharles
yea
2012-07-06 18851, 2012
warp
seems... odd.
2012-07-06 18859, 2012
ocharles
NULL does not mean absent
2012-07-06 18801, 2012
ocharles
it means unknown
2012-07-06 18808, 2012
ocharles
but we know that this artist has an empty comment
2012-07-06 18811, 2012
warp
oh, right. you are correct.
2012-07-06 18828, 2012
ocharles
same why a null joinphrase is a bit funky
2012-07-06 18837, 2012
ocharles
(and has caused us problems)
2012-07-06 18856, 2012
warp
ocharles: any other comments on /Web_Service/JSON ?
2012-07-06 18822, 2012
ocharles
warp: i haven't quite looked in detail yet, but nothing stands out as wrong
2012-07-06 18830, 2012
warp
do you think it's ok to make the relations one list?
2012-07-06 18859, 2012
ocharles
yea, i don't see why not
2012-07-06 18829, 2012
warp
it's seperate in the xml, but that just seemed annoying to me :)
2012-07-06 18854, 2012
warp
ocharles: ok, thanks for taking a look. I'll post it to mb-devel.