.mcv => .sar?

Avi Bryant avi at beta4.com
Tue Jul 29 18:33:17 UTC 2003


On Tue, 29 Jul 2003, Daniel Vainsencher wrote:

> One of the benefits of this approach, is that the SMInstallers could be
> told to work in batch mode - no questions asked. This is important in
> order to make package installation a smooth process. While I agree with
> the sentiment that things happening "silently" is not good, this should
> be a mode that is available, even if it isn't used for regular
> installations. A good example is the TestServer that needs to load
> packages in order to achieve a certain test configuration, and would be
> simpler if it didn't meet various dialogs.

When writing the UI code for Monticello, I was conscious that at some
point I would want to build a Seaside-based interface to much of the same
functionality that the Morphic interface now provides.  I was thus careful
not to embed any UI calls directly into the model code.

However, there are places where the model code needs to get an answer -
for example, when saving a version, it needs to know what name to give it.
Or when performing a merge, it may need conflict resolution.

What I did in these cases is to build Notification classes for each
question - MCVersionNameRequest, and so on.  These have a #defaultAction
that pops up a morphic UI to ask the user, but the test cases catch them
and answer them programmatically, and a web UI of course would present
some form to the user for each one.

I think this is more flexible than trying to provide an explicit batch
mode, morphic mode, etc.

> Specifically for this proposal, it is the installer that should make the
> decision (possibly querying the user), not the preamble code.

Which decision are you talking about?  There are two that I'm thinking it
will need to make.  One is to see whether MC is loaded, and to try to make
do without it if it's not.  The other is to decide which class would be
appropiate for parsing the code - whether to use a ChunkReader or a
SIFReader or whatever.  There's probably only going to be one right answer
to that.  I suppose you could make that part more declarative, by
simply providing a mime type and have the installer decide what to
actually do with it.  But that makes various kinds of bootstrapping
harder.



More information about the Squeak-dev mailing list