This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-10-29
Channels
- # bangalore-clj (2)
- # beginners (22)
- # boot (28)
- # cljs-dev (91)
- # cljsrn (4)
- # clojure (30)
- # clojure-austin (8)
- # clojure-conj (4)
- # clojure-japan (1)
- # clojure-russia (3)
- # clojure-spec (9)
- # clojure-uk (8)
- # clojurescript (42)
- # cursive (2)
- # editors (1)
- # hoplon (16)
- # klipse (91)
- # lein-figwheel (1)
- # luminus (9)
- # off-topic (4)
- # om (83)
- # onyx (29)
- # perun (6)
- # re-frame (17)
- # spacemacs (6)
- # untangled (1)
- # vim (5)
Okay, here's the tutorial prototype. *Not recommended for low-bandwidth.* EDIT: https://colinhicks.github.io/onyx-blueprint/resources/public/index.html
Source over here: https://github.com/colinhicks/onyx-tutorial-ideas/blob/master/src/onyx_tutorial/core.cljs
Starting with core.cljs
, you'll see the example tutorial data set up in components
and sections
. These are separate so that content is orthogonal to layout. You could imagine a slideshow layout with the same content, for example. Also we might want to generate interactive docs by transforming other content like the user guide.
In any case, the goal is to send tutorial content and layout to the om machinery with api/render-tutorial
.
Note that the naming of core.cljs
is a vestige of figwheel's boilerplate: The core ns will be removed. A better name for this file would be prototype.cljs
.
The om app renders ui components based on each map in components
. UI is decorated based on :component/type
. At the first url, you can see text, editor, graph and simulator components in action.
Will be back tomorrow to discuss further
good job @michaeldrogalis @colinhicks Next future step could be building UI Editor that could simplify creating job and could generate whole clj file from UI and run in browser hosted onyx or on the server then. I think about UI like Apache Nifi for instance. Our brain is best on graphical shapes and patterns recognition. What do you think?
@mariusz_jachimowicz I'd like to have that too but not for editing. Maybe for monitoring. I've never seen a flow-control UI that is more convenient than code for non-trivial cases. There's this: https://github.com/onyx-platform/onyx-dashboard
yes I agree. This kind of editing could be usefull for new comers, when you want to quickly go from novice to master, I think. Onyx dashboard is good starting point of course. I am thinking about rebuilding it further in the future. I have WIP PR there 😄.
Yeah, I am also very curious about new product 😄
which version? Hopefully not the onyx-kafka-0.8 plugin… onyx-kafka is better, but still needs work. The current onyx 0.9 plugin interface is pretty complex to get right. We’ll be improving things a lot in the next version and it’ll get a rewrite at that point
@lucasbradstreet Do you have anywhere documenting what are the difficulties and what is still a work in progress? I'm thinking of writing a plugin for EventStore and that might help.
We have another plugin interface that was kind of a trial balloon for the next version of Onyx. It’s here https://github.com/onyx-platform/onyx/blob/0.9.x/src/onyx/plugin/simple_input.clj
You can see an implementation of onyx-twitter here https://github.com/onyx-platform/onyx-twitter
which uses it
This plugin interface will be much closer to what ends up being used in the next version of onyx
@colinhicks Beautiful work my friend.
In response to the above, in my opinion, having an extensive, interactive in-browser tutorial such as what @colinhicks has started will be the fastest way to get up to speed with Onyx. I've spent a good chunk of time teaching Onyx in person, and the reason that learn-onyx is effective is because it approaches the platform from the programming model, and for most people, that's where the value proposition is.
The lower we can make the cost for someone to try and explore the programming model, the better.
Thanks, all 🙂. Excited about where this is going. Here are some thoughts about the tutorial-creation process. https://github.com/colinhicks/onyx-blueprint/issues/7
Note the repository name change, to onyx-blueprint. The GH pages link needs to use this, too.