[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Proposal for LedgerSMB 1.5: Refactor and move some utility functionality to CPAN

On Thu, 23 May 2013 23:20:22 -0700
Chris Travers <..hidden..> wrote:
> After 1.4 is released I would like to start moving the following
> functionality to CPAN:
> 1.  Stored procedure call interface (call_procedure)
> 2.  Stored procedure-> object property mapping interface (exec_method)
> 3.  Moose wrappers around these, and
> 4.  User permissions discovery
> 5.  Helper modules (LedgerSMB::PGDate, LedgerSMB::PGNumber)

   And besides what you and Chris Bennet mentioned, there is also the
extensive automated module testing available via CPAN. Which could mean
that all of the above could get more testing in more varied environments
than perhaps we ourselves could provide.

> There are a number of reasons why I think that this would be a good
> idea:
> 1.  These are all potentially generally applicable pieces of code.
> They are potentially reusable well outside LedgerSMB, and they
> provide potential integration points for other applications.
> 2.  They may be of interest to other developers.  To the extent that
> they are, they represent a potential source of outreach for LedgerSMB

   As a possible for instance of those two points, one of the Perl
Modules I got into Debian specifically for LedgerSMB already has
installation stats half again as much as for LedgerSMB itself. 

> 2.  Any feedback on the general structure  of what I am proposing?

> Is this likely to cause significant packaging headaches?

   Not for Debian packages, I don't think... Packaging CPAN modules for
Debian is pretty straight forward and I would be taking care of that
once they're available there. (For which I would be using GIT
repositories, so let me be the first to suggest that the modules
themselves be maintained that way...<g>) And I would then take care of
getting them into Debian; with the further advantage of doing so as
part of a (Debian Perl) team which means that while I plan to do the
initial work of getting them in and I would continue to work to
maintain them, they wouldn't be dependent on just me for that
maintenance once they're available there.

  There will, of course, be issues with tracking which versions of the
modules are where and how that maps to which version of LedgerSMB
requires them but that's already something that needs to be kept an eye

>  Should we look at offering a LedgerSMB with these bundled?

   Except perhaps for test versions (where there might be version
issues?), I don't see that being necessary; once they're on CPAN,
they'll always be available at least that way like any other Perl
Module that LedgerSMB depends on.