Forum OpenACS Q&A: Response to Support for multibyte: .tcl ok .adp not
Posted by
Patrick Giagnocavo
on 09/28/01 08:47 PM
Hi Henry,
I am using 3.2.5 with your patches, 3.3.1+ad12 version of AOLserver.
I *think* the problem is in the part where the template is returned. I have modified ad-style.tcl per Kenny Chiang's message above. I have tried both ns_adp_parse -string and ns_adp_eval -parser fancy in the ad_return_template proc definition, both give the same result.
You can see the error message at http://205.247.253.66/ecommerce .
In my server.log, I see
[28/Sep/2001:14:28:18][23963.6798848][-conn44-] Notice: ns_getform using encoding shiftjis for charset shift_jis
followed by the error messages.
My nsd.tcl config file (passwords and comments removed for brevity):
ns_log notice "nsd.tcl: starting to read config file..."
set httpport 80
set httpsport 443
set hostname 205.247.253.66
set address 205.247.253.66
set server "server1"
set servername "somewhere.ne.jp"
set homedir [file dirname [ns_info config]]
set bindir [file dirname [ns_info nsd]]
set pageroot /home/akira/openacs-3.2.5/www
set directoryfile index.adp,index.html,index.tcl,index.htm
set sslkeyfile ${homedir}/servers/${server}/modules/nsssl/keyfile.pem
set sslcertfile ${homedir}/servers/${server}/modules/nsssl/certfile.pem
ns_section "ns/parameters"
ns_param home $homedir
ns_param debug false
ns_param MailHost localhost
ns_param ServerLog ${homedir}/log/server.log
ns_param LogRoll on
ns_param maxthreads 20
#ns_param minthreads 7
ns_param HackContentType 1
ns_param URLCharset shift_jis
ns_param OutputCharset shift_jis
ns_param HttpOpenCharset shift_jis
ns_section "ns/threads"
ns_param mutexmeter true ;# measure lock contention
ns_param stacksize [expr 128*1024] ;# Per-thread stack size for hungry C modules
ns_section "ns/mimetypes"
ns_param default "*/*" ;# MIME type for unknown extension
ns_param noextension "*/*" ;# MIME type for missing extension
#ns_param ".xls" "application/vnd.ms-excel''
ns_param .html "text/html; charset=shift_jis"
ns_param .tcl "text/html; charset=shift_jis"
ns_param .adp "text/html; charset=shift_jis"
ns_section "ns/server/${server}/tcl"
ns_param autoclose "on"
ns_param debug "false"
ns_param library "/home/akira/openacs-3.2.5/tcl"
ns_section "ns/servers"
ns_param $server $servername
ns_section "ns/server/${server}"
ns_param directoryfile $directoryfile
ns_param pageroot $pageroot
ns_param globalstats true ;# Enable built-in statistics
ns_param urlstats true ;# Enable URL statistics
ns_param maxurlstats 1000 ;# Max number of URL's to do stats on
ns_param enabletclpages true ;# Parse tcl files in pageroot (dangerous)
ns_param NotFoundResponse "/global/file-not-found.html"
ns_param ServerBusyResponse "/global/busy.html"
ns_param ServerInternalErrorResponse "/global/error.html"
ns_param ForbiddenResponse "/global/forbidden.html"
ns_param UnauthorizedResponse "/global/unauthorized.html"
ns_param directoryproc _ns_dirlist ;# ...but not both!
ns_param directorylisting fancy ;# Can be simple or fancy
#
# ADP custom parsers -- see adp.c
#
ns_section "ns/server/${server}/adp/parsers"
ns_param fancy ".adp"
ns_section "ns/server/${server}/module/nssock"
ns_param port $httpport
ns_param hostname $hostname
ns_param address $address
ns_section "ns/db/drivers"
ns_param postgres /usr/local/aolserver/bin/postgres.so ; # Load PostgreSQL driver
#
# Database Pools: This is how AOLserver ``talks'' to the RDBMS. You need three for
# OpenACS: main, log, subquery. Make sure to replace ``yourdb'' and ``yourpassword''
# with the actual values for your db name and the password for it.
# AOLserver can have different pools connecting to different databases and even different
# different database servers.
#
ns_section "ns/db/pools"
ns_param main "OpenACS Main Pool"
ns_param log "OpenACS Log Pool"
ns_param subquery "OpenACS Subquery Pool"
ns_section "ns/db/pool/main"
ns_param Driver postgres
ns_param Connections 5 ;# 5 is a good number. Increase according to your needs
ns_param DataSource localhost:5432:db
ns_param User username ;# User and password AOLserver will use to connect
ns_param Password "password"
ns_param Verbose On ;# Set it to On to see all queries. Good for debugging SQL.
ns_param LogSQLErrors On
ns_param ExtendedTableInfo On
ns_param MaxOpen 1000000000 ;# Uncommenting these two cause AOLserver to keep the
ns_param MaxIdle 1000000000 ;# db connection open. Can be a good thing, up tp your needs.
ns_section "ns/db/pool/log"
ns_param Driver postgres
ns_param Connections 5
ns_param DataSource localhost::db
ns_param User username
ns_param Password "password"
ns_param Verbose Off
ns_param LogSQLErrors On
ns_param ExtendedTableInfo On
ns_param MaxOpen 1000000000
ns_param MaxIdle 1000000000
ns_section "ns/db/pool/subquery"
ns_param Driver postgres
ns_param Connections 4
ns_param DataSource localhost::db
ns_param User username
ns_param Password "password"
ns_param Verbose Off
ns_param LogSQLErrors On
ns_param ExtendedTableInfo On
ns_param MaxOpen 1000000000
ns_param MaxIdle 1000000000
ns_section "ns/server/${server}/db"
ns_param Pools "*"
ns_param DefaultPool "main"
ns_section "ns/server/${server}/module/nslog"
ns_param rolllog true ;# Should we roll log?
ns_param rollonsignal true ;# Roll log on SIGHUP
ns_param rollhour 0 ;# Time to roll log
ns_param maxbackup 360 ;# Max number to keep around when rolling
ns_section "ns/server/${server}/modules"
ns_param nssock ${bindir}/nssock.so
ns_param nslog ${bindir}/nslog.so
ns_param nsperm ${bindir}/nsperm.so
# ns_param nscgi ${bindir}/nscgi.so
# ns_param nsjava ${bindir}/libnsjava.so
#
## nsssl: loads only if requisite files already exist (see top of this
# file).
#
if { [file exists $sslcertfile] && [file exists $sslkeyfile] } {
ns_param nsssl ${bindir}/nsssle.so
} else {
ns_log warning "nsd.tcl: nsssl not loaded because key/cert files do not exist."
}
#
# To Source OpenACS Config File. You need a "yourservername.tcl" file in the
# OpenACS parameters dir. e.g.: say your server is "server1" then you'd need a
# file named /web/server1/parameters/server1.tcl
# (Hint: Rename ad.tcl to yourservername.tcl and edit it.)
#
source /home/user/openacs-3.2.5/parameters/acs.tcl
ns_log notice "nsd.tcl: finished reading config file."