one thing that hasn't been given a great deal of consideration regarding
external modules is the problem of upgrading. If you upgrade a module
that's already installed, currently there's no way to know what components
make up the existing version of the module. That means the upgraded
version may not replace all existing components, leaving a certain amount
of potentially problem causing cruft.
A good example is when a module gets refactored from one file into
multiple files. It becomes an even bigger pain when you start to allow
nested modules, such as Public.Parser.XML2 and
Public.Parser.XML2.Schematron, for example. I imagine that there'd
need to be some sort of registry that described the files comprising the
module. In theory, it could be as simple as an array constant in the
module that lists all of the constituents, much as we currently include
the version and author for use by the Monger system.
It would be relatively simple to include this functionality in the 7.8
release of monger, if there wasn't any major objection to this.
Also, I haven't heard any objection to the idea of tagging modules in the
dist so that they can be downloaded separately. I assume that everyone
was at least neutral on the idea? I vaguely remember there being some sort
of build environment change recommended by Grubba or Mast... what was that
exactly?
Any thoughts, comments?
Bill