[Patches] [PATCH] Bug 7359 - Begin migration to a new "Koha" namespace from the old "C4" namespace

koha-patchbot at kohaaloha.com koha-patchbot at kohaaloha.com
Sat Dec 31 15:05:02 NZDT 2011


From: Chris Nighswonger <cnighswonger at foundations.edu>
Date: Wed, 14 Dec 2011 14:22:48 -0500
Subject: [PATCH] Bug 7359 - Begin migration to a new "Koha" namespace from the old "C4" namespace
Content-Type: text/plain; charset="UTF-8"

The Koha namespace is for Perl modules that meet the following mandatory
conditions:

* use "strict" and "warning" pragmata
* include valid POD
* include complete and functioning documented test cases
* not create circular dependencies
* use Object Oriented (OO) style everywhere possible
* minimize exports
* maintain mod_perl, etc. compatibility
* separate data access methods from business logic

Modules in C4 can use (and are encouraged to use) routines in
the Koha namespace.  Modules in Koha should not in general use C4
modules; any C4 module that is safe to be depended on by a Koha
module is a candidate for being renamed to Koha.

The advantage of carving out a new namespace is that it doesn't
require that we refactor the entirety of C4 to support persistance or
to untangle the dependency tree.  Instead, the only C4 code we would
have to reimplement for the Koha namespace right away would be
authentication, basic session management, and basic output.

(Gratuitous use made of gmcharlt's recommendations found in the
post mentioned below.)

Related info:

http://lists.koha-community.org/pipermail/koha-devel/2011-March/035302.html
http://wiki.koha-community.org/wiki/Namespace_QA_Rules

Signed-off-by: Jared Camins-Esakov <jcamins at cpbibliography.com>
---
 Makefile.PL |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/Makefile.PL b/Makefile.PL
index 074ff55..acdeac1 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -266,6 +266,7 @@ my $target_map = {
   './installer-CPAN.pl'         => 'NONE',
   './installer'                 => 'INTRANET_CGI_DIR',
   './errors'                    => {target => 'INTRANET_CGI_DIR'},
+  './Koha'                      => 'PERL_MODULE_DIR',
   './koha-tmpl/intranet-tmpl'   => {target => 'INTRANET_TMPL_DIR', trimdir => -1},
   './koha-tmpl/opac-tmpl'       => {target => 'OPAC_TMPL_DIR', trimdir => -1},
   './kohaversion.pl'            => 'INTRANET_CGI_DIR', 
-- 
1.7.2.5


More information about the Patches mailing list