You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The tool should be a ‘quick view’ of an unfamiliar database, one that hasn’t yet been annotated with supplemental schema.
The tool should parse command line args for the client config and db name.
Then it should ingest the db, inferring references and deprecations.
process data into DataScript db
basic schema
with deprecations
with see-also
with references
with tuples
with tuple references
include tuple references in Referenced By
with derived aggregate/enum
with explicit aggregate/enum
CANCELED with attribute predicates
with entity specs
allow doc strings on collections
inspect data
index
aggregate table
referenced by
name
primary key?
type, with refs
comments
see also
special attributes
deprecated
sorted
enum table
referenced by
name
comments
see also
special attributes
deprecated
sorted
connections graph for one aggregate/enum
full graph
connections graph for one agregate/enum, force directed, including inbound references
pannable connections graph
keep arrow tips close to the target
toggle enums in diagrams
export data
to static DataScript db
to live HTML, with inlined data
to static HTML, with inlined JS and CSS
to svg
Done by Vega, see toolbox to upper right of diagram
refactoring
switch to just DataScript and reagent… don’t need re-frame or re-posh
why do we have both entity and attribute? aren’t they two names for the same thing?
fix :a within another :a on collection page: invalid DOM
try CSS purge
Promote :db/tupleAttrs to attribute references during `data/process`? It works OK to pull the attribute data later, by ident.
Convert CLJC to CLJS: no need to render from a clojure process
Move dev/examples.clj to dev/ingest/projects/mbrainz.clj and update README
Experiment with giving collections a compound :db/ident of [:aggregate :person]
Problem: You can’t really use s-v from within another Clojure codebase. This
is a problem because those codebases are closest to the original schema
definition, client connection parameters etc. And more practially, because the
DataScript DB is put in the project resources/, not s-v’s resources, meaning
that resource/inline doesn’t work. Maybe? Needs research
Create way to build website with arbitrary db input.
CANCELED Create version of website that allows upload of s-v.db
convert to clojure tool
Unify CLI to a single invocation
many sources
many kinds of sources
files
dbs
functions, referenced by symbols
static data
db inferences
db exclusions (?)
output to standalone html
Rename standalone.html to schema-voyager.html, or make it configurable?
better branding of schema voyager
fix print-references
It fails with some cryptic message related to compiling js (!)
Also check that docs for print-inferences (doc/datomic-inference.md) actually work
move away from yarn scripts
possibly a clojure.tools.build script would work
simplify spread of files
DONE slim down dev/
DONE move assets/ into resources/
CANCELED convert datomic (and hiccup?) deps to :optional
NOTE: I decided to keep them as is… If they’re loaded when using s-v
directly, it’s hard to see how they’ll behave from a project.
Would this ensure they’re loaded when using s-v directly, but not when using from a project?
And would this let us get rid of the :datmoic and :export aliases, and the dev directory/namespace?
The dev directory also exists to support Netlify, so maybe not
Reorganize deps in deps.edn. What is really needed, and when?
development/live
release
standalone
standalone with Datomic
CANCELED reintroduce quickstart, as a way of seeing full workflow
NOTE: decided not to do this because -X:cli standalone is the whole workflow now
basically just -X:cli ingest followed by -X:export standalone
CANCELED consider renaming cli/standalone to standalone-html or just html
NOTE: going to leave it for now
if it would read better in the docs
create a build script
run clj -X:build-template
Create tagged version
check that find-versions can actually find the tool
move resources/assets
Perhaps to src/css and src/html. They shouldn’t be distributed with lib so
mostly they shouldn’t be in resources.