- [00:02] <Ngarthl> you decide. REST doesnt care
- [00:04] <sgronblo> well I like there should be only one way to do it
- [00:05] <sgronblo> so if there's some best practice way for it, i would like to do it that way
- [00:06] <sgronblo> the way i thought about doing it now feels kinda ad hoc: put to /groups/xx with user_ids=a,b,c,... as data
- [01:22] kke (~kimmo@kuuma.ho.ro) left #rest.
- [01:39] <trygvis> sgronblo: your "rest application" should decide what happens when you delete a resource
- [01:48] blongden_ (~blongden@nocarrier.co.uk) joined #rest.
- [01:56] DracoBlue (~Adium@dslb-088-075-066-254.pools.arcor-ip.net) joined #rest.
- [02:06] DracoBlue (~Adium@dslb-088-075-066-254.pools.arcor-ip.net) left #rest.
- [02:26] mephju (~mephju@dslb-188-106-092-165.pools.arcor-ip.net) joined #rest.
- [03:00] mr_yall (~mryall@217.158.24.93) joined #rest.
- [03:18] <mogsie> sgronblo: If you DELETE /groups/xx/users/yy, then whatever groups/xx/users/yy used to be, should be no more. If it was a representation of the fact that user YY was a member of group XX then fine, he's no longer a member. If it actually _was_ the user YY itself, well, then i guess the user is history.
- [03:27] mr_yall (~mryall@217.158.24.93) left #rest ("Killed buffer").
- [03:43] Wombert (~Wombert@dslb-092-074-121-251.pools.arcor-ip.net) joined #rest.
- [05:10] kke (~kimmo@kuuma.ho.ro) joined #rest.
- [05:11] <kke> any suggestions for a file storage with a rest api other than swift?
- [05:12] <trygvis> plain file storage? webdav I guess
- [05:59] axisys_ (~axisys@ip68-98-189-233.dc.dc.cox.net) left irc: Quit: leaving
- [06:01] axisys (~axisys@ip68-98-189-233.dc.dc.cox.net) joined #rest.
- [06:05] grove (~grove@aggw006.cappelendamm.no) left irc: Quit: grove
- [06:06] Wombert (~Wombert@dslb-092-074-121-251.pools.arcor-ip.net) left irc: Read error: Connection reset by peer
- [06:06] Wombert_ (~Wombert@dslb-092-074-121-251.pools.arcor-ip.net) joined #rest.
- [06:06] Wombert_ -> Wombert
- [06:50] Blazeix (~Blazeix@71.74.190.197) got netsplit.
- [06:50] KarlHungus (~relax@unaffiliated/adj) got netsplit.
- [06:50] KarlHungus (~relax@unaffiliated/adj) returned to #rest.
- [06:57] Blazeix (~Blazeix@71.74.190.197) returned to #rest.
- [07:30] mhausenblas (~mhausenbl@wlan-nat.fwgal01.deri.ie) joined #rest.
- [07:39] Wombert (~Wombert@dslb-092-074-121-251.pools.arcor-ip.net) left irc: Read error: Connection reset by peer
- [07:40] Wombert (~Wombert@dslb-092-074-121-251.pools.arcor-ip.net) joined #rest.
- [07:50] <fumanchu> I'm finding something I didn't expect as I design a new JSON-based media type
- [07:51] <fumanchu> since most of the elements are objects, there's a very natural force pushing on the design to treat any bare string values as URI's
- [07:52] <fumanchu> without having to wrap them in any kind of {"element": "link", "href": "foo/"} wrapper
- [07:53] <fumanchu> being able to write {"foo": "#bar"} instead of {"foo": {"element": "link", "href": "#bar"}} is becoming unavoidably attractive
- [07:54] <fumanchu> (and no, that is not an open invitation for anyone to wax eloquent on Link headers)
- [07:55] <fumanchu> has anyone run into similar idioms?
- [07:56] <fumanchu> it's significant that one of the purposes of this media type is to refer to lots of elements dynamically, and then progressively resolve (embed) them at a later time
- [08:01] <mhausenblas> fumanchu, are you aware of http://www.mnot.net/blog/2011/11/25/linking_in_json ...?
- [08:02] grove (~grove@84.115.45.31.customer.cdi.no) joined #rest.
- [08:09] <fumanchu> yes, and those are all more heavyweight that what I mean
- [08:10] <fumanchu> this "QDF" media type that I'm working on has lots of object members whose values are themselves objects
- [08:11] <fumanchu> like {"element": "qdf:module", "children": [{"element": "qdf:page", "name": "bar"}]}
- [08:11] <fumanchu> but in lots of those cases, we want to be able to link to such objects rather than embed
- [08:11] <fumanchu> like {"element": "qdf:module", "children": ["#bar"]}
- [08:18] <pc1oad1etter> fumanchu: If you want to compare, you can see m amund's JSON Collection media type documentation here: http://amundsen.com/media-types/collection/format/#arrays-links
- [08:20] <pc1oad1etter> I like the idea of having some expetation that a string is a URI, and I have followed the example here of having an object property called links that points to an array of objects that define rels and uris
- [08:20] mamund (~mamund@rrcs-24-172-200-42.central.biz.rr.com) joined #rest.
- [08:20] #rest: mode change '+o mamund' by ChanServ!ChanServ@services.
- [08:20] mamund slips in
- [08:20] <fumanchu> speak of the...
- [08:21] <pc1oad1etter> :D
- [08:22] <mamund> fumanchu: you're discussion JSON designs, eh?
- [08:22] <fumanchu> mm-hm
- [08:22] <fumanchu> well
- [08:22] <mamund> i understand the "pull" to reduce information in messages.
- [08:22] <fumanchu> new media types that use the JSON grammar as a basis
- [08:23] <fumanchu> not JSON in general ;)
- [08:23] <mamund> keep in mind that means you need to "insert" that information somewhere else.
- [08:23] <mamund> yes, this is same for XML, XHTML, RDF, etc.
- [08:23] mhausenblas would love to participate but too busy reading Hypermedia APIs with HTML5 & Node :D
- [08:23] <mamund> the key thing to consider is where the "knowledge" of the message is "kept"
- [08:24] mamund slips mhausenblas a fiver for mentioning the book
- [08:24] <fumanchu> for this case, it's kept in the media type spec
- [08:24] mhausenblas to the usual Swiss bank account pls, mamund :P
- [08:24] <mamund> fumanchu: does what i am saying make sense?
- [08:24] <mamund> :)
- [08:24] <fumanchu> (which it would have to be whether the syntax included "link" wrappers or not)
- [08:24] <mamund> the more you place in the message, the less you need in the client code
- [08:24] <fumanchu> since JSON itself doesn't specify them
- [08:25] <fumanchu> yes, that makes sens up to a point
- [08:25] <mamund> the more you keep in the message, the more likely someone else can "understand" the message even if they don't have "the client code"
- [08:25] <mamund> yes, up to a point
- [08:25] <mamund> that's the design part<g>
- [08:25] <mamund> as long as you make this kind of decision in a concious way, you'll be fine
- [08:26] <mamund> another way i think about these design decisions is to ask...
- [08:26] <mamund> "what part do i want to _optimize_?
- [08:26] <fumanchu> in this case, it's the difference between a client writing "if type(value) is str" instead of "if value.type == 'link'" -- not much difference at all
- [08:26] <mamund> optimize the server code? client code? message? dev experience? user experience? etc.
- [08:26] <mamund> sure
- [08:29] <fumanchu> I think I was mostly struck in this particular context that the concept of a "URI" datatype is actually stronger (more prevalent) than the concept of a "string" datatype, and therefore has driven the design to hijack the latter for use as the former exclusively
- [08:39] <pc1oad1etter> It's not so simple as if type(value) is str right -- you have some strings that aren't URIs, right?
- [08:39] <fumanchu> only in certain contexts
- [08:40] <fumanchu> for example, if you have {..., "children": [a, b, c]}, then a, b, and c MUST be either an object or a URI
- [08:41] <fumanchu> (and if a URI, then it's implied that that URI returns an object of an allowed type)
- [08:41] <pc1oad1etter> so, you may be able to leave them as bare strings and set up some special rules to help you with processing it - and maybe that's what you should do.
- [08:41] <pc1oad1etter> but your work might not transfer much to any other project
- [08:42] <fumanchu> :)
- [08:42] <pc1oad1etter> and other clients (if there are any) will have to develop their own special rule-processing for your stuff.
- [08:42] <pc1oad1etter> which may be fine.
- [08:42] <whartung> o/
- [08:57] mamund was away
- [09:02] <mikekelly> fumanchu: what does this media type do?
- [09:03] <mikekelly> if you want linking and stuff there's already a couple of media types based on json
- [09:05] <whartung> What's the point of using REST if you can't make up your own media type? What fun is that? REST is supposed to be easy.
- [09:44] Wombert (~Wombert@dslb-092-074-121-251.pools.arcor-ip.net) left irc: Ping timeout: 248 seconds
- [09:49] Wombert_ (~Wombert@dslb-088-065-194-175.pools.arcor-ip.net) joined #rest.
- [09:50] technoweenie (~technowee@host-86-220-9-69.midco.net) joined #rest.
- [09:53] Wombert_ (~Wombert@dslb-088-065-194-175.pools.arcor-ip.net) left irc: Ping timeout: 252 seconds
- [09:54] Wombert (~Wombert@dslb-088-065-198-166.pools.arcor-ip.net) joined #rest.
- [09:58] Wombert_ (~Wombert@dslb-092-075-026-026.pools.arcor-ip.net) joined #rest.
- [09:59] Wombert (~Wombert@dslb-088-065-198-166.pools.arcor-ip.net) left irc: Ping timeout: 252 seconds
- [09:59] Wombert_ -> Wombert
- [10:01] Wombert_ (~Wombert@dslb-088-065-201-199.pools.arcor-ip.net) joined #rest.
- [10:03] Wombert (~Wombert@dslb-092-075-026-026.pools.arcor-ip.net) left irc: Ping timeout: 245 seconds
- [10:03] Wombert_ -> Wombert
- [10:05] mhausenblas (~mhausenbl@wlan-nat.fwgal01.deri.ie) left irc: Quit: brb
- [11:00] mephju (~mephju@dslb-188-106-092-165.pools.arcor-ip.net) left irc: Quit: Ex-Chat
- [11:12] mamund taps the glass
- [11:13] <whartung> ^oo^
- [11:13] <whartung> that's what my cat does when I do something like that
- [11:16] <mamund> LOL
- [11:21] Wombert (~Wombert@dslb-088-065-201-199.pools.arcor-ip.net) left irc: Ping timeout: 240 seconds
- [11:38] technoweenie (~technowee@host-86-220-9-69.midco.net) left irc: Remote host closed the connection
- [11:52] Wombert (~Wombert@dslb-092-075-000-114.pools.arcor-ip.net) joined #rest.
- [12:00] kennethr_ (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) joined #rest.
- [12:01] kennethr_ (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) left irc: Client Quit
- [12:03] kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) left irc: Ping timeout: 248 seconds
- [12:17] DracoBlue (~Adium@ip-vlan-obckunde-02-217-66-60-14.pixelpark.net) joined #rest.
- [12:28] kennethreitz (~kennethre@65.242.41.58) joined #rest.
- [12:28] DracoBlue (~Adium@ip-vlan-obckunde-02-217-66-60-14.pixelpark.net) left irc: Ping timeout: 252 seconds
- [12:33] kennethreitz (~kennethre@65.242.41.58) left irc: Ping timeout: 252 seconds
- [12:59] Wombert (~Wombert@dslb-092-075-000-114.pools.arcor-ip.net) left irc: Quit: Wombert
- [13:06] nuclearsandwich (~nuclearsa@64-79-127-126.static.wiline.com) joined #rest.
- [13:09] mamund_ (mamund@access.not.allowed.org) joined #rest.
- [13:09] #rest: mode change '+o mamund_' by ChanServ!ChanServ@services.
- [13:10] DracoBlue (~Adium@dslb-088-075-066-254.pools.arcor-ip.net) joined #rest.
- [13:10] DracoBlue (~Adium@dslb-088-075-066-254.pools.arcor-ip.net) left #rest.
- [13:10] DracoBlue (~Adium@dslb-088-075-066-254.pools.arcor-ip.net) joined #rest.
- [13:11] DracoBlue (~Adium@dslb-088-075-066-254.pools.arcor-ip.net) left #rest.
- [13:17] <mamund_> oh noes!
- [13:17] <mamund> ...
- [13:36] mamund this version of me is leaving now.
- [13:36] mamund (~mamund@rrcs-24-172-200-42.central.biz.rr.com) left irc: Quit: ChatZilla 0.9.87 [Firefox 8.0.1/20111120135848]
- [13:36] mamund_ then i guess i must do the same.
- [14:20] dreinull (creepingfu@217.18.70.225) left irc: Ping timeout: 252 seconds
- [14:36] kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) joined #rest.
- [15:10] grove (~grove@84.115.45.31.customer.cdi.no) left irc: Quit: grove
- [15:13] dreinull (~dreieins@217.18.70.225) joined #rest.
- [15:28] kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) left irc: Ping timeout: 244 seconds
- [15:51] nuclearsandwich (~nuclearsa@64-79-127-126.static.wiline.com) left irc: Remote host closed the connection
- [16:22] nuclearsandwich (~nuclearsa@64-79-127-126.static.wiline.com) joined #rest.
- [16:30] Wombert (~Wombert@dslb-088-065-201-187.pools.arcor-ip.net) joined #rest.
- [16:34] <mikekelly> oh man
- [16:34] <mikekelly> this restful object thing looks pretty hardcore :S
- [17:00] Wombert (~Wombert@dslb-088-065-201-187.pools.arcor-ip.net) left irc: Quit: Wombert
- [17:13] Wombert (~Wombert@dslb-088-065-201-187.pools.arcor-ip.net) joined #rest.
- [17:57] Wombert (~Wombert@dslb-088-065-201-187.pools.arcor-ip.net) left irc: Quit: Wombert
- [18:05] nuclearsandwich (~nuclearsa@64-79-127-126.static.wiline.com) left irc: Ping timeout: 244 seconds
- [18:12] KevBurnsJr (~KevBurnsJ@50.0.103.39) left irc:
- [18:15] nuclearsandwich (~nuclearsa@64-79-127-126.static.wiline.com) joined #rest.
- [18:42] nuclearsandwich (~nuclearsa@64-79-127-126.static.wiline.com) left irc: Remote host closed the connection
- [19:14] kennethreitz (~kennethre@c-24-127-96-129.hsd1.va.comcast.net) joined #rest.
- [22:17] grove (~grove@84.115.45.31.customer.cdi.no) joined #rest.
- [22:24] grove (~grove@84.115.45.31.customer.cdi.no) left irc: Quit: grove
- [23:01] fumanchu (~fumanchu@adsl-99-30-180-185.dsl.sfldmi.sbcglobal.net) left irc: Ping timeout: 252 seconds
- [23:14] grove (~grove@aggw006.cappelendamm.no) joined #rest.
- [00:00] --- Wed Dec 21 2011