Forum OpenACS Q&A: has anyone got file upload working under win2k?

Has anyone managed to get file uploads to work correctly under
win2k?

I'm using C. R. Oldham's aol331ad13 binaries, which as
distributed don't seem to work at all for form submissions with
an encoding of multipart/form-data. By patching modules/tcl/
form.tcl I've got multipart/form/data forms to work as long as
there's no file upload, just regular form fields. As soon as I
include a file-upload in a form, it and any following form fields
can't be found.

Also, does anyone have any advice on which of the win32
aolserver binary distributions is best/stablest for ACS4?

I have, but it took a lot of effort. The AOLserver team seems rather aggressively opposed to anything involving the Windows platform, so I have to recommend pursuing other avenues upfront.

There is a bug report / workaround for this problem on AOLserver's SourceForge website: http://sourceforge.net/tracker/?group_id=3152&atid=103152&func=detail&aid=416246 I haven't tried that fix, so I don't know if it works. Because of this and several other bugs (temp. file naming, running as a service, ADP parsing, etc.), starting from source is probably your only option, if it is an option.

The binaries for AOLserver 3.3.1+ad13 for Win32 in https://openacs.org/new-file-storage/ are the most recently uploaded; I haven't tried them. The AOLserver 4-UH beta files at http://acs-misc.sourceforge.net/ns_rel_beta2.html are another option, but they don't handle file upload out of the box either. A bboard thread discussing these two options is https://openacs.org/bboard/q-and-a-fetch-msg.tcl?msg_id=0003Qy&topic_id=OpenACS&topic=11.

I'm using patched AOLserver 4 beta source code to run OpenACS 4 on my server. The unfinished documentation at http://rasmussen.mle.ie/documents/one-doc?id=1 describes the effort. Again, I don't recommend it.

I put the win2k file upload fix on sourceforge. It does work but it's slow. I ran aol33ad12 (I think )for a year or so and it works ok. I've since switched to Solaris and it works better. From a programing standpoint there is not much difference, I think it took about 30 minutes to switch from win2k to solaris. The solaris version will run for months on a low traffic site, the win2k version will not. I set up the win2k machine to auto login and put the nsd command in a loop in a startup script and then scheduled it to shutdown every night. That seemed to most reliable way to run it.
Collapse
Posted by russ m on
To answer my own question - form submission with an encoding of multipart/form-data is only broken on Win2K if you're getting the form data using [ns_getform] and/or [ns_queryget] (which is what [ad_page_contract] does). [ns_get_multipart_formdata] works fine since all the file handling is done in C instead of TCL. So, as long as you're only uploading one file per form, and you're willing to do without [ad_page_contract] on file upload pages, it seems to work OK.

<rant>
This is a really annoying excersise. The customer in question runs their main applications on HP/UX, and does all their databasing on Oracle. Politically it's difficult to impossible to get space on one of the HP/UX boxes or use the Oracle DB untill the application is proven usefull, so our contact wants to just chuck another 2K box on the network and avoid dealing with corporate IT. So we get this bogus crippled platform to work with, and if we can make it look good enough under those circumstances then we can shift to a real platform later. Such is the joy of dealing with "Enterprise IT". Gak.
</rant>

    The customer in question runs their main applications on HP/UX, and does all their databasing on Oracle.
    ...so our contact wants to just chuck another 2K box on the network...

Why not a "religious conversion" of that 2K box to Linux! Linux is much closer to HP/UX than Win2K. Also, you could use Postgresql as a great standin for Oracle. Later, you may decided you don't even need Oracle. Good Luck!

-Bob