Purpose: collect information about the [scripted document] called Kitten. ---- Someone (dgp?) recently on the wiki chatroom observed that the idea of kitten is to turn a tclkit/scripted document 2 file deployment into a 3 file deployment (unless of course you merge your application with either the kitten or tclkit scripted document). ---- What: kitten Where: http://www.equi4.com/pub/tk/examples/ Description: Kitten is a [tclkit] collection of Tcl/Tk extensions aimed at reducing the work a developer has to do while developing a scripted document. It contains script and compiled extensions like [tcllib], [BWidgets], [expat], [Expect], [incr Widgets], [mclistbox], [mpexpr], [narray], a tcl parser, an sgml parser, [tclSOAP], [stooop], [Supertext], [tdom], [Tix], [Tktable], [Trf], [tclXML], [tkHtml], [ClassyTk] and others. Binary extensions are compiled for Windows, Linux, and Solaris as possible. Updated: 12/2001 Contact: See web site. ---- To use kitten, download it from above. On unix, do a chmod +x kitten.bin or on Windows, create a file called kitten.bat with the line: @tclkitsh kitten.bin ---- When you execute the kitten file with no argument, you now get a wiki of help information explaining how to use kitten to gain access to any of these extensions. Kitten has four modes. The first is the help model - by executing the command, you get output similar to this: This is a collection of Tcl extensions, packaged as a single file. Usage: kitten.bin -l list available extensions (may vary per platform) kitten.bin -u update from http://www.equi4.com/tclkit/kitten.vfs/ To use these extensions, include the following lines in your script: package require scripdoc mk4vfs::mount /some/path/bin/kitten.bin /some/path/bin/kitten.bin -readonly scripdoc::extendPath /some/path/bin/kitten.bin Your own script does not need to be packaged as a "scripted document", but you must launch with TclKit (not wish or tclsh) to have access to the Mk4tcl and scripdoc packages required for this approach. You can make a copy of all extensions with the "sdx" utility, using: sdx sd2fs kitten.bin A "kitten.vfs/" directory will be created with all files unpacked. ---- If you execute kitten.bin -l, you will see output similar to this: [[Date: Wed Jul 3 10:41:21 EDT 2002 ]] ascenc 0.11 autoscroll 1.0 base64 2.2 blowfish 0.10 button 1.0 BWidget 1.3.0 calendar 0.1 cgi 1.6.1 cksum 1.0 Class 1.0 ClassyTk 1.0 cmdline 1.2 comm 4.0 control 0.1.1 counter 2.0 crc32 1.0 critcl 0.0 csv 0.3 dns 1.0 dyncall 0.11 exif 1.0 expat 1.1 + 2.0 Expect 5.31.5 Extral 2.0 fileutil 1.4 ftp 2.3.1 ftp::geturl 0.1 ftpd 1.1.1 gk 5.1 hexdump 0.10 HTML 1.0 html 1.2 HTML_Parse 1.0 htmlparse 0.2 ihash 0.11 Initial 0.1 irc 0.2 Iwidgets 3.0.1 log 1.0.1 lzrw1 0.10 math 1.2.1 math::calculus 0.3 math::fuzzy 0.1 math::geometry 1.0.1 mathf 0.11 mclistbox 1.02 md5 1.4.2 md5c 0.11 mime 1.3.2 Modify 0.1 Mpexpr 1.0 mvec 0.12 narray 0.81 ncgi 1.2.1 nntp 0.2 pop3 1.5.1 pop3d 1.0 pop3d::dbox 1.0 pop3d::udb 1.0 profiler 0.2 puretclparser 2.0 rchan 0.10 report 0.3 rpcvar 1.1 scratch 0.10 sgml 1.8 sgmlparser 1.0 sha1 1.0.2 smtp 1.3.2 smtpd 1.0 SOAP 1.6 SOAP::CGI 1.0 SOAP::http 1.0 SOAP::Service 0.4 SOAP::smtp 1.0 SOAP::Utils 1.0 SOAP::xpath 0.2 stooop 4.4 struct 1.2.1 sum 1.0 Supertext 1.0.1 switched 2.2 tcllib 1.2 tclparser 2.0 Tclx 8.4 tdom 0.6 textutil 0.5 textutil::expander 1.0.1 Tix 8.2 Tktable 2.7 Trf 2.1 uri 1.1 uri::urn 1.0 uuencode 1.0 Web 0.1 Widget 1.0 Wikit 0.1 Wikit::Format 0.2 Wikit::Gui 0.1 Wikit::Utils 1.0 xerces 2.0 xml 2.0 xml::c 2.0 xml::expat 2.0 xml::tcl 2.0 xml::tclparser 2.0 xmldefs 2.0 xmldep 1.0 XMLRPC 1.0 xpath 1.0 yencode 1.0 The ''-u'' option updates your executable to the latest in a central repository. It may or may not reflect the very latest version that exists for a particular extension. ---- Unsolicited response: this is stunning. ---- Anyone know anything written about creating this type of document? ''What's there to write? It is a [scripted document] with a lib/ directory full of packages, and some (still rough) logic to allow loading the appropriate shared libs according to platform. The central techniques are "sdx fs2sd" and "sd sd2fs". Or am I missing the point? -[jcw]'' It wasn't clear if kitten was a ''normal'' scripted document, or if there needed to be special code to set up a reusable set of extensions... ---- [Category Package] | [Category Scripted Document]