The Solo Popup can be accessed by two plugins, Solo we will use here, and the Mech SOLO block which is more integrated into federated wiki workflows.
See Test Assets Folder for an alternative approach.
A Popup is its own window with its own html. It differs from most browser tabs in that it maintains a messaging link with its "parent", `the plugin that launched it. Find the source code for the popup's index.html and style.css in github
.
This plugin retrieves Graph objects from a variety of sources and then makes these available to a popup version of the Solo Super Collaborator. github ![]()
We will discuss one option for launching Solo from the plugin with input from .jsonl files full of assets on single lines. See documentation for the .jsonl text file format. site ![]()
The About Solo Plugin page example uses the LINK markup to read two .jsonl files. Try pressing "view in solo".
Say __LINK \<subject> \<url>__ to read aspects from a published location.
LINK Search https://raw.githubusercontent.com/WardCunningham/search/master/README.graph.jsonl LINK Patterns https://raw.githubusercontent.com/WardCunningham/assets/master/pages/aspects-of-pattern-relations/aspects-of-pattern-relations.jsonl
If you double-click to examine the markup of the above plugin you will see two LINK commands that look like this:
LINK Search https://.../README.graph.jsonl LINK Patterns https://...pattern-relations.jsonl
This markup offers its own names for these two files, Search and Patterns. Beyond that there are aspects in the two linked files, 7 lines in the first, 3 lines in the second. Click the links in the plugin to see these files. Warning: they are long and wrap at the right margin.
The Search subject contains an aspect named Drop. This aspect will appear when selected. It contains three nodes and two relations.
The .jsonl line that contains this graph is long but begins:
{"name":"Drop","graph":{"nodes":[ ... ],"rels":[ ... ]}}
Each line contains an object with the "name" of the aspect and the "graph" that represents it. Graphs are of the serialized form described in the manual. github ![]()
So here we are providing Solo with two subjects, one with an aspect named Drop, that includes three nodes named drop, beam and target. This is the hierarchy of names exposed by the Solo browser popup.
Search (subject)
Drop (aspect)
drop (node type Window)
beam (node type View)
target (node type View)To complete this example, I will copy the single line for the Drop aspect and expand that same information into the formatted json using the command line:
pbpaste | jq .
You may recognize the 3 "nodes" and 2 "rels" we expect to find in this file and edit slightly for brevity. You can see why this shortest of lines in the .jsonl file is still a long line.
{
"name": "Drop",
"graph": {
"nodes": [
{
"type": "Window",
"in": [], "out": [0,1],
"props": {
"name": "drop"
}
},
{
"type": "View",
"in": [0], "out": [],
"props": {
"name": "beam"
}
},
{
"type": "View",
"in": [1], "out": [],
"props": {
"name": "target"
}
}
],
"rels": [
{
"type": "add",
"from": 0, "to": 1,
"props": {
"file": "README.html",
"line": 78
}
},
{
"type": "add",
"from": 0, "to": 2,
"props": {
"file": "README.html",
"line": 95
}
}
]
}
}
# Background
The two sample files in this case study have interesting histories of their own.
We scrape data from sites throughout the federation so that we can consult it later when searching for something of current interest.
We applied our Solo methodology to a pattern language describing the "Moldable Development" patterns.