Forum OpenACS Q&A: Re: Outdated XML libraries?

Collapse
Posted by Bart Teeuwisse on
Another reason for retiring the XML libraries is that they use 'package require' quite a bit. As we all know AOLserver 4.0 will be the first version to actually support this common Tcl instruction.

I found another core library that uses 'package require': utilities-procs.tcl. It checks for the Trf package and if present uses it in base64 encode and decode procs.

I'm wondering if the Trf based procs in the base64 namespace are really needed. Doesn't AOLserver provide ns_uuencode and ns_uudecode commands?

I'm aware of the bug in ns_uuencode (fixed in AOLserver 4.0). For that reason the Tcl based base64 procs are usefull. Although I must say that the toolkit doesn't use the base64 procs (Trf or Tcl based) anywhere. Instead the email-handler package simply calls ns_uuencode without checking if it bug free. Acs-mail on the other hand checks for a broken ns_uuencode and provides its own version of base64::encode. (The copy is almost identical to Tcl based base64::encode proc.)

Wouldn't it make more sense to replace the base64 namespace altogether with a Tcl based implementation of ns_uuencode should ns_uuencode as provided by AOLserver be broken? All packages can then continue to use ns_uuencode regardless the AOLserver version.

/Bart

Collapse
Posted by Jamie Rasmussen on
Actually, the ns_uuencode patch from OpenACS has not made it into AOLserver 4 yet - I just submitted a patch for it today, #698741 on SourceForge.