[Koha-patches] [PATCH] Finishing off StripWhiteSpace tool, you can now switch this on (off by default) to remove whitespace from the outputted html

Joe Atzberger joe.atzberger at liblime.com
Tue Mar 31 20:58:24 CEST 2009


This all seems like a bad way to implement whatever bandwidth and
client-side storage savings you will get from whitespace-stripping.  Koha
really shouldn't be in the business of trying to reinvent mod_deflate, gzip
compression or minify.  Notably, those guys all:

   - take affect outside the application, and therefore
   - don't involve a regular expression being compiled and parsing through
   the entirety of script output every page load, and
   - they do a cleaner job of what FilterWhiteSpace is trying to do,
   - with better performance,
   - and bring their considerably higher-order features as well.
   - Oh, and no extra syspref.

I understand the motivation for minifying Koha output, and I agree with that
idea rather strongly, but I think we should be using existing tools and
Apache features unless they prove unsatisfactory.

--Joe


On Mon, Mar 30, 2009 at 10:29 PM, Chris Cormack <chris at bigballofwax.co.nz>wrote:

> ---
>  C4/Output.pm                                   |    7 ++++---
>  installer/data/mysql/en/mandatory/sysprefs.sql |    1 +
>  installer/data/mysql/updatedatabase.pl         |    7 +++++++
>  kohaversion.pl                                 |    2 +-
>  4 files changed, 13 insertions(+), 4 deletions(-)
>
> diff --git a/C4/Output.pm b/C4/Output.pm
> index 443383c..f800ef4 100644
> --- a/C4/Output.pm
> +++ b/C4/Output.pm
> @@ -366,10 +366,10 @@ sub output_html_with_http_headers ($$$;$) {
>     my $html = shift;
>
>     # strip new lines or whitespace
> -    if (C4::Context->preference('FilterWhiteSpace') eq 'stripwhitespace'){
> +    if (C4::Context->preference('StripWhiteSpace') eq 'stripwhitespace'){
>        $html = remove_white_space($html);
>     }
> -    elsif (C4::Context->preference('FilterWhiteSpace') eq
> 'stripnewlines'){
> +    elsif (C4::Context->preference('StripWhiteSpace') eq 'stripnewlines'){
>        $html = remove_newline($html);
>     }
>
> @@ -401,7 +401,8 @@ sub is_ajax () {
>  }
>
>  sub remove_white_space {
> -    $_[0] =~ s/^\s+$//mgo;
> +    $_[0] =~ s/^\s*$//mgo;
> +    $_[0] =~ s/^\n//mg;
>     return $_[0];
>  }
>
> diff --git a/installer/data/mysql/en/mandatory/sysprefs.sql
> b/installer/data/mysql/en/mandatory/sysprefs.sql
> index ef70ba6..8ef5f09 100644
> --- a/installer/data/mysql/en/mandatory/sysprefs.sql
> +++ b/installer/data/mysql/en/mandatory/sysprefs.sql
> @@ -229,3 +229,4 @@ INSERT INTO systempreferences
> (variable,value,explanation,options,type) VALUES (
>  INSERT INTO systempreferences (variable,value,explanation,options,type)
> VALUES ('SyndeticsCoverImageSize', 'MC', 'Choose the size of the Syndetics
> Cover Image to display on the OPAC detail page, MC is Medium, LC is
> Large','MC|LC','Choice');
>  INSERT INTO systempreferences (variable,value,explanation,options,type)
> VALUES ('OPACAmazonCoverImages', '0', 'Display cover images on OPAC from
> Amazon Web Services','','YesNo');
>  INSERT INTO systempreferences (variable,value,explanation,options,type)
> VALUES ('AmazonCoverImages', '0', 'Display Cover Images in Staff Client from
> Amazon Web Services','','YesNo');
> +INSERT INTO systempreferences (variable,value,explanation,options,type)
> VALUES ('StripWhiteSpace', 'off',  'Choose what filterin you want for html
> output stripnewlines removes all newlines,  stripwhitespace whitespace and
> blank lines, and off does nothing',
> 'off|stripnewlines|stripwhitespace','Choice');
> \ No newline at end of file
> diff --git a/installer/data/mysql/updatedatabase.pl
> b/installer/data/mysql/updatedatabase.pl
> index 7e161b5..c4243d5 100755
> --- a/installer/data/mysql/updatedatabase.pl
> +++ b/installer/data/mysql/updatedatabase.pl
> @@ -2272,6 +2272,13 @@ if (C4::Context->preference("Version") <
> TransformToNum($DBversion)) {
>     SetVersion ($DBversion);
>  }
>
> +$DBversion = '3.01.00.016';
> +if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
> +    $dbh->do("INSERT INTO systempreferences
> (variable,value,explanation,options,type) VALUES ('StripWhiteSpace', 'off',
>  'Choose what filtering you want for html output stripnewlines removes all
> newlines, stripwhitespace whitespace and blank lines, and off does
> nothing','off|stripnewlines|stripwhitespace','Choice')");
> +    print "Upgrade to $DBversion done (added Strip White space
> filters)\n";
> +    SetVersion ($DBversion);
> +}
> +
>  =item DropAllForeignKeys($table)
>
>   Drop all foreign keys of the table $table
> diff --git a/kohaversion.pl b/kohaversion.pl
> index a0c6437..fc73c47 100644
> --- a/kohaversion.pl
> +++ b/kohaversion.pl
> @@ -10,7 +10,7 @@
>  use strict;
>
>  sub kohaversion {
> -    our $VERSION = '3.01.00.015';
> +    our $VERSION = '3.01.00.016';
>     # version needs to be set this way
>     # so that it can be picked up by Makefile.PL
>     # during install
> --
> 1.5.6.3
>
> _______________________________________________
> Koha-patches mailing list
> Koha-patches at lists.koha.org
> http://lists.koha.org/mailman/listinfo/koha-patches
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/koha-patches/attachments/20090331/7724ce3f/attachment-0002.htm>


More information about the Koha-patches mailing list