We launched our public beta today built using Untangled, gave the framework a shoutout in the comments. https://news.ycombinator.com/item?id=12165682
@tony.kay and friends thank you so much for making this modern lisp stack totally accessible!
@currentoor: I might be an idiot but I can't seem to get to your site from the hacker news link, found it on google though. Is the entire thing Untangled?
@shaun-mahood: oh it's silly that the HN post doesn't link to the actual product, I think one of our marketing people posted it.
here's the link https://www.adstage.io/reporting/
The entire reporting product is untangled-(client, server, datomic, spec)
We originally built the prototype in vanilla Om next. Then started with Untangled in April.
@currentoor: Very cool. I'd be very interested in any info you can share about the graphing and dashboards in there, they look excellent.
@currentoor: Congrats!
@darrellesh: thanks!
@shaun-mahood: I'm happy to answer any questions. We're planning on writing a blog post going over our experiences.
we wrote some components to wrap this library http://c3js.org/
for the charts
@currentoor: Oh cool, was it nice to work with once you wrapped it?
@currentoor: Iβd sign up for a free trial to play around if I could! looks fantastic
@shaun-mahood: yeah it was pretty straight forward
@currentoor: Are you using d3 for your graphics?
we used this to component as the base to build all our other charts
@jslavin: we're using C3 which uses D3 under the hood
@ethangracer: thanks! We couldn't have done it without you guys!
@currentoor: Great job, we at navis are excited to see others using the libraries
@jslavin: thanks!
@currentoor: Thanks, looking forward to the blog post. I bet it will be really, really nice to maintain.
@shaun-mahood: it was pretty straightforward to wrap, we used some lifecycle examples that looked very similair to what @tony.kay used for his d3 react component (i think that was posted on the om channel awhile back).
@currentoor: cool stuff, looks good! Iβd love to see those chart components open sourced
I understand that there might be politics involved, though π
@anmonteiro: @kenbier built them, maybe he convince our CTO
@anmonteiro: i cant make any promises, but i can ask π
π
@paul4nandez: it's just some syntactic sugar around om.next/defui
https://github.com/currentoor/untangled-starter/blob/master/src/untangled_starter/aum.cljc
Just rooting for a wider adoption of Om Next. Pretty sure everything we can get out there to feed the (still tiny) ecosystem is very welcome
yeah that would be cool, we certainly had more fun with this stack than any other we've worked with
Out of curiosity, was this the first Clojure project you have undertaken at the company, or was there already some Clojure traction?
We already had some Clojure parts in our stack (for example the underlying metrics service we're grabbing most of our data from)
First full-stack Clojure project here though
Very cool, I love that there are companies willing to go all-in like this.
Well, it certainly still took a lot of pushing from @currentoor to get us to try it. π
@shaun-mahood: yeah i had to sell my soul and take a second mortgage on it get this project approved!
I love that you guys pushed a public commercial product beta out in 4 months. That speaks volumes I think.
@tony.kay: thanks!
Initial traction was gained by getting a commitment to let us try a week long spike and see how far we could get. We were able to get a workable enough demo that it seemed like a viable solution
I think you guys should announce on the #C06DT2YSY channel as well. I think it could help the general crowd of om-next interested users to raise an eyebrow towards Untangled as a simplification for getting going.
I think you've beat everyone else to the punch on having a commercial om-next full stack app...including us π
π
(actually we do have an internal beta going on with real clients, but it isn't public facing)
Yeah, we were in a private "alpha" for a month or so
Is there a way to query for all the entities of a particular ident? Like [:dashboard/by-id *]
vs [:dashboard/by-id 1]
?
[:dashboard/by-id]
will give you the entire map
(table)
if I understand your question correctly
then just use vals
@currentoor: ^^^^
@tony.kay: that'll work in a query?
cool that makes sense i suppose
@currentoor: thatβs one of the cool untangled nuggets β if a keyword is not part of a join, we assume itβs at the top of the app state and we return whatever is at that key
FWIW, itβs what Om will do too if you call db->tree
, which is what Untangled uses, IIRC
correct me if Iβm mistaken
interesting, we treat it as a separate case in our custom read untangled.client.impl.om-plumbing/read-local
, but maybe we donβt have to
looking
cljs.user> (om/db->tree [:foo] {:foo 42} {:foo 42})
{:foo 42}
you treat it differently because the parser dispatches on top-level keys so you donβt really have the [:foo]
query
so what untangled does def makes sense
@ethangracer: that's handy
@anmonteiro: right, I forgot the parser strips the key from the query. makes sense