Re: “Packaging”

On Fri, 2023-11-10 at 17:12 +0000, Christian Grün wrote:
> 
> Hi Norm,
> 
> I think I agree with all your observations: It feels essential to
> have a unified packaging mechanism; both implementors, contributors
> and developers would benefit a lot from it.

The main thing i want from a packaging mechanism, and that needs to be
incorporated into the planning early on, is automatic installation.

This was a LARGE part of the success of Perl, and of TeX, in their
respective successful periods, and it's helped Python and node and Rust
and other languages.

Automatic installation needs to include
* automatic dependency installation, optionally interactively
* automatic package updates
* easy deployment of software that uses packages

One way to do this is to have a package that provides a way to install
packages. This is e.g. how Perl does it, with the CPAN module.

It's not clear to me we need a single centralized repository - there
could be a list, for example. Or packages could be downloaded from
gitlab or github.

Being able to install packages system-wide and on a per-user basis is a
plus, but i think these days very minor. Per-user is sufficient.

Hence, when Christian writes,

> • have a central repository for downloading modules with a given path

i agree that's paramount.

> and
> • address these modules with the existing XQuery “import module
> namespace 'xyz';” statement.
> • If an implementation exists for the URI in the processor, or if the
> module has already been downloaded, the repository access can be
> skipped.

Optionally ;) as you might want to install a version with more features
than the processor-provided one.

Seems to me it should work for
* standalone XPath files
* XQuery
* XSLT
* maybe also XML catalogue files and dtd/schema collections
* ancilliary files (e.g. an XSLT transformation might also use some CSS
and JavaScript files as part of the output, and these need to be
installed where the stylesheet can find them)

For Linux systems (especially servers) the XDG spec is relevant in
terms of where to put things; the location is determined by an
environment variable.

liam


-- 
Liam Quin, https://www.delightfulcomputing.com/
Available for XML/Document/Information Architecture/XSLT/
XSL/XQuery/Web/Text Processing/A11Y training, work & consulting.
Barefoot Web-slave, antique illustrations:  http://www.fromoldbooks.org

Received on Saturday, 11 November 2023 09:05:42 UTC