Forum OpenACS Development: AOLServer 4.0

Collapse
Posted by Jeff Davis on
I managed to install Openacs 4.6 with AOLServer 4.0 (the HEAD of CVS). There are still a few bugs, in particular there is an issue with the ns_eval implementation (changed from a C function to a tcl function) and for some reason errorInfo and errorCode are not defined as globals which breaks this code fragment (in db_exec and other places):
    global errorInfo errorCode
    ad_call_proc_if_exists ds_collect_db_call $db $type $statement_name $sql $start_time $errno $error

    if { $errno == 2 } {
	return $error
    }

    return -code $errno -errorinfo $errorInfo -errorcode $errorCode $error
On the plus side, it does seem to be faster. For example the parse of the opeancs-4 cvs log takes 130s with 3.3+ad13 (compiled -O2) and takes about 95s with 4.0 (compiled -g unoptimized, though with the tcl8.4.1 lib compiled -O2).

Anyway, just wanted to let people know that 4.0 seems to be in pretty good shape, and the word from Nathan Folkman was that they are hoping to tag a beta release by the end of the week.

Collapse
2: Re: AOLServer 4.0 (response to 1)
Posted by Malte Sussdorff on
Does AOLserver 4 already have the i18n fixes included (finally) ?
Collapse
3: Re: AOLServer 4.0 (response to 2)
Posted by Jeff Davis on
On i18n: Mark Page from AOL is working on it. One thing is that I think there is still a lot of confusion about what exactly is needed. I don't think we should count on them getting it right and meeting our needs unless we are a little more proactive about it. From the chat logs it seems like everyone wants to see it happen...
Collapse
4: Re: AOLServer 4.0 (response to 1)
Posted by Tom Jackson on

Jeff,

Yes there is confusion about what is needed. I think Rob Mayoff's document has a complete list of the API's needed by OpenACS. What is still unclear to me is the current state of i18n support in AOLserver 4.0. The Mayoff document doesn't spell out what happens automatically when you use things like ns_return*, but other functions are pretty well explained.

I thought Jim Davidson or Nathan Folkman had said that i18n was working for adps, so I thought there might be something in the adp parsing code. I didn't find anything yet. The adp parsing code works on utf strings, but doesn't seem to address issues like files stored in something other than the system encoding (which I think it handles automatically).

Also needed is a test procedure, with some pages. I have a UTF-8 test page that is broken in all browsers, so it seems a regular old browser test doesnt't necessarily help. Probably what is needed is a test that uploads a file, or text fragment, in an encoding, stores it in the filesystem and in the database, displays it, allows it to be downloaded, etc. and can check an MD5 signature or something to see if it gets corrupted. I'm sure there is a long list of what needs to be tested, so those who know, please post something here.

Collapse
5: Re: AOLServer 4.0 (response to 1)
Posted by Jeff Davis on
They announced the AOLServer 4.0 beta has been tagged on the aolserver list.
The first beta release of AOLserver 4.0 is now available with CVS tag aolserver_v4_r0_beta_1. It is also available via the Source Forge download page: https://sourceforge.net/project/showfiles.php?group_id=3152& release_id=135781

Please report bugs via SourceForge at: https://sourceforge.net/tracker/?group_id=3152&atid=103152 with group "aolserver_v4_r0_beta_1"

Test On!

Elizabeth Thomas
Principal Software Engineer
America OnLine, Inc.
Collapse
6: Re: AOLServer 4.0 (response to 5)
Posted by Jeff Davis on
The bugs on AOLServer 4.0 I ran into installing openacs 4.6 should be fixed on the head at this point so the HEAD checkout of aolserver should be in pretty good shape (although I have not run an install with the fixes in yet).
Collapse
7: Re: AOLServer 4.0 (response to 6)
Posted by Jeff Davis on
Another benchmark for 4.0 performance. The string commands look a lot faster. I checked a string map version of ad_quotehtml vs. regsubs vs ns_quotehtml and found the following...

timing quoting a 150k html document with 4.0:

 regsub: 127386 microseconds per iteration
 string map: 18477 microseconds per iteration
 ns_quotehtml: 11045 microseconds per iteration
On 3.3+ad13 the results were:
 regsub: 207146 microseconds per iteration
 string map: 93166 microseconds per iteration
 ns_quotehtml: 12933 microseconds per iteration

For a more representative small html fragment, v4.0 gave:

 
 regsub: 3961 microseconds per iteration
 string map: 339 microseconds per iteration
 ns_quotehtml: 189 microseconds per iteration
and 3.3+ad13 gave:
 
 regsub: 5621 microseconds per iteration 
 string map: 1579 microseconds per iteration 
 ns_quotehtml: 180 microseconds per iteration
One thing that impressed me was how close the string map version of ad_quotehtml was to the .c compiled version in ns_quotehtml with tcl8.4.