[bt-devel] General development questions re installmgr

Martin Gruner bt-devel@crosswire.org
Tue, 3 Jul 2001 18:16:35 +0200


> Terribly frustrating, though.  I had 6 hours to work yesterday, and
> it took 4 hours to get to be 'functional' again.  I've set some of the
> cvs options in my $HOME/.cvsrc file (that Martin gives in a later
> email), but not all.  I will change to use all the suggested options
> and hopefully keep this problem from re-occuring.

Did you try cervisia (http://cervisia.sf.net)? It's so cool...

> Sure, would be glad to discuss it.  I was thinking about adding an icon
> to the optionsdialog list that would bring up a page to display a list
> of currently installed modules.  Also on this page would be a button
> "Configure Modules..." that would open the installmgr dialog.  This
> dialog would designed to be reusable (when used by an external
> stand-alone program as well).  This would be a modal dialog on top
> of a modal dialog... lots of other examples of this in KDE, but does
> this fit our look and feel?

What about creating an installmgr "widget" which could either be embedded in 
the optionsdialog (best way) or displayed stand-alone (commandline)?

> I'm thinking that the installmgr dialog should enable the user to select
> the module source from either a local directory (default /mnt/cdrom)

Just keep in mind that different distros have different locations. (e.g. 
/cdrom, /media/cdrom, ...)

> and/or an ftp site (default ftp.crosswire.org).  We could use ssh ftp
> (if /usr/bin/sftp is installed), or a regular ftp client (such as
> ncftpget).
>
> [Q: I have heard that some common TCP/IP socket support is built into
> QT/KDE.  Should I be using library calls for ftp access, or external
> utilities?]

There are special KDE classes for this. Joachim, can you give some hints? IMO 
KTar and the IOSlaves would be helpful. No need to use external stuff!

> I was also thinking that if a module is selected for install that requires
> a special font, that I should install it?  We should have at least two
> font types available for each module: TT and Type1 (as a backup if TT
> support is not installed)?  For these modules, I should set the initial
> font to the TT font, say at 12 point?
>
> [Q: Does a font installation need to be installed globally for X to be
> able to use it, or can a user install their own fonts in their $HOME?]

The installmgr will have to be run as root, and therefore they can be 
installed globally. But I'd recommend waiting with automatic font install. 
Let's start with the first steps and just handle sword modules in a nice way.

> I like the idea of determining if installmgr has root or not, and asks
> for either root passwd or use $HOME for install.  The only problem I can
> see with this is that some Unices have the /home partition set noexec
> (for security reasons), and we will not be able to run BT there.  (We
> could run a test program from $HOME and let the user know that the
> install there would be a waste of time?)
>
> [Q: Or were you all thinking that just the modules would be installed
> in $HOME?]

Well this idea isn't so bad. This way users could install bt and sword even 
if their admin won't install globally. But global should be the default.

> I certainly can do this as well, if this better fits the look and feel
> of the product.  I was thinking more of providing just a module list
> report under the options dialog with the real install/config work in
> another dialog. What do others think?

see above.

> BTW, my suggested code did work as advertised :-)... hopefully things
> will become easier with time (instead of rebuilding my development
> environment).
>
> [Q: What is the best situation to use signal/slot pairs, as opposed
> to modal fields (such as used by the general options page)?]

Sorry, what is a modal field?

Martin (who is glad you're starting over)