|
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
|