Re^2: The App:: namespace? Sharing a webapp on CPAN
by davebaker (Pilgrim) on May 09, 2008 at 16:16 UTC
|
An advantage to using CPAN for a Perl application distribution (as if it were a module) would be the way CPAN.org automatically enables a logged-in user to use the annotation feature for a module's POD, and the way it ties into CPAN RT bug tracking for the module.
And the Kobes CPAN search site provides other goodies: an easy link to the CPAN ratings system and the automatic creation of a discussion board at CPAN::Forum.
| [reply] [Watch: Dir/Any] |
|
Given that I tend to ignore these things for both apps and modules, I don't really follow the benefit. But, if others like it, that's cool.
The biggest problem I see is that CPAN is built for installing modules. There's a lot more to installing an application. Take a look at how Trac installs for what I consider to be the bare minimum. Applications, frankly, should be installed in a single click. You don't do that from CPAN.
Maybe someone should write a ports interface to CPAN.
My criteria for good software:
- Does it work?
- Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
| [reply] [Watch: Dir/Any] |
|
| [reply] [Watch: Dir/Any] |
Re^2: The App:: namespace? Sharing a webapp on CPAN
by skazat (Chaplain) on May 10, 2008 at 01:48 UTC
|
as I noted in my OP, a major major headache is how to deal with CPAN modules the app needs. If the webapp was on CPAN, I could just make a makefile or Build script that says, "Hey, these are required, so go and get 'em".
That's maybe 80% of my wanting on CPAN. As for the rest of the installation of the program, it could be as easy as a small perl script that moves the appropriate files, to the appropriate places (say into the public_html of the account you're installing into) and then a little message that says, "To finish the installation, visit $some_url in your web browser" and we're done .
The other large issue is the testing suite for the webapp is almost never used outside of myself.
There's some other interesting issues that I think CPAN will help out, many to do with diversification of Perl, etc, etc.
-justin simoni
skazat me
| [reply] [Watch: Dir/Any] |
|
If the webapp wasn't on CPAN, you could do the same thing. Or, you could just bundle the modules you need and, that way, you're guaranteeing the proper versions. Just because you require v1.34+ doesn't mean that 1.35 didn't break something you need.
As for everything else you're talking about, these things don't require CPAN. They are installation process issues. Don't worry about "diversification of Perl" issues. Forcing everyone to come to CPAN just to get your app means you're limiting your userbase to Perl users. I shouldn't be forced to care about what language you've implemented in. I only know what language Trac is implemented in because I had to patch it once. I don't know what language Jira, gVim, Firefox, or iTerm are written in ... and I don't care.
My criteria for good software:
- Does it work?
- Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
| [reply] [Watch: Dir/Any] |
|
If the webapp wasn't on CPAN, you could do the same thing. Or, you could just bundle the modules you need and, that way, you're guaranteeing the proper versions. Just because you require v1.34+ doesn't mean that 1.35 didn't break something you need.
This already happens with the webapp, as it has ver 1 of the CPAN module bundled. Sometimes, 1.1 ver of the CPAN module gets installed site wide and things blow up. I'm hoping this won't happen - or if it does, I'll know about it, at the same time as everyone else.
Forcing everyone to come to CPAN just to get your app means you're limiting your userbase to Perl users.
I'm not forcing anyone, it just another alternative, *specifically* for perl geeks, with a lot of benefits. Non-Perl geeks don't know how to use CPAN and that's the current userbase. I'd like to grow the userbase.
If you don't care, why are you expressing an opinion?
-justin simoni
skazat me
| [reply] [Watch: Dir/Any] |
|