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