[horde] Google Closure Compiler

Jan Schneider jan at horde.org
Mon Feb 22 22:05:06 UTC 2016


Zitat von Arjen de Korte <arjen+horde at de-korte.org>:

> Citeren Jan Schneider <jan at horde.org>:
>
>> Zitat von Arjen de Korte <arjen+horde at de-korte.org>:
>>
>>> Citeren Jan Schneider <jan at horde.org>:
>>>
>>>> Zitat von Arjen de Korte <arjen+horde at de-korte.org>:
>>>>
>>>>> Citeren Jan Schneider <jan at horde.org>:
>>>>>
>>>>>> Zitat von Arjen de Korte <arjen+horde at de-korte.org>:
>>>>>>
>>>>>>> I'm trying to use the Google Closure Compiler for Javascript  
>>>>>>> Caching. This doesn't seem to work, as in the /static  
>>>>>>> directories *.js files show up with the following content:
>>>>>>>
>>>>>>> //# sourceMappingURL=/horde/static/bf3d64e5bc07fd51.js.map
>>>>>>> // @source: https://example.org/horde/js/hordecore.js
>>>>>>> // @source: https://example.org/horde/js/keynavlist.js
>>>>>>> // @source: https://example.org/horde/js/scriptaculous/effects.js
>>>>>>> // @source: https://example.org/horde/js/autocomplete.js
>>>>>>> // @source: https://example.org/horde/js/liquidmetal.js
>>>>>>> // @source: https://example.org/horde/js/prettyautocomplete.js
>>>>>>> // @source: https://example.org/horde/js/imple.js
>>>>>>> // @source: https://example.org/horde/js/map/map.js
>>>>>>> // @source: https://example.org/horde/js/popup.js
>>>>>>> // @source: https://example.org/horde/js/date/nl-NL.js
>>>>>>> // @source: https://example.org/horde/js/date/date.js
>>>>>>> // @source: https://example.org/horde/js/topbar.js
>>>>>>> // @source: https://example.org/horde/kronolith/js/dragdrop2.js
>>>>>>> // @source: https://example.org/horde/js/redbox.js
>>>>>>> // @source: https://example.org/horde/js/tooltips.js
>>>>>>> // @source: https://example.org/horde/js/colorpicker.js
>>>>>>> // @source: https://example.org/horde/kronolith/js/kronolith.js
>>>>>>> // @source: https://example.org/horde/js/calendar.js
>>>>>>> // @source: https://example.org/horde/js/sidebar.js
>>>>>>> // @source: https://example.org/horde/js/growler.js
>>>>>>> // @source: https://example.org/horde/js/scriptaculous/sound.js
>>>>>>> // @source: https://example.org/horde/js/form_ghost.js
>>>>>>>
>>>>>>> This doesn't look right. Relevant versions of Java & PHP
>>>>>>>
>>>>>>> # java -version
>>>>>>> openjdk version "1.8.0_72"
>>>>>>> OpenJDK Runtime Environment (build 1.8.0_72-b15)
>>>>>>> OpenJDK 64-Bit Server VM (build 25.72-b15, mixed mode)
>>>>>>>
>>>>>>> # php --version
>>>>>>> PHP 5.5.14 (cli)
>>>>>>> Copyright (c) 1997-2014 The PHP Group
>>>>>>> Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
>>>>>>> with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend  
>>>>>>> Technologies
>>>>>>>
>>>>>>> What am I missing here?
>>>>>>
>>>>>> http://github.com/horde/horde/commit/654cd04d433dada267386fd06c1a254621a74ee2
>>>>>
>>>>> The contents of the *.js files look a bit better. However, the  
>>>>> compressed JavaScript doesn't work anymore (at least not for the  
>>>>> login screen). Not even with --compilation_level  
>>>>> WHITESPACE_ONLY. It doesn't look like a caching issue, I tried  
>>>>> with Chrome, Firefox and Konquerer and neither of them were able  
>>>>> to use it.
>>>>
>>>> Works fine here. Do you get any errors in the browser console,  
>>>> that you don't get with compression disabled?
>>>>
>>> I get the following in the Firebug console (login.php):
>>>
>>> TypeError: Element.addMethods is not a function
>>>
>>>
>>> Element.addMethods({setText:function(a,b){var  
>>> d=0;$A(a.childNodes).each(function...
>>>
>>>
>>> f872153...3d71.js (line 5, col 1)
>>> TypeError: HordeLogin is undefined
>>>
>>>
>>> HordeLogin.submit=HordeLogin.submit.wrap(function(a){var  
>>> b=$("imp_server_key");b...
>>>
>>>
>>> c7c2ba3...d8f1.js (line 5, col 1)
>>> TypeError: HordeLogin is undefined
>>>
>>>
>>> HordeLogin.user_error="Geef een geldige gebruikersnaam,  
>>> a.u.b.";HordeLogin.pass_...
>>>
>>>
>>> login.p...eason=4 (line 111, col 1)
>>
>> There must be at least two cached js files. These error should come  
>> from the 2nd file, the 1st actually contains Element.addMethods and  
>> HordeLogin from prototype.js and horde.js. If the 2nd file cannot  
>> find these, then either the 1st file is missing, empty, or doesn't  
>> parse. The latter should get you an earlier error message in the  
>> logs.
>
> There are indeed two cached .js files (and two .js.map files). If  
> you want to take a look, I've made them available for download from  
> https://de-korte.org/~arjen/closure.tar.gz

For some reason the files are added in the incorrect order to the  
cache file. The larger file contains horde.js and prototype.js in that  
order. It has to be reverse.

-- 
Jan Schneider
The Horde Project
http://www.horde.org/



More information about the horde mailing list