[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Debconf vs. graphical installer



Hi,

On Wed, Jul 30, 2003 at 06:21:37PM +0200, Giuseppe Sacco wrote:

> Il mer, 2003-07-30 alle 17:47, Emile van Bergen ha scritto:
> ...
> > These are still sufficiently abstract for use on character terminals as
> > well as frame buffers, but allow you to build higher level widgets
> > (partition selectors) independently from the rendering backend.
> 
> This is the point: I think that different rendering backend may be VERY
> different and act VERY different. Otherwise you are back at the almost
> ask/answer machine (cdebconf),
> 
> If you give low level functions available to d-i submodules than the
> complete UI should be managed in the (let's say) "partition" submodule,
> while the point is to let the partition submodule abstract from the UI
> and act like this
> 
> if (load(guimodule))
>    guimodule.doall(mycallbacks)
> else
>    cdebconf fallback
> 
> I like this idea but I am very new to the installer, so take it as a
> hint.

I really hate this idea, as it creates a programmatic interface (the
'mycallbacks') that must be known both in the partition module and the
guimodule. Both do parts of the work, and are only useful in one
context. They must be kept exactly in sync.

All callbacks are ugly in general [0], because A (the caller) needs very
specific knowledge (at the individual function level) about B, and B
also needs such knowledge about A.

A and B quickly become so intertwined that arguably the modularization
is useless, because whenever A evolves, you'll have to update B as well.
Putting callbacks in an interface that's still evolving will create
spaghetti in no time.

Whether you put a narrow interface at a very high level (installer
steps) or at a low level (individual widgets) can be debated, but
putting it in the middle with callbacks all over the place should be out
of the question.

It'll become much more of a maintenance nightmare than boot-floppies.

Cheers,


Emile.

[0] All generalizations are false, including this one -- Mark Twain.

-- 
E-Advies - Emile van Bergen           emile@e-advies.nl      
tel. +31 (0)70 3906153           http://www.e-advies.nl    

Attachment: pgpoDiFYK18H8.pgp
Description: PGP signature


Reply to: