From: Peter F. <pet...@zv...> - 2001-07-19 09:05:40
|
Stev wrote: > I thought I'd get the ball rolling with some organisational suggestions and a > brief review of what we already have. > > My current feeling is that we should develop at least two packages in > addition to whatever installer applications are deemed useful. These would > be: > > ** package installerutils, Tcl installer utilities. > - This would include useful routines for installation scripts on various > platforms. If possible these should be abstracted away from platform > specifics. > Yes modularity will be important. We can always bundle it up (e.g via Tclkit) to make it simple to use. I am very keen to see abstraction given max priority. > - This package should define the configuration file language/data > structures. seems a reasonable way to start. some other possible components : - interface to the TEA build system - de/compression utils - comprehensive filesystem abstraction layer ? - especially determing available filespace, checking/setting access permissions, handling case-insensitive filesystems, handling mangled namespaces (like fat16) - filesystem recursers/crawlers, file search - file renaming (based patterns/regexps) - system level "config repository" abstraction layer ? (for Windows Registry/Ini files, Unix system config files etc) - user level "config repository" abstraction layer ? (Windows Registry, Unix ~/. files etc) - config file parsing tools & geneartion tools (maybe serialization tools that feed into a DOM driven update engine and then xslt files to generate the updated native file ?) - internationalisation support - beyond just UTF 8 capability. - some sort of key-variable management system that is aware of relationships/dependencies between themselves and propagates the changes through the dependancy chain. > > ** package installergui, Tk installer elements > - Provides a framework for a graphical installer with the standard GUI > elements like package selectors, directory selectors etc. > installer widgets ... check 8-). Possible including : - Window manager abstraction for Windoze/Mac Finder/CDE/KDE/Gnome/... for API to upate menus, icon bars etc, and maybe even drag & drop support !!! - progress bars and other processing feedback widgets (spinners et. al.) - help system framework for displaying documentation. - a widget for visually laying out the filesystem tree of installed components that is updated as parameters are input during installation process. - ??? also perhaps : ** package/file retrieval library - FTP/HTTP/WEBDAV/RSYNC/CVS? - probably some good packages already that just need to be bundled together with some glue to create the API - if such a beast doesnt already exist (Perl already has a good one) it can be an extension/package in its own right. > For installerutils there are already some useful routines available: > > ms_shell_setup by Earl Johnson. <url: http://www.erols.com/earl-johnson/> > provides an interface for manipulating file associations on windows. > > RegisterFileType by Kevin Kenny > similar to ms_shell_setup for creating associations only. > > progman.tcl by me <url: http://www.shlrc.mq.edu.au/~steve/tcl/> > adding start menu entries via dde on windows. > > tclish > defines a configuration file format and a collection of GUI elements based > on code from Effective Tcl including a configurable form displayer. Can > grab packages from local directories or archives or remote archives via > http. > > tclxml > some overlap with tclish, provides another configuration file format. Can > extract some configuration info from TEA config files. > > There are also some relevant packages that might be made use of in an > installer application: > > freewrap and/or prowrap - packaging up distributions or installers into > single file applications. > I'd prefer tclkit, but I know little about freewrap - probably need to discuss what features are needed. > > tlink32 - creates shortcuts on windows > > mkZiplib - a simple wrapper around the zip/unzip library, allows unpacking of > zip files from tcl. > cool. but perhaps it would be better to avoid binary components as much as possible to maximise portability. A TCL only unzipper is possible. Would it be viable ? - I dont know. > I'd welcome some discussion on this partitioning of packages. If there is > some agreement we should think about what should go into each and begin by > collecting together what we have and filling in the blanks. > not to forget tcllib hmm - Whats needed is a thorough survey of what TCL code is out there before inventing our new wheels ... Oh for "CTAN" 8-) -- Peter Farmer | Custom XML software | Internet Engineering Zveno Pty Ltd | Website XML Solutions | Training & Seminars http://www.zveno.com/ | Open Source Tools | - XML XSL Tcl Pet...@zv... +------------------------+--------------------- Ph. +61 8 92036380 | Mobile +61 417 906 851 | Fax +61 8 92036380 |