Thanks for the advice SWilk .. that was pretty detailed and very very
useful!

I had a little hunt around on the net and found this page (http://
blog.code-purity.com/archives/2008/10/3/
compressed_prototype_scriptaculous/) which links to a 'minified' and
compressed (I think?) script containing both scriptaculous and
prototype, bringing them both down to an 88kb file, which is a huge
improvement. I had figured that this must be something someone
somewhere had done already!

I'm still concerned that it will include a lot of functions that we'll
never use, but at the same time, your point about maintenance is a
fair one.

Thanks again for the reply!


Matt

On Nov 28, 11:12 am, SWilk <[EMAIL PROTECTED]> wrote:
> Hi,
>
> Matt Winward wrote:
> > Hi all.
>
> > We've just started using Scriptaculous to allow the user to rearrange
> > their home page content panels. At the moment we have two unordered
> > lists (left and right) and the user can move panels around to suit
> > their preference.
>
> > This is working great and the only problem we have with it is that
> > scriptaculous.js + prototype.js + dragdrop.js + effects.js = 192kb.
> > That's after I stopped it from loading other js files like sound.js,
> > for example.
>
> Have you tried to consolidate all the files into one big file, then
> gzip it?
> This order works for me:
>   prototype.js
>   scriptaculous.js
>   builder.js
>   effects.js
>   controls.js
>   dragdrop.js
>   slider.js
>   sound.js
>   my-company-internal-script.js
>
> You can also use jsmin to minimize the output file and compress it
> with gzip.
> This would reduce the script download size to some tens of KB and also
> all the script is served with *one* single HTTP request instead of nine.
>
> For example, we have a total output script of 381327 bytes (it has
> much additional code in addition to prototype and scriptacoulous).
> After minification it weights 257390 bytes (67%).
> After compresion it is only 63135 bytes, so its only 16% of the
> original size.
>
> Now you have:
> allScripts-minified.js
> allScripts-minified.js.gz
>
> Then, take the name of the output file, both gzipped and minified and
> append the prototype, scriptacoulous and your own script versions, so
> when you change something in scripts, you have new name.
>
> allScripts-minified-proto-1.6.3-scripty-1.8.1-internal-r3410.js
> allScripts-minified-proto-1.6.3-scripty-1.8.1-internal-r3410.js.gz
>
> At the end, set your http server to set Expire: header to something in
> 2020 year, and serve the gziped file to clients who supports it (you
> can also gzip it on the fly with proper settings of server)
>
> Once your visitor downloaded the script, he/she will not have do it
> again until you changed versions, or until the cache is cleared.
>
> On the other hand, if your script have some bug, which needs to be
> corrected fast, you just need to generate new file and chage it's
> version, then change links in your website accrodingly. Each visitor
> now downloads new script and do not need to refresh the page to get
> corrected, bug-free scripts.
>
> All this without modification of scriptacoulous, so, when new version
> comes out, you just recreate the compilation and compress it, without
> complicated analysis what can be thrown out.
>
>
>
> > Seeing as all I'm using (literally) is Sortable.create(list,
> > properties) twice at the bottom of the page, and nothing else, there
> > must be loads that I can carve out of the js files? Ideally I was
> > hoping to be able to normalise them all into one efficient js file
> > that handles the Sortable business.
>
> I think modification of libraries requires to much maintenance to do
> it every time new version comes out. Better to optimize the download,
> which can and should be automated.
>
> Regards,
> SWilk
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Prototype & script.aculo.us" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/prototype-scriptaculous?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to