Cameron Laird's personal notes on scripted documents
Introduction
Jean-Claude Wippler
invented
scripted
documents and deserves considerable credit
for pursuing them despite the initial indifference of others.
His paper
for the
year 2000
Tcl/Tk Conference is the best introduction: over 7000 words
of lucid, informed, and enthusiastic exposition. Among its
highlights:
... they make deployment fun!
Scripted documents rely on a simple mechanism ...
Scripted
documents retain the installation advantages of conventional
wrapping technologies, but also solve the nightmares
associated with configuration conflicts and upgrades, while
greatly simplifying multi-platform deployment for the
application vendor.
One of the paper's benefits is a compact comparison of
the range of
Tcl wrapping
methods. Moreover,
"compilers
are doomed".
Laird and Soraiz on scripted documents
We've mentioned scripted documents in
"Regular Expressions" three times:
Although the first of these is devoted exclusively to scripted
documents, it still leaves much unsaid. It's useful, for
example, to compare scripted documents not just with normal
scripts, compiled languages, and scripting compilers, but
also with
Java's .JAR-s.
While JAR-s have been around longer, they lack scripted
document's orientation to data persistence, so they generally
don't encapsulate the configurational data that is part of
an application. They certainly don't embed a fully-capable
data management engine. JAR-s also show no ambition to include
compiled extensions, in the sense this is generally
understood among scripters. In regard to the latter,
Jean-Claude so far has done an impressive job of
maintaining portability even with the complication of
compiled extensions; again, this is far beyond the uses
made of JAR-s. In summary, then, scripted documents
are like JAR-s in being portable and dependent on external
run-times, but differ from them in wrapping up more of
what a successful application truly needs.
[Explain transactional capabilities.]
[Explain compression.]
Our mention in this same article of "primitive transactional
capability built-in" intended "primitive" in the sense of
"low-level". In retrospect, it would have been better to
write of "fail-safe commit/rollback capability". MetaKit
itself has always been a very safe data manager, robust
against any power loss or user programming fault. Jean-Claude's
commitment to a complete transactional model for scripted
documents is evident in, for example, his notes on
New
MK Transaction Modes.
Miscellanea
This document will eventually include pointers to:
- the Wiki page;
- annotations of Jean-Claude Wippler's publications, including
his page on proximate
plans
for MetaKit (not to be confused with the strategy for
MetaKit II);
- many examples of usage;
- remarks on the prospects for scripted Python documents;
- a write-up of the configuration model for scripted
documents;
- explanation of benefits (compilation-free, installation-free, ...);
- pointer to Wikit as a showcase of scripted documenting
(including networking abilities);
- alternative presentations of scripted documents;
- a re-engineering of Microsoft's "HTML Help" system on a far more
portable
and light-weight basis;
- explanation of SEAL (standalone executable assembly line);
- a Tequila dump-to-text-and-reload utility I'll release when
sufficiently motivated;
- the
compiler-free
(more properly, compiler-concentrated) future scripted documents
promote;
- ...
Scripted documents currently require
TclKit.
While it's possible to imagine implementations in
Python,
Lua, or
other languages, I know of no projects likely to yield
these on a definite schedule.
Cameron
Laird's personal notes on scripted
documents/claird@phaseit.net