- Name: Michael G Schwern
- Project Title: Module Authoring Documentation
- Synopsis: Write a "wizard" to guide users through finding the correct arguments
for MakeMaker and Module::Build by asking them how they want modules
installed. Provide as a stand alone app, integrate into the CPAN
shell and as part of the MakeMaker and Module::Build installation.
Michael G Schwern
Module Installation Configuration Wizard
Write a "wizard" to guide users through finding the correct arguments for MakeMaker and Module::Build by asking them how they want modules installed. Provide as a stand alone app, integrate into the CPAN shell and as part of the MakeMaker and Module::Build installation.
Benefits to the Perl Community
Customizing how a module gets installed involves knowing a lot of magic flags and parameters. Worse, once you've configured MakeMaker you have to do it all again slightly differently for Module::Build. Yet there's just a handful of common module installation scenarios. A wizard to guide users through the process of deciding what they want to do and producing the right parameters to do it would make installing Perl modules much easier.
This would greatly ease the use of CPAN for casual Perl users, new Perl users and system administrators.
For most users, it will reduce the process to one question:
"Are you installing for yourself or the whole system?"
- Define a set of basic and common module installation questions
- Do you want to install into your home directory?
- Do you want to uninstall old versions of modules?
- Do you want to install HTML documentation?
- Any special C library and include directories?
- Write a wizard to guide the user through answering these questions.
- Write out the result as one or more of...
- Makefile.PL arguments
- Build.PL arguments
- .modulebuildrc file
- Alter the configuration process of a CPAN shell to use this wizard.
- Have Module::Build use the wizard to write a .modulebuildrc duing Module::Build's installation.
- [BONUS] Have MakeMaker use the wizard to write a .makemakerrc during MakeMaker installation. (note, there is no .makemakerrc).
This project is part of a larger effort to improve the "first 10 minutes" of a new user to CPAN. It aims to ask the user only what they know, and work out the Perl and CPAN specifics itself.
Writing the results to an rc file means a user can configure Module::Build and MakeMaker once, when they're installed or upgraded, and never have to worry about it again.
I work as an independent contractor and have cleared my schedule to put in at least 20 hours a week on grant work. I will be available to begin work on June 20th.
The project is very low risk and requires very little new technology. Module::Build, MakeMaker and CPAN.pm are all already very familiar to the author. Most of the work is in working out what to ask the user and how to probe.
- First alpha wizard release: One week
- First feature complete alpha: One week from first alpha
- First stable wizard release: Two weeks from complete alpha
- Integration with Module::Build: One week after stable wizard
- Integration with MakeMaker: One month after stable wizard
I maintains ExtUtils::MakeMaker and am heavily involved with Module::Build. I work on usability issues in Perl.
An additional $500 is requested to add a .makemakerrc to ExtUtils::MakeMaker.