This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-05-25
Channels
- # beginners (27)
- # boot (49)
- # cider (51)
- # cljs-dev (29)
- # cljsjs (1)
- # cljsrn (19)
- # clojure (59)
- # clojure-austin (2)
- # clojure-belgium (19)
- # clojure-china (1)
- # clojure-dev (14)
- # clojure-dusseldorf (7)
- # clojure-russia (8)
- # clojure-spec (115)
- # clojure-uk (45)
- # clojurescript (118)
- # css (6)
- # cursive (8)
- # datascript (20)
- # datomic (32)
- # emacs (5)
- # events (2)
- # flambo (21)
- # hoplon (58)
- # incanter (8)
- # jobs-rus (1)
- # jobs_rus (1)
- # off-topic (3)
- # om (22)
- # om-next (9)
- # onyx (5)
- # other-languages (79)
- # re-frame (126)
- # reagent (6)
- # ring (7)
- # specter (1)
- # untangled (119)
- # yada (38)
@metasoarous: can you elaborate about client server data sync as handled by posh
i see a sentence in the readme about “we are thinking about how to solve this” but i don’t understand how it can be solved without having massive slices of datom indexes sent to the client
[9:52 AM] dustingetz Whena datomic peer does a query like [:find (count ?r :where [complicated]], and the jvm peer cache is cold, how does datomic know what pages of entities to load from storage? [11:20 AM] stuartsierra @dustingetz: The query engine evaluates the datalog clauses in order, fetching index segments from storage as needed. [11:20 AM] It knows which index segments to fetch based on which parts of the datalog clause are constants or bound variables.
That will be the role of datsync
Partial sync (scoping) and security filters pending.
Aiming for web after tomorrow architecture
Right, i dont understand how partial sync can be solved efficiently in that matter, because you need to send large slices of datom indexes to the client (any datom that could possibly be relevant to a query)
They mention using some heuristics, but they don’t seem to be good enough
you can’t send down 10000 entities because the ui wants to put the first 10 of them in a paged grid view
There will be queries that get defined in client but executed on server to decide what data is needed
@metasoarous: what if you want to render a blank form, you may not have an entity yet to attach metadata
Doesn't matter; Pull expressions still describes that 🙂
It specifies all the keys and relations youd need for the form
I thin there are two layers of metadata in play
the schema (essentially :db.valueType and :db.cardinality and the attrs) - which the pull expression knows about
What about business model level stuff like, what query controls the select options on this :db.type/ref field?
You'd be able to specify seed data for the form
So it can query on that if it needs to
But I've found that most often putting a metadata attribute in the attribute entities in the schema that specify what types of entities can be pointed to works well.
ah i see