Highlights from today:
Ward unpacks some details of Federation Search and the choices which motivated the original set of scripts, and then how those scripts were adapted, annotated, and documented in the process of speeding up the federation search index updates so that federation search is timely and useful. In the process of speeding up the site content scraping and handling slow-start Glitch hosted wikis, new capabilities were added and things were learned about the federation, which have been written up in pages about search.
Bonus: how to create textual histograms from a json file of site records, using jq, sort, uniq, and perl, using the example of how many sites in Federation Search (the histogram weight dimension) are how many months old (the binning dimension).
Brian motivates a discussion of how to migrate assets when using the wiki's client-side access to the pages and related assets in wiki, related to his work with Marc.
Eric Dobbs demonstrates workflow for local plugin development, including how local copies are situated and referred to using 'npm', either hosted in Assets folders or in a literal local filesystem; template scripts for setting up a wiki with a variant plugin shown.
A particular plugin enhancement demonstrated by Eric is a protocol by which a frame can request the pages in the current wiki client's lineup. The pages contain a standard set of attributes, which can be conveniently worked with using Javascript's destructuring assignment from an object's named fields into corresponding local references, defaulting to empty values for optional fields. In this case, every "message" object must contain a named "action" which the message handler uses to dispatch to different blocks of handling code. Eric observes that the code for querying and assembling the current page lineup into a block of data was straightforward. Demonstrating the lineup request was a little more complicated, but was complete within an hour, including Eric's explanation of how the code worked and reflections of changes in how queries are referred to.
Now that there's a working prototype of the lineup query available to scripts using the Frame plugin, we can experiment with it and see if additional information would be useful for scripts which want to interact with the lineup, for example what the halo color is, and whether the page is remote or local, generated or rendered from server data, or from browser-local storage.
A discussion of how to run commands in a sandboxed way came out of reflecting on Eric's workflow. Are there ways of hosting FedWiki's server environment within the Javascript runtime of a browser, such that plugins can be swapped in and out and tested? Other versions of sandboxed or component environments were mentioned, including successors to Docker, notably Podman and Podman Toolbox.