dflibg/js dataflow developer tools
dflibg/js dfirefly is a set of software developer tools (SDK) for
dataflow applications built using the dflibg/js Avallon library.
dfirefly SDK includes panels to inspect dataflow components, monitor datastreams, set dataflow breakpoints, audit and analyze the compiled application (dataflow lint, profile, etc.), map and visualize dataflow in the application, open the dataflow log/console.
Please see the Overview Video at https://youtu.be/qLko0-vj5ls or the Synopsis at https://youtu.be/vcEq3PwE418
dflibg/js-based dataflow applications are built around
- the nodes that generate and observe them, attach/source them to
document objects, servers, proxies, windows, datastores, etc.,
- the dataflow engines (modules) built from them, [including dynamic
server and re-usable dataflow library modules,
CBF/controller modules (CodeBehindForm) for models, ... ]
- datastores to which datastreams may be sourced and sinked passively
- instantiable models - from which a document or sections of it may be
composed. models integrate -
document section prototypes (templates),
initiator dataflow engines to initialize the an instance
when attaching one to the DOM,
CBF/controller module for those model instances,
private datastore per model instance and a
separate datastore shared by all instances of that model.
dfirefly FEATURES : EXAMINE/INSPECT
dfirefly - examine/inspect: has 4 sub-panels:
- examine - inspects modules, nodes, their datastreams and dataflows.
- packages - inspects models/model instances, datastores and views.
- connections - document/datastore links with the dataflow engines (DFEs) -
that is, elements and datastore datastream sources flowing into DFEs,
and the elements and datastores to which datastreams are attached.
- communications - inspects streams and dialogues:
clients - datastreams directed to a module, thread, window;
streams - conduits for datastreams negotiated between between modules,
windows, and between an application and an extension;
proxies - nodes whose promise is a stand-in for a remote server, a promise
for a dialogue with another module, application, etc.
dfirefly FEATURES: MONITORING and
DATAFLOW BREAKPOINT DEBUGGING
dfirefly - watch:
monitor individual datastreams -
browse the dataflow graph/tree and select individual
datastreams to watch live.
dfirefly - debug:
browse and set dataflow breakpoints in the application;
step through and over dataflow propagations;
examine state of all components in the dataflow event thread.
dfirefly - console:
although the console can not yet poke at and modify dataflow,
it does include a dataflow log 'drawer' (that can be opened
in any panel). the dataflow log shows compilation messages,
warnings and errors from the library.
dfirefly FEATURES: AUDIT and ANALYSIS
dfirefly - audit:
create and examine dataflow lint reports for individual
modules and the application.
generate an unresolved references report.
dfirefly - analyze:
visualize dataflow - generate dataflow graphs showing how
data flows through the application - from where it originates
through to how it effects document elements, datastores, and
more; selectively show data sources, sinks, inheritance, etc.
map dataflow - generate a dataflow cluster analysis and a
DOT language representation of the dataflow graphs.
profile - (preliminary) -
generate a module-relative computational cost analysis.
DOCUMENTATION and SUPPORT
Additional overview information is available
in the Getting Started section of www.dflibg.org/web/production/dfirefly_download.html,
directly in the extension (the Welcome pages) or by
opening www.dflibg.org/sdkfirefly.html demonstation page
This shows dfirefly's panels / overview documentation / panel detail nodes, etc., but without any content (since it is not connected as an extension to a web page).
Check out the overview menu item in the debug panel as an introduction as to what is possible with a dataflow breakpoint debugger (including a semi-live example). Further information is available about dflibg/js and its dfirefly SDK at www.dflibg.org
This extension does not use, save or transmit any user data in any form. Please see the Privacy link
on the Welcome page of the extension (or on www.dflibg.org/sdkfirefly.html (the front-end demo)).
REVIEWERS NOTES and LEARNING MORE
The following examples use the dflbg/js Avallon library -
and will activate page-action for the dfirefly SDK extension.
In addition, the dfirefly SDK is itself a dflibg/js Avallon-based dataflow application! Hence -
to Explore more about dflibg/js dataflow applications, models, modules, datastores,
etc., you may also run the extension on its own front-end -
- install the extension
- open www.dflibg.org/dkfirefly.html.
The dfirefly page-action icon will appear.
- click on that icon, explore and see a demonstration of the SDK live.
If the browser asks for you to enable data access for the extension,
enable it for the url or domain of the page you are currently using the SDK
to analyse or debug.
Please note, this is a BETA release of dflibg/js dfirefly developer tools.
While the Dataflow Console Log (drawer) may be opened at any time, the
console tool is but the preliminary GUI design - it can not poke and prod
the library in the connected tab.