greptilian logo

IRC log for #rest, 2015-12-06

https://trygvis.io/rest-wiki/

| Channels | #rest index | Today | | Search | Google Search | Plain-Text | plain, newest first | summary

All times shown according to UTC.

Time S Nick Message
00:45 wavded joined #rest
00:56 robo7 joined #rest
01:02 bluezone joined #rest
01:32 robo7_ joined #rest
01:34 robo7__ joined #rest
05:32 baweaver joined #rest
06:06 profsimm joined #rest
06:07 profsimm You know, I have long been working on this idea of a REST-like system for editing and viewing data, but it's not compatible with idioms popularly associated with REST these days. For example, it can be tunneled through HTTP but it doesn't map to it 100%
06:07 profsimm But at the same time it feels more REST-like than any HTTP REST system I've seen
06:59 baweaver joined #rest
07:50 profsimm Soo anyone here
12:37 timg___ joined #rest
12:58 pdurbin profsimm: we're here
12:59 profsimm pdurbin: I was wondering is there any interest in REST APIs which aren't the typical HTTP CRUD stuff.
12:59 profsimm pdurbin: I'm working on a spec for a REST API which allows an admin panel to be created automatically from an API, but it's not your run-of-the-mill HTTP stuff
13:00 profsimm In a way it's closer to the dream of "automatic API client" than anything I've seen
13:02 pdurbin profsimm: can you please link to your spec?
13:05 timg___ joined #rest
13:14 profsimm pdurbin: it's not public, I'm still working on it. I was wondering if it rings a bell, can someone point to similar standards, and whether calling it REST despite it's not strictly HTTP or "mainstream REST" is appropriate
13:14 mezod joined #rest
13:19 pdurbin profsimm: how is it different than https://en.wikipedia.org/wiki/HATEOAS ?
13:20 profsimm pdurbin: HATEOAS is a bit rudimentary and some of its features have no practical implications
13:21 profsimm pdurbin: it's also quite verbose, I don't pass meta information in every response.
13:21 pdurbin ok
13:21 profsimm pdurbin: I do it when I get a "describe" call which specifically describes the structure of an API, or when someone wants results with meta info.
13:21 pdurbin cool
13:22 profsimm pdurbin: my original problem was... how to create an efficient admin where people can enter data quickly, and not resource by resource, but also atomically update a set of resources.
13:23 profsimm pdurbin: for example... query a set of resources, a subset of their fields, order them by some criteria, and the results are editable in the admin and have a single save button: when you save, either all save, or none, and if none, you get aggregate errors for all you wanted to save
13:23 pdurbin sounds like a somewhat common problem
13:23 profsimm pdurbin: it is quite common, and it may be poor research on my side, but I don't see solutions covering the whole problem.
13:25 pdurbin profsimm: I wonder how your admin compares to the one that ships with Django.
13:25 profsimm pdurbin: which feature of django's admin panel are we talking about
13:26 profsimm pdurbin: I see, yeah I see some similarities.
13:27 profsimm pdurbin: one immediate difference, I think, is mine is API based. The admin may be Python, the model may be Java
13:27 profsimm pdurbin: the meta info is not language specific
13:28 profsimm pdurbin: another is, I'm not sure if Django supports "deep" data structures.
13:28 profsimm pdurbin: as in fields which are themselves entities, which contain entities etc.
13:29 profsimm Maybe I'm wrong.
13:32 pdurbin profsimm: you're using JPA?
13:32 profsimm pdurbin: no
13:33 profsimm pdurbin: Java was an example, my point was I can have models in one set of language, dmin in another set
13:33 profsimm admin*
13:33 profsimm Its not a big monolith.
13:33 profsimm It's connected via said API
13:35 pdurbin profsimm: so you could have either postgres or mongodb in the back end. you're flexible
13:36 profsimm pdurbin: sarcasm detected :P
13:36 profsimm pdurbin: but the data source is irrelevant, right.
13:36 profsimm pdurbin: you implement the spec and it works.
13:37 profsimm pdurbin: things is, it's easy to create a generic spec that's bad.
13:37 profsimm pdurbin: it's hard to create one that preserves performance and flexibility, yet remains technology neutral.
13:38 whartung_ joined #rest
13:41 Davey_ joined #rest
13:41 Davey_ joined #rest
13:42 profsimm pdurbin: but there are some common data structures you can model interactions around, from good old comp-sci: maps, lists, tuples, sets...
13:42 pdurbin profsimm: sorry, not trying to by sarcastic. just curious
13:43 profsimm pdurbin: and I have to say SQL has got some quite good ideas about how to interact with data
13:43 profsimm FROM set of entities SELECT fields WHERE condition ORDER BY condition
13:43 profsimm Those are quite generic clauses which can be actually also SQL neutral.
13:43 pdurbin sure. I'm not a SQL hater
13:44 profsimm Facebook is taking a hint with that in their GraphQL.
13:44 profsimm GraphQL can be powered by anything, it's not a database itself, it's just an API format.
13:44 profsimm Mine has some similarities to it, accidental, or maybe not, because I feel this keeps getting reinvented.
13:46 pdurbin could be
13:46 profsimm But point is... is it REST. I feel it is, in the spirit of the paper.
13:46 profsimm But it's not even HTTP specific.
13:47 profsimm HTTP is just one interface, but I don't use links for references.
13:47 profsimm Because they don't provide the semantics I need
13:49 pdurbin profsimm: at the end of the day, you're trying to build a web gui, right? that's the "admin"
13:58 profsimm pdurbin: web gui is one use of this, but it can also be a native UI fed from the same metadata. And not just GUI but tooling.
13:58 profsimm pdurbin: but yeah
13:59 rickharrison joined #rest
14:05 ChrisAnn joined #rest
14:08 StatelessCat joined #rest
14:18 pdurbin profsimm: I guess you could make a desktop or even mobile admin app some day
14:18 profsimm pdurbin: that's the goal, to keep things isolated and extensible, not platform-specific. Has pros and cons, but... IMHO, mostly pros.
14:19 profsimm pdurbin: it require less thinking to make a monolith, but thinking leads to unexpected insights that make everything better sometimes
14:20 pdurbin sure
14:21 pdurbin profsimm: I'm just thinking that I would push the Django admin as far as I could first and see what I learn, see where the shortcomings are.
14:22 profsimm pdurbin: I did explore it just now and I hit the limits quite fast. 1) The models are local and SQL-only  2) Nesting is limited  3) Manipulating transformed results is very limited (basically you can sort a table of rows and that's it)
14:22 profsimm pdurbin: it is sort of the right idea
14:23 profsimm pdurbin: but implemented in a monolithic Django-specific SQL-specific way, which I see a lot TBH
14:24 pdurbin profsimm: maybe you should make ask if Django has any plans to go in the direction you'd like with your admin ideas.
14:24 profsimm pdurbin: in my case the point is to implement an encapsulated API first, then point an admin to it, and ... it works.
14:24 profsimm pdurbin: I doubt it.
14:25 pdurbin whoops, I was going to say "make some noise in a Django channel" :)
14:25 profsimm pdurbin: it'd be quite the shift, most of those products tend to stick to SQL CRUD.
14:25 profsimm I mean in long term I definitely think this is the way.
14:25 pdurbin so what else is out there that's similar to the Django admin? I guess there's https://www.phpmyadmin.net
14:26 profsimm Headless Drupal, GraphQL, WordPress is also moving to REST APIs
14:26 profsimm and so on
14:26 profsimm People are kind of waking up to the approach but
14:26 profsimm Very slowly.
14:26 profsimm pdurbin: that one is outright a database editor, not an admin for an API so
14:26 pdurbin yeah
14:27 profsimm I'll figure it out. Thanks for the chat.
14:28 pdurbin profsimm: oh sure. when you have something to link to, please do
14:29 pdurbin profsimm: meanwhile, I'm asking the sysadmins who code about it: http://irclog.perlgeek.de/crimsonfu/2015-12-06 :)
14:30 profsimm Fun :)
14:44 ramsey joined #rest
15:19 timg___ joined #rest
15:22 timg___ joined #rest
16:10 simonv3 joined #rest
17:05 Coldblackice joined #rest
17:34 mezod joined #rest
17:42 philbot joined #rest
17:42 Topic for #rest is now #rest REpresentational State Transfer | logs: http://irclog.greptilian.com/rest/today |  http://tech.groups.yahoo.com/group/rest-discuss | http://code.google.com/p/implementing-rest/ | http://en.wikipedia.org/wiki/Representational_State_Transfer
17:46 timg___ joined #rest
18:13 profsimm left #rest
19:11 fuzzyhorns joined #rest
19:12 mooncup joined #rest
19:12 mooncup joined #rest
19:45 fuzzyhorns joined #rest
20:17 fuzzyhorns joined #rest
20:33 mezod joined #rest
20:36 fuzzyhorns joined #rest
21:40 fuzzyhorns joined #rest
21:52 timg___ joined #rest
22:41 fuzzyhorns joined #rest
23:35 simonv3 joined #rest

| Channels | #rest index | Today | | Search | Google Search | Plain-Text | plain, newest first | summary

https://trygvis.io/rest-wiki/