As I've started trying to become more involved in the Perl community (starting a local PM group, contributing to win32.perl.org, offering a yapc bid, volunteering), I have been considering putting a module on CPAN. I have some reading up to do in order to prepare a module to be worthy of CPAN, but I'm up for it.
At my previous job, I maintained an IIS server for 400+ web accounts and users. The "old" way of creating new accounts was to manually:
I had to do a lot of researching to figure out how to create a 'new website' on IIS in Perl (not just a virtual site). There wasn't much out there (or I wasn't using the right search terms).
I've been in a different job for almost a year now, but out of curiosity, I did a quick search on CPAN for anything relating to IIS and found only ONE IIS admin module. I'll probably do some work this week and see what happens.
If anyone has any advice, comments, or recommendations to offer, please do so. I appreciate any feedback.
On the technical side of writing a module, Sam Tregar's book "Writing Perl Modules for CPAN" is pretty good on the topic. It's slightly dated (Module::Build has come a long way), but really gives a great step-by-step view of the process. It makes it seem really easy.
On the design side of things, I really encourage you to playtest your API. Write sample code that would use your module. (Test are good for that, hint, hint.)
Also, the XP practice of YAGNI (You Ain't Gonna Need It) is a good one to think about at first. Write something simple that works well for the common cases before trying to write something that supports all the options and bells and whistles. Obviously, there's a natural tension between this suggestion and the previous one -- that's the design space that you'll be exploring.
Best of luck!
Re:Writing Perl Modules for CPAN
jfluhmann on 2006-08-11T20:47:59
Thanks, David! I'm going through some of the testing now. When I initially wrote parts of it (for work), it was pretty specific to my situation, no tests, and documentation was a crap shoot. I've recently (about a month ago) picked up Ian and chromatic's 'Perl Testing: A Developer's Notebook'. I've started incorporating testing into my new code and hope that it becomes second nature in the near future.
Also, since this will be my first CPAN submission, it will definitely follow the practice of YAGNI. It will be fairly basic. I have to get my feet wet before I jump in
;-)