2008Q2 Grant Proposal - Module Installation Configuration Wizard

| 4 Comments
  • 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.

Name:
Michael G Schwern

Project Title:
Module Installation Configuration Wizard

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.

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?"

Deliverables

  • 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?
    • etc...
  • 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).

Project Details
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.

Project Schedule
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

Bio
I maintains ExtUtils::MakeMaker and am heavily involved with Module::Build. I work on usability issues in Perl.

Amount Requested
$1000

An additional $500 is requested to add a .makemakerrc to ExtUtils::MakeMaker.

4 Comments

Whoops, I sent in the WRONG PROPOSAL!

The right proposal can be found here.

I've been using Perl for years, and I still don't like installing modules that aren't packaged for my system. Something like this would make my life much easier!

I've been using Perl for years, and I still don't like installing modules that aren't packaged for my system. Something like this would make my life much easier!

Leave a comment

About this Entry

This page contains a single entry by Alberto Simões published on May 1, 2008 9:00 PM.

2008Q2 Grant Proposal - Automatic INSTALL generation was the previous entry in this blog.

2008Q2 Grant Proposal - Fixing Bugs in the Archive::Zip Perl Module is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.