It's excellent that Speedy provides the currently missing minification for D7.

However, in D6 there is the powerful Advagg module (http://drupal.org/project/advagg) that provides minification and many other features. A D7 version is in the works -- see #1171546: AdvAgg - D7 Port/Re-write.

What is the future of Speedy with relation to the (future) Advagg -- complementarity, partial duplication, collaboration?

Comments

mfer’s picture

Status: Active » Fixed

This is a very good question. I've spoken with mikeytown2 about his module and performance in general.

There are some definite differences between advagg (as a suite of modules) and this module AFAIK. Let me provide some detail. Some of these are philosophical.

  • I am not trying to minify my JS on the fly. There are performance/resource issues with that and I would prefer to provide minified files from a development environment into production. To start I'm only handling core JS files and trying to make it accessible to everyone (including those on low powered shared hosting).
  • I don't agree with all the implementations of advagg. For example, the current (as of this writing) minification setup causes GPL violations with custom JS code. He and I have spoken about this issue. There are other examples, like the CDN setup doesn't provide a fallback when the CDN isn't accessible (which happens). You can see the html 5 boilerplate for an example of how to do this or the jquery update module.
  • I want to use a better minifier in UglifyJS.

There are more reasons and I could go on and on. This is a different setup. In the future we may have some more convergences. We are both concerned with front end performance which is good.

vacilando’s picture

This makes sense. Thanks a lot for the clarification, @mfer!

mikeytown2’s picture

mfer’s picture

Don't forget to not strip out license agreements in files. License agreements are in files for a reason.

mikeytown2’s picture

Modifying the minification process like that is not the problem I'm trying to solve; and don't plan on doing it. Pointing to a file that contains the full source code and the full license is what I'm after. I would consider a minifier to be similar to a compiler; they strip out comments and make the code ready for production use. If you want to know the code and licensing details I've pointed you to where one can find it. My bikeshed is going to be painted brown, yours might be green, this is the magic of open source :)

mfer’s picture

@mikeytown2 I understand that. Some of use have to pay attention to things like license comments because to remove them would violate the GPL where is says "keep intact all the notices that refer to this License" (section 1 - under terms and conditions). To strip out license comment blocks on the fly for anything GPL based is distributing it while violating the terms and conditions of usage. Those of us who work for large companies have lawyers with enough experience making sure we dot i's and cross t's on these types of things.

For other license we run into similar issues. For example, in the MIT license it says "The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software." So, if all info about the license is removed it can very much violate the spirit of the license. I'm not in a place to do that and those minifying their code should at least be aware of it.

arthurf’s picture

I started http://drupal.org/node/1536810 in relation to #6

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.