Obeya

Here we experiment with visualizing with graphviz plugin's algorithmic markup.

DOT digraph HERE NODE WHERE /^Consists of / edge [label="Consists of"] LINKS HERE -> NODE WHERE /^Includes / edge [label="Include"] LINKS HERE -> NODE WHERE /^Enabled by / edge [label="Enable"] LINKS NODE -> HERE WHERE /^Part of / edge [label="Consists of"] LINKS NODE -> HERE

DOT digraph HERE NODE WHERE /^Consists of / edge [label="Consists of"] LINKS HERE -> NODE WHERE /^Includes / edge [label="Include"] LINKS HERE -> NODE WHERE /^Enabled by / edge [label="Enable"] LINKS NODE -> HERE WHERE /^Part of / edge [label="Consists of"] LINKS NODE -> HERE

strict digraph { subgraph cluster_obeya {"Activities" edge [label="Consists of"] edge [label="Include"] "Activities" -> "Planning" "Activities" -> "Diagnosing" "Activities" -> "Analyzing" "Activities" -> "Prototyping" edge [label="Enable"] edge [label="Consists of"] "Obeya" -> "Activities"} subgraph cluster_activities {"Obeya" edge [label="Consists of"] "Obeya" -> "FedWiki" "Obeya" -> "Activities" "Obeya" -> "Learning" "Obeya" -> "Purpose" edge [label="Enable"] "Principles" -> "Obeya" "Safe Learning Environment" -> "Obeya" "Preconditions" -> "Obeya" "A Place" -> "Obeya"} }

Here we speculate with a sketch to mashup graphs from multiple pages.

# extract DOT from Obeya # and convert a digraph to a subgraph & cluster curl -sSL http://eric.dojo.fed.wiki/obeya.json \ | jq -r '.story[]|select(.type=="graphviz")|.dot' \ | perl -lpe 's{^digraph}{subgraph cluster_obeya}' # extract DOT from Activities # and convert a digraph to a subgraph & cluster curl -sSL http://eric.dojo.fed.wiki/activities.json \ | jq -r '.story[]|select(.type=="graphviz")|.dot' \ | perl -lpe 's{^digraph}{subgraph cluster_activities}'

It is I understand from prior conversations and examples with the graphviz team within the toolset of graphviz to process multiple graphs and then pipe them into graphviz itself to create compound graphs.

In other words the right way to do this is to get graphviz itself do much of the heavy lifting. Personally I ignored this advise and manipulated array in the language I new rather than learn awk like syntax.

I feel this was a mistake that is in danger of being repeated. On the other hand the relevant graphviz tools may not be available in the current emscripten compile, and having deeper control over the logic of the graph structure within wiki makes a lot of sense.