Stupid Questions

2003-05-30 Thread Hugh S. Myers
If I don't ask, who will?

1. How do I set up a CPAN bundle?

Pointers, tips, etc. welcome...thanks!

--hsm



Re: UDPM name space finalization

2003-05-30 Thread Smylers
Kevin C. Krinke writes:

 Ok I've decided on the following name space:
 
 Unix::Dialog- meta module
 Unix::Dialog::ASCII - native mode
 Unix::Dialog::Dialog- console (preferred)

Having Dialog twice doesn't really aid with working out what it is; I
don't immediately see what anybody gains from the second Dialog that
they wouldn't've worked out from the first.

Unix::Dialog::Console, perhaps?

 Unix::Dialog::Whiptail  - console

Whiptail means nothing to me, but if it's a console thing how about
Unix::Dialog::Console::Whiptail?  (Yes, that's a long name, but you do
seem to want to discourage people from using it.)

 Unix::Dialog::Zenity- GNOME (preferred)
 Unix::Dialog::GDialog   - GNOME
 Unix::Dialog::KDialog   - KDE
 Unix::Dialog::XDialog   - X

Again the repetition of Dialog doesn't seem to help things.  Removing
it from those last three would give:

  Unix::Dialog::X
  Unix::Dialog::G
  Unix::Dialog::K

If I saw those I'm not sure I'd guess what G and K stand for.  There
doesn't seem to be any reason for not using their full names:

  Unix::Dialog::Gnome
  Unix::Dialog::KDE

And then perhaps:

  Unix::Dialog::Gnome::Zenity

Smylers



Re: UDPM name space finalization

2003-05-30 Thread Kevin C. Krinke
Heh, it seems I've neglected to mention the significance of the
Unix::Dialog module. All the rest are the back-ends and lumping them
into X, Gnome, and KDE would not maintain the clean separation that I'm
now looking for.

This example should help to illustrate:

EXAMPLE
#!/usr/bin/perl
use Unix::Dialog;

#: auto-detect in order: Zenity, GDialog, XDialog
my $GNOME = new Unix::Dialog::GNOME (defaults=values);

#: auto-detect in order: KDialog, XDialog
my $KDE = new Unix::Dialog::KDE (defaults=values);

#: auto-detect in order: XDialog, Zenity, GDialog, KDialog
my $X = new Unix::Dialog::X (defaults=values);

#: auto-detect in order: Dialog, GDialog, Whiptail, Native ASCII
my $Console = new Unix::Dialog::Console (defaults=values);

#: auto-detect in order:
#:   if $ENV{DISPLAY} ... Zenity, GDialog, KDialog, XDialog
#:   else ... Dialog GDialog, Whiptail, Native ASCII
my $ASCII = new Unix::Dialog (defaults=values);
/EXAMPLE

The above classes are all included within the Unix/Dialog.pm so that
one module gives you access to all back-ends. Unix::Dialog will simply
return a new object of the appropriate sub-class. This way things like
ref($d) will report nice and clean strings like Unix::Dialog::Zenity and
all modules will have a method called what_am_i() that will return one
of the following as appropriate: GNOME, KDE, CONSOLE. When using any of
the Unix::Dialog meta module sub classes, the  new objects are
initialized in a compatibility mode where variant-specific functionality
is disabled (to a certain extent depending on the back-end).

On Thu, 2003-05-29 at 17:54, Smylers wrote:
 Kevin C. Krinke writes:
 
  Ok I've decided on the following name space:
  
  Unix::Dialog- meta module
  Unix::Dialog::ASCII - native mode
  Unix::Dialog::Dialog- console (preferred)
 
 Having Dialog twice doesn't really aid with working out what it is; I
 don't immediately see what anybody gains from the second Dialog that
 they wouldn't've worked out from the first.

Having dialog twice may not make sense at first glance but it is not
intended to be used directly unless you want to force a specific
dialog variant instead of using the Unix::Dialog meta module. If people
have strong feelings that Unix::Dialog::Dialog is way too bad, I could
compromise with Unix::Dialog::cDialog as that's what the project is now
called even though the binary is still just 'dialog'.

I've chosen this meta module hierarchy for the specific purpose of not
having overly long name space extensions and to avoid the necessity of
single letter abbreviations within the name space.

Or maybe I'm not headed in the right direction with this meta module
stuff and you all would like to have something like the following name
space hierarchy instead: 

Unix::Dialog - does nothing, simply POD
Unix::Dialog::Gnome  - auto zenity gdialog Xdialog
Unix::Dialog::Gnome::Zenity
Unix::Dialog::Gnome::GDialog
Unix::Dialog::KDE- auto kdialog, Xdialog
Unix::Dialog::KDE::KDialog
Unix::Dialog::X  - auto gnome, kde, X
Unix::Dialog::Console- auto dialog, gdialog, whiptail, ASCII
Unix::Dialog::Console::Dialog
Unix::Dialog::Console::Whiptail
Unix::Dialog::Console::ASCII

Thanks for your feedback, all is welcome and appreciated.

PS: For those not in the know; GDialog supports both GUI and Console
interfaces, thus making it a very versatile widget tool. Also Zenity is
the Gnome2 replacement for GDialog (which is gtk/gnome1).

PPS: Sorry for the lack of detail within the last email. I hope this
clears things up and shows that I've put more thought into things than
just the pathetic UDPM name/design.


-- 
Kevin C. Krinke [EMAIL PROTECTED]
Open Door Software Inc.