http://qs1969.pair.com?node_id=685685


in reply to The App:: namespace? Sharing a webapp on CPAN

What do you intend to gain with delivering a complete application? Either it's useful in a broader context (like trac) and should be managed as such or it's useful only in its parts, in which case it should be managed as such.

My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?

Replies are listed 'Best First'.
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.

      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:
      1. Does it work?
      2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?

      And don't forget the automated quality assurance of your application's test-suite being run on multiple perl versions and machine architectures by the CPAN Testers.

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

      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:
      1. Does it work?
      2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?

        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