Rob Gonda's Blog

flash player 9

Can anyone tell me how this happened? I was looking through my stats today and I realized that the top keyword for my blog is 'flash player 9', and it so happens that if you search that in Yahoo, my Blog is #4. Go figure...

SVNServe Vs Apache

SVN, short for Subversion, is a source control system similar to CSV, but IMHO better. Anyways, it is extremely simple to install the server, for Windows or Linux servers. SVN will take care of versioning, but if you need to serve it over IP you must use an additional tool, SVNServe and Apache being the two main (only?) choices.

If you have to choose one, here are a few points to take into consideration.

  • Both work with Windows and Linux
  • SVNServe for Windows allows to serve a single repository; SVNServe for Linux allows unlimited
  • Apache allows to serve unlimited repositories in both OS.
  • svn1clicks allows to fully install SVN + SVNServe in Windows
  • SVNServe runs on port 3690, Apache runs on port 80
  • Apache allows to run encrypted SVN over HTTPS -- port 443
  • Apache allows to authenticate against an htpassword file, ldap, or other methods. SVNServe uses a clear text passwd file.
  • SVNServe and Apache allow per repository authentication, including None, R, or RW. Apache allows per folder access restrictions too.
  • Apache requires to restart/reload configuration everytime a change is made. SVNServe picks it up automatically.
Those are the main points I can think of right now, there may be more, so please share your personal experience.

I have two setups at the moment, one running SVN+SVNServe for Linux, and the other is SVN+Apache in a Windows box. In fact, this box is running IIS6 and Apache with no conflicts, which you can accomplish by either having multiple IPs, or assigning a special port for Apache.

My client tools are TortoiseSVN and SubEclipse. I tried SVN Ant a couple of times, but I gave up... running SVN in the command line with Ant.

Yet Another ColdFusion Ajax Library

Brian pointed me today to mxAjax, yet another ColdFusion Ajax Library. After over a year of hiding in the dark, Arjun, the creator of CFAjax decided to discontinue that framework and start  a new project. "It is inspired from CFAjax but is build from grounds up", which actually means that there is a ColdFusion back end for prototype, scriptaculous, and rico front end. It must says, it's nicer than CFAjax, especially because of the similarity to AjaxCFC :) ... it posts to a CFC, that extends a base components that handles some core functionality like complex object translation. It uses the exact same code I do to get metadata from functions and invoke them using argument collection and named arguments.... Well, I chose to license it under Apache 2.0, so what the hell, hehe.

mxAjax uses JSON as the standard complex object notation, and the cfjson udfs to serialize/deserialize. It's only version 1, and I would suggest a couple of improvements like ALWAYS VAR SCOPE, and don't throw unnecessary debugging information in the screen to later reset the content... it's a misuse of resources... in addition, it's forcing to abort the request after the JS is displayed, but what if I had additional cleanups and logging?

anyways, Arjun, great improvement from CFAjax... nicely done ... btw, if you're reading this, please tell us why you chose prototype... I hope it wasn't bcuz of RoR :)

uploading a file via Ajax

It is not possible.

Lol, well, ok.... the XMLHttpRequest cannot send multipart/form-data, therefore, cannot upload files. There are two ways around this:
1) use an iframe. This can be transparent, e.g. using the dojo.io.bind will do it automatically.
2) use a pixel Flash movie. You can create a 1 pixel flash movie, interface with it using the external interface (Flash 8 required), and use the Flash buffer classes (Flash 9 required) to upload the file. The nice thing about this is that you get the total bytes transferred count, thus you can display an accurate progress bar.

I'll try to post an example of both options soon.

Clearing template cache automatically

Brian Szoszorek wrote an excellent article on clearing trusted cache automatically with even gateways -- directory watcher.
Trusted cache should be enabled in every ColdFusion production server, as it prevents cfm,cfc files from being compiled into Java classes every time. ColdFusion will not check for file system updates, so you would have to clear cache every time you make a change. Brian proposed a solution to automate it via event gateways -- which only work for enterprise installs of course. Really nice I must say.

IE7 to be distributed via Automatic Updates

Microsoft announced that IE7 will be distributed via automatic updates. This will be very interesting to watch ... I hope they do some real testing before getting this bad boy out there.

This blog is running version 5.9.003. Contact Blog Owner