Christoph Baudson (WhereGroup)
christoph.baudson at wheregroup.com
Thu May 31 04:44:54 EDT 2007
Yesterday I compressed 5 files which take up most of the bandwidth
totalling 131Kb of client side scripts.
Compressing with Shrinksafe resulted in a total of 66.5Kb, while JSMin
reduced the size to 74.2Kb.
Unfortunately, two issues arise with compression:
1) I encountered some evil eval code in Mapbender: there are register
functions that look like this
If we pack the files with Shrinksafe, the variable in the scope, where
the register function is evaluated
is no longer named "parameterName" but "_55". So JS throws an
exception like "unknown variable parameterName".
There are two possible solutions: use JSMin, or find a way to run
Shrinksafe in a way that variable names are not shortened. But then the
compression advantage of Shrinksafe compared to JSMin might vanish and
it might not make a difference which one to use.
2) Using JSMin, Firefox crashes randomly when the Firebug plugin is
enabled and "Net" is selected. I believe it is a Firebug bug. In IE
Mapbender loads without problems.
I propose we use JSMin for the upcoming release; but I would be happy to
discuss other solutions for the future.
But with about 57Kb we still have saved a considerable amount of
Christoph Baudson (WhereGroup) schrieb:
> thanks for your suggestion, Marc.
> I have checked the tool and the compression rates are better than JSMin's.
> While JSMin compressed my sample file (map.js, around 60K) to 70%,
> Shrinksafe made it to around 60%. I think I will try to compress the
> relevant files with both and want to see if there is a difference. If
> not, then Shrinksafe is definitely a good choice.
> I have also found a nice online interface at
> The next step would be to find an easy way of compressing all the
> relevant files in one go, preferably via Eclipse's "Export", as Uli
> suggested. How do we proceed? I have created a ticket at
> Marc Jansen schrieb:
>> Hi list,
>> have another suggestion as for the compression tool:
>> http://dojotoolkit.org/docs/shrinksafe (a nice article which shows how
>> to use the compression tool)
>> used within the dojotoolkit (www.dojotoolkit.org) for example. One can
>> download the file here:
>> -- Marc
>> Christoph Baudson (WhereGroup) schrieb:
>>> To enable Mapbender to load faster, the new release will employ
>>> There has been a lot of discussion about this in the past; I think
>>> packing the JS files with JSMin is the best idea:
>>> + the existing JS code must not stick to a given syntax
>>> + transparent (removes only linefeeds, whitespaces and comments)
>>> + no obfuscation
>>> 0 compared to real packers with still a good compression rate.
>>> Files that are already compressed with other packers (like jQuery)
>>> will of course not be re-compressed.
>>> Some more questions arise:
>>> 1) Where to store the compressed/uncompressed files in the file
>>> system. The default setting should be "compressed" IMHO. It should be
>>> easy to switch back and forth from uncompressed to compressed.
>>> 2) Which settings? Take a look at
>>> You can add comments. The compressed JS files will not have a license
>>> on top of the script, as comments are removed. Do we have to add a
>>> For compression settings, I chose "conservative" for my test run;
>>> Some scripts like jsTree.js don't use the ; to end statements, so a
>>> linefeed mustn't be removed.
>>> Any ideas?
>>> Mapbender_dev mailing list
>>> Mapbender_dev at lists.osgeo.org
>> Mapbender_dev mailing list
>> Mapbender_dev at lists.osgeo.org
> Mapbender_dev mailing list
> Mapbender_dev at lists.osgeo.org
More information about the Mapbender_dev