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 -~----------~----~----~----~------~----~------~--~---
