source ./astro-defaults
fi
As a sys admin, to me the installer should only install the bare
minimum needed to be functional, GT.M, and VistA itself, possibly as a
single package, (but preferably separate) as long as the upgrade paths
don't interfere with each other. Having OVID as a separate package,
well thats a tough call, since it's potentially so useful, and
separating it starts leaning into choice overload. A good admin, wont
have a problem figuring out what to install but people just getting to
know the software probably will.
EWD and M2Web are great pieces of software, and the people who want to
use them should be able to install them separately, not have them
install by default. Another benefit of the modular approach is that
the upgrade path for individual packages becomes more manageable, and
troubleshooting becomes easier.
source ./astro-defaults
fi
> Ahh the classic debates. Are you a lumper or a splitter?
>
> I have to say that Ignacio has done alot of thought about this and I
> think he has achieved the right balance.
>
> The simple reality is that no one installs GTM without either A.
> wanting a working version of VistA or
> B. Having some very specific other reason that has -nothing- to do
> with VistA.
That may be true, but I don't think that's a valid argument for lumping.
If anything, it's an argument for splitting -- there are two groups of
people, and the latter group may not want all of VistA installed just to
get GT.M! I think the point you're trying to make is that they wouldn't
use our installers since they have no interest in anything
VistA-related, but if we split instead of lump, the two groups could
collaborate on the common parts (GT.M).
We package GT.M independently of our OpenVista utilities, which are
independent of OpenVista. The EWD, M2Web, or OVID projects can build
packages for just EWD, M2Web, or OVID, then depend on the pre-existing
GT.M package. Even Astronaut, which installs all of the above, could be
made to do this. No more duplicated effort packaging GT.M when new
releases come out! And in the future, if FIS decides to ship an
official package, we could all just move over to that.
With some work on the WorldVista side, our OpenVista management
utilities could be used to install/manage WorldVista instances. Or
parallel tools specific to WorldVista could be written and packaged
that, again, depend on the same common components such as GT.M.
Our utilities depend on pre-existing packages on the system, such as
Apache and Munin. We don't have to worry about packaging that software,
keeping it up to date, or conflicts between our lumped version of
Apache/Munin and the Linux distro's version because we don't lump a
version in with our packages.
-- snip --
> So from the perspective of "VistA as a platform" (which btw should be
> the most important in this community, since it is -the- prerequisite
> for any kind of real success) lumping is the way to go.
>
> Lumping also has the benifit of placing versioning issues entirely in
> the hands of the developer (i.e. Ignacio or Medsphere) rather than the
> administrator.
What lumping does is place versioning issues entirely in the hands of
ONE developer. It does not allow for collaboration between packagers.
> For Ignacio, as long as his work at reconciling VistA components is a
> one man show, I see no justification for splitting anything out.
> Someone else wrote a ewd rpm -for astronaut- (I understand) and I
> think in that case it is worth keeping things split. But -only- in the
> context of someone stepping up to contribute in that fashion.
This is exactly *why* things should be split, so that people can focus
on packaging the parts they know, while being able to depend on others
for the parts they don't.
-- snip --
> Is that the "right" way to do it from the admins standpoint? No, but
> the "rules of Unix administration" are designed to allow multiple
> servers to run on one operating system. So for instance if two servers
> make use of perl or mysql, it is tremendously valuable to have those
> packages seperatley versioned. Then you can think across many
> applications regarding version dependancies. However, VistA servers
> are carrier-grade applications that have totally unique dependancies.
> When you run a VistA server, you are not thinking "oh this is one of
> my many MUMPS/EWD/OVID/M2web applications, I better make sure I am
> getting the version mix right" You are thinking "I want to use VistA,
> I want everything just to work and I do not want to think about
> versions"
>
> Lumping, one way or another, is the way to go for VistA.
Package dependencies sort out the versions for you, and well-built
packages and utilities will tolerate a range of compatible versions,
anyway. All of our packages have been independently upgrade-able since
the first alpha release.
The "version mix" is not an excuse to bundle everything together, and
there are benefits in splitting -- collaboration and reuse.
- Jon
On Sun, 2009-11-08 at 23:18 -0800, fred trotter wrote:Ahh the classic debates. Are you a lumper or a splitter? I have to say that Ignacio has done alot of thought about this and I think he has achieved the right balance.
-- --------------------------------------- Jim Self (http://www.vmth.ucdavis.edu/us/jaself) M2Web (enabling MUMPS-to-Web applications) ---------------------------------------
Making things easy to install is certainly an admirable goal, but you
don't have to put multiple pieces of software in a single package to
make them easy to install together. You can put each piece of software
in its own package, then string them together with dependencies. For
people who really do want to install everything, you can provide a
metapackage that doesn't really install anything, but depends on a bunch
of real packages[1]. For example, most Linux distros have a "gnome" or
"desktop" metapackage that depends on the basic Gnome applications,
Firefox, OpenOffice.org, etc. A simple apt-get or yum install gnome
installs all of it at once. (And this is what your graphical Linux
installer does under the hood.)
Easy to install != everything in one package.
- Jon
[1] Suggested name for such a package: "astronaut"