From e16e9205d79450ca9b70f391ed02b0e939c600d3 Mon Sep 17 00:00:00 2001 From: Chris Cormack Date: Mon, 24 Aug 2009 20:49:11 +1200 Subject: [PATCH] Updating the Makefile so memcached configuration can be added to the koha-conf.xml file Signed-off-by: Galen Charlton --- Makefile.PL | 25 +++++++++++++++++++++++++ etc/koha-conf.xml | 2 ++ rewrite-config.PL | 3 ++- 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/Makefile.PL b/Makefile.PL index a3775f0ea5..e5c1e79bbd 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -413,6 +413,9 @@ my %config_defaults = ( 'PAZPAR2_PORT' => '11002', 'RUN_DATABASE_TESTS' => 'no', 'PATH_TO_ZEBRA' => '', + 'USE_MEMCACHED' => 'no', + 'MEMCACHED_SERVERS' => '127.0.0.1:11211', + 'MEMCACHED_NAMESPACE' => 'KOHA' ); # set some default configuration options based on OS @@ -449,6 +452,7 @@ my %valid_config_values = ( 'ZEBRA_MARC_FORMAT' => { 'marc21' => 1, 'unimarc' => 1 }, # FIXME should generate from contents of distributation 'ZEBRA_LANGUAGE' => { 'en' => 1, 'fr' => 1 }, # FIXME should generate from contents of distribution 'RUN_DATABASE_TESTS' => { 'yes' => 1, 'no' => 1 }, + 'USE_MEMCACHED' => { 'yes' => 1, 'no' => 1 }, ); # get settings from command-line @@ -577,6 +581,7 @@ WriteMakefile( 'MIME::Lite' => 3.00, 'MIME::QuotedPrint' => 3.07, 'Mail::Sendmail' => 0.79, + 'Memoize::Memcached' => 0.03, # optional 'Net::LDAP' => 0.33, # optional 'Net::LDAP::Filter' => 0.14, # optional 'Net::Z3950::ZOOM' => 1.16, @@ -1083,6 +1088,26 @@ PazPar2 port?); } } + $msg = q( +Use memcached and memoize to cache the results of some function calls? +This provides a signficant performance improvement. +You will need a Memcached server running.); + $msg .= _add_valid_values_disp('USE_MEMCACHED', $valid_values); + $config{'USE_MEMCACHED'} = _get_value('USE_MEMCACHED', $msg, $defaults->{'USE_MEMCACHED'}, $valid_values, $install_log_values); + if ($config{'USE_MEMCACHED'} eq 'yes'){ + $msg = q( +Since you've chosen to use caching, you must specify the memcached servers and the namespace to use: +); + $msg = q( +Memcached server address?); + $config{'MEMCACHED_SERVERS'} = _get_value('MEMCACHED_SERVERS', $msg, $defaults->{'MEMCACHED_SERVERS'}, $valid_values, $install_log_values); + + $msg = q( +Memcached namespace?); + $config{'MEMCACHED_NAMESPACE'} = _get_value('MEMCACHED_NAMESPACE', $msg, $defaults->{'MEMCACHED_NAMESPACE'}, $valid_values, $install_log_values); + } + + $msg = q( Would you like to run the database-dependent test suite?); diff --git a/etc/koha-conf.xml b/etc/koha-conf.xml index e627fc6af5..3feb98ec62 100644 --- a/etc/koha-conf.xml +++ b/etc/koha-conf.xml @@ -191,5 +191,7 @@ __PAZPAR2_TOGGLE_XML_POST__ http://__PAZPAR2_HOST__:__PAZPAR2_PORT__/search.pz2 __MISC_DIR__/koha-install-log 0 + __MEMCACHED_SERVERS__ + __MEMCACHED_NAMESPACE__ diff --git a/rewrite-config.PL b/rewrite-config.PL index 9caadf17fb..9009eb5786 100644 --- a/rewrite-config.PL +++ b/rewrite-config.PL @@ -137,6 +137,8 @@ $prefix = $ENV{'INSTALL_BASE'} || "/usr"; "__AUTH_INDEX_MODE__" => 'grs1', "__RUN_DATABASE_TESTS__" => 'no', "__PATH_TO_ZEBRA__" => "", + "__MEMCACHED_SERVERS__" => "", + "__MEMCACHED_NAMESPACE__" => "", ); # Override configuration from the environment @@ -192,4 +194,3 @@ Makefile.PL, ExtUtils::MakeMaker(3) MJ Ray mjr at phonecoop.coop =cut - -- 2.39.5