untangled

NEW CHANNEL: #fulcro
tony.kay 2016-10-31T02:14:03.003356Z

yes

tony.kay 2016-10-31T02:14:06.003357Z

@currentoor

currentoor 2016-10-31T02:15:24.003358Z

thanks

tony.kay 2016-10-31T02:17:39.003359Z

@darrellesh The new support for server mutation return value handling. I think we added post-mutation because we didn’t leave a hook in merge to handle the returns from mutations.

tony.kay 2016-10-31T02:20:06.003360Z

I’m curious where you’ve needed to use post-mutation, since I know you’re doing optimistic updates.

tony.kay 2016-10-31T02:30:23.003361Z

usually in that case you’d do follow-on reads with post mutations. Oh wait, do you mean load post-mutations? That is not what I was talking about actually

tony.kay 2016-10-31T02:31:28.003362Z

I was talking about the GLOBAL post-mutate mulitmethod

2016-10-31T13:10:51.003371Z

@darrellesh @tony.kay we’re making pretty extensive use of load post-mutations for things like reporting that don’t conform with the database schema. I’m not sure anyone is using the global post-mutate multimethod, We originally added it in because I was working on todomvc and wanted to save to local storage after every mutation, regardless of which one it was.

2016-10-31T13:11:31.003372Z

and didn’t want to have to manually write in the save-to-storage function call in for each mutation

tony.kay 2016-10-31T15:19:21.003374Z

Ah, right. I knew we added it for some reason. I lean towards composition in mutation methods for that sort of code re-use. Truly global operations on every UI transaction are kind of an invitation for heavy-handed design.

2016-10-31T20:43:23.003379Z

@currentoor link to talk?

2016-10-31T20:43:28.003380Z

@currentoor i'm in SF

currentoor 2016-10-31T20:44:24.003383Z

hope to see you there

currentoor 2016-10-31T20:45:21.003384Z

do live in SF or just here for the week?

2016-10-31T20:46:06.003385Z

@currentoor live here

currentoor 2016-10-31T20:46:21.003386Z

oh i see

currentoor 2016-10-31T20:46:23.003387Z

cool

2016-10-31T20:47:25.003388Z

@currentoor do you work for adstage?

2016-10-31T20:47:36.003389Z

there was some article about real-time om.next from adstage

currentoor 2016-10-31T20:47:43.003390Z

yeah, been here for 1.5 years

currentoor 2016-10-31T20:47:48.003391Z

yeah i wrote that article

2016-10-31T20:47:55.003392Z

nice

currentoor 2016-10-31T20:48:22.003393Z

where do you work?

2016-10-31T20:48:45.003394Z

http://www.peerspace.com

2016-10-31T20:48:52.003395Z

we're in civic center

currentoor 2016-10-31T20:49:33.003396Z

this was all built with untangled?

2016-10-31T20:53:09.003397Z

@currentoor no, we used it to build an internal admin/management tool for the platform

currentoor 2016-10-31T20:53:32.003398Z

oh i see

currentoor 2016-10-31T20:54:15.003400Z

i wish datomic had an open source admin app/service

2016-10-31T20:54:22.003401Z

our external facing website has pretty stringent binary size requirements, and would need server side rendering for google indexing, etc

currentoor 2016-10-31T20:54:25.003402Z

or even a paid service would be nice

2016-10-31T20:54:27.003403Z

so not as good a choice

2016-10-31T20:54:57.003404Z

i wish datomic was open source

currentoor 2016-10-31T20:55:00.003405Z

i didn’t mean your external site, just the app itself

currentoor 2016-10-31T20:55:26.003406Z

lol yeah

2016-10-31T20:56:04.003407Z

also a clojurescript client would be nice

currentoor 2016-10-31T20:56:23.003408Z

yeah

2016-10-31T20:57:22.003409Z

i'm a little nervous about coupling our product to datomic for those reasons, it would be interesting if there was a om.next server that supported a variety of databases, so for example I could use query expressions to interact with mongo, s3, datomic, etc

2016-10-31T20:57:46.003411Z

the facebook graphql server equivalent for clojure

currentoor 2016-10-31T20:58:47.003412Z

yeah i looked into graphql, used it in a rails app also

2016-10-31T20:59:02.003413Z

i guess we sort of have that going with the untangled server, but our mutations and reads is too specific to app we're developing, maybe that's just my own fault, not sure if it's a design limitation

currentoor 2016-10-31T20:59:33.003415Z

java has an alright graphql library, and i think it shouldn’t be too hard to translate om.next queries to graphql

2016-10-31T20:59:56.003416Z

what's it called?

2016-10-31T21:00:17.003417Z

ah https://github.com/graphql-java/graphql-java

currentoor 2016-10-31T21:00:26.003420Z

yeah

currentoor 2016-10-31T21:01:13.003421Z

this also looks promising but not as complete

currentoor 2016-10-31T21:01:14.003422Z

https://github.com/tendant/graphql-clj

currentoor 2016-10-31T21:03:23.003424Z

personally I am pretty happy with datomic at the moment but we are supplamenting it with postgres

2016-10-31T21:04:18.003425Z

@currentoor very cool, I wish there was an equivalent of https://github.com/tendant/graphql-clj for query expressions, we're so very close

currentoor 2016-10-31T21:04:19.003426Z

i wrote this to make it easier to use with the pull API https://github.com/AdStage/pluck-api#external-blob-store

2016-10-31T21:04:44.003428Z

your data flows from datomic -> postgres?

2016-10-31T21:04:52.003429Z

then you compute views of datomic?

currentoor 2016-10-31T21:06:27.003430Z

with the pluck-api we pull with datomic.api/pull then decorate the result based on the query and which keys implement the -pluck multi-method.

2016-10-31T21:07:03.003432Z

ok, so basically it's like datomic pull syntax, + automatic joins with external store?

currentoor 2016-10-31T21:07:18.003434Z

yeah pretty much

2016-10-31T21:07:25.003435Z

awesome

currentoor 2016-10-31T21:07:50.003436Z

can easily result in n+1 queries but that hasn’t hit us yet

currentoor 2016-10-31T21:08:28.003437Z

but we’ll probably have to implement pluck-many at some point

currentoor 2016-10-31T21:08:45.003438Z

anyway looking forward to seeing you at the meetup

2016-10-31T21:08:58.003439Z

we're on mongo for historical reasons, I would love to see some generic library for doing joins across multiple storage services

2016-10-31T21:09:16.003440Z

if you have a large fanout, maybe datomic returns several IDS, and then you want to query that set of IDS in parallel on the external store

2016-10-31T21:09:26.003441Z

this library would parallelize the joins as much as possible

2016-10-31T21:09:44.003442Z

yah likewise, i think i'll be there, i also sent the link out to the office 🙂

currentoor 2016-10-31T21:09:57.003443Z

thanks!

2016-10-31T21:10:06.003444Z

glad to see more om.next presentations, cheers man

currentoor 2016-10-31T21:10:32.003445Z

later