Re: [AOLSERVER] Dossy's nsopenssl 3 beta testing

2004-08-13 Thread Torben Brosten
Dossy Shiobara wrote:
 ..
Janine and others: do you have SSLv2 in the list of protocols
configured in your server context for the nsopenssl module?
yes
If you do have SSLv2 in the protocols list and are still seeing the
problem, then I don't know what's wrong.  Once I set up the certificate
and key .pem files so that nsopenssl could load them, and added SSLv2
to the list, and configure the maxinput parameter correctly, I haven't
been able to reproduce the error.
hem. I Didn't have maxinput and recvwait configured for the /ssldriver
Now those have been added, aolserver4.0.7 nsopenssl3b21 boots without
crashing (usually during load of nssock.so).  However, instability still
exists with CPU demand excessive and often leading to a crash.
For example, on this VM on a Dual-Xeon 2.4Ghz 4Gig ram server running
freebsd-4.10-stable with 2 nsd:
aolserver3.4.2 using nsopenssl2.x production on port 80/443:  circa 2% cpu
aolserver4.0.7 using nsopenssl3b21 testonly on port 8000/8443: circa 95% cpu
duey# ps -auxww | grep aolserver
nobody   20804 91.8  1.8 91288 75020  ??  RsJ   4:35AM  23:09.00
/usr/local/aolserver4.0.7/bin/nsd8x -t
/var/lib/aolserver/service1/etc/config4.tcl -u nobody -g nobody -b
w.x.y.z:8000,w.x.y.z:8443 (nsd)
nobody   27056  0.4  6.0 255840 249272  ??  SsJ  Tue06AM  67:45.57
/usr/local/aolserver3.4.2/bin/nsd8x -t
/var/lib/aolserver/service1/etc/config.tcl -u nobody -g nobody
duey# grep 'GET /' service1-4.0.7-error.log | wc -l
  69
That's about 18 mainly ssl page requests in 20 min
Some of the CPU is probably from having $debug true. Here's a repeat
with $debug set false:
Ha! It crashed on startup without error msg. Last line in error.log:
[13/Aug/2004:05:34:46][26008.134533120][-main-] Notice: Loading
packages/acs-tcl/tcl/utilities-init.tcl...
Trying 1 more time..
listening on ports, no page requests yet on 4.0.7:
duey# ps -auxww | grep aol
nobody   35052  0.0  6.0 255840 249272  ??  SsJ  Tue06AM  68:25.46
/usr/local/aolserver3.4.2/bin/nsd8x -t
/var/lib/aolserver/service1/etc/config.tcl -u nobody -g nobody
nobody   65412  0.0  0.7 37064 28948  ??  SsJ   5:58AM   1:46.86
/usr/local/aolserver4.0.7/bin/nsd8x -t
/var/lib/aolserver/service1/etc/config4.tcl -u nobody -g nobody -b
w.x.y.z:8000,w.x.y.z:8443 (nsd)
a few mins and http+https page requests later:
duey# ps -auxww | grep aol
nobody   35052  0.0  6.0 255840 249300  ??  SsJ  Tue06AM  68:38.59
/usr/local/aolserver3.4.2/bin/nsd8x -t
/var/lib/aolserver/service1/etc/config.tcl -u nobody -g nobody
nobody   65412  0.0  1.5 73888 60096  ??  SsJ   5:58AM   1:50.19
/usr/local/aolserver4.0.7/bin/nsd8x -t
/var/lib/aolserver/service1/etc/config4.tcl -u nobody -g nobody -b
w.x.y.z:8000,w.x.y.z:8443 (nsd)
It is staying within optimal limits.  I will try it on the LAN for awhile.
Thanks, Dossy.
--
AOLserver - http://www.aolserver.com/
To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of SIGNOFF AOLSERVER in the email message. You can leave the Subject: field of 
your email blank.


Re: [AOLSERVER] ADP/Javascript issue

2004-08-13 Thread Steve Manning




Did my test code work for you and if so what difference is there between your code and my test? Have you confirmed that your value is actually loaded into the form data before you post?

 Steve

On Fri, 2004-08-13 at 01:20, Nishant Asthana wrote:

Steve,
I know the difference between GET and POST. My actual problem is that POST is not posting form to the server, so I am unable to extract hidden fields from the request.
Because of limitations on URL length, I dont want to implement it using GET, but POST is not working. GET works fine, I have no clue were is my code going wrong (or is it adp that is the problem ?)
A form submission with JS submit() function should submit user data to the server, which I can get either by ns_queryget or by ns_getform, but my problem is, if I use POST, I get null value for the query string using both methods :-((

Steve wrote on 8/12/2004, 3:20 PM:


There is a fundamental difference between GET and POST in that the former encodes your data into the URL whilst the latter incorporates the data into the message and posts it. If your submitting a lot of data then you could run into problems of url length with GET.

The following self-posting test page work for me with the method set to post or get:

test1.adp

html
head
titletest1/title
script language=_javascript_ type=text/_javascript_
function saveSelected(inMethod) {
 document.forms.theForm.rid.value = TESTING TESTING 123;
 document.forms.theForm.action="">
 document.forms.theForm.method=inMethod;
 document.forms.theForm.submit();
}
/script
/head
body
form name=theForm
input type=hidden name=rid value=
/form
a href="">_javascript_:saveSelected('post');Post/anbsp;
a href="">_javascript_:saveSelected('get');Get/a 
hr
%
set form_data [ns_getform]
if ![string equal $form_data {}] {
set rid [ns_set get $form_data rid]
}
%

Method: %=[ns_conn method]%br
Query: %=[ns_conn query]%br
RID Value: [%=$rid%]br

/body
/html

Hope that helps.

 Steve


On Thu, 2004-08-12 at 19:09, Nishant Asthana wrote: 

Hi,
I thought I would send my problem on this list and see if someone can help me out.
I am working on Address Book on the Web (webmail.aol.com), and it has a UI where you can select addresses to send mail to. 
Its a paged UI in the sense that addresses are grouped into alpha buckets, ABC, DEF etc. So if you click on ABC bucket, you see addresses whose last names begin with A or B or C. User can select addresses on one page and can then go to another bucket and select addresses there, then can go back to previous
page, select/deselect address, or go to other page etc. What we need to do is to save all user's selections till he clicks on send mail button.

ADP page has an HTML form with POST and hidden fields. I use a hidden fld to pass list of selected records to other buckets. I am using the following code in the page for links to alphabets 
(main.adp) ns_adp_puts ahref=\\>_javascript_:saveSelectedAndSubmitForm();return false;\ABC/anbsp\;
The _javascript_ method saveSelectedAndSubmitForm() iterates over selected checkboxes and adds it to the hidden variable, and finally calls document.submit()

In the adp file, I try to get the value of hidden form field and here is what happens. When I use GET, I am able to see that hidden form fld, however, when I use POST, it seems no form data is submitted to the server. 
Here is the sample code

(main.adp)
%
set theformdata [ns_getform]
set rid 
if {$theformdata != } {
 set rididx [ns_set find $theformdata rid]
 if {$rididx != -1} {
 set rid [ns_set value $theformdata $rididx]
 }
}
%
form
input type=hidden name=rid value=%=$rid%
/form

$theformdata is null when POST is used.

Is there a difference between the way data is posted with GET and POST ? I think not, but then how can one explain such behavior. I think I am using the correct JS code. Heres a snapshot.
function saveSelected..() {
 document.forms.theForm.rid.value = prevList; // rid is the hidden form fld. prevList is the value assigned to this fld
 document.forms.theForm.action="">
 document.forms.theForm.submit();
}

-- 
Software Engineer
America Online Inc

Re: [AOLSERVER] AOLSERVER Digest - 10 Aug 2004 to 11 Aug 2004 (#2004-171)

2004-08-13 Thread Bas Scheffers
IRA said:
 It's just this sort of problem that makes me wonder if the people
building aolserver ever actually USE aolserver to build web
 applications.  It seems like not that big of a deal . . . until you
realize that we do this ALL THE TIME.
I could get as nasty and you and wonder why you are writing AOLserver apps
when you don't actualy know Tcl.

ns_puts a href=\$link\link/a
Can be written without the quotes simply by doing this:
ns_puts [subst {a href=$linklink/a}];# No escapes required!

Secondly:

%
if ($condition) {
%
This html
%
} else {
%
This other html
%
}
%

Makes for the most hideous, unreadable and unmaintainable code ever
concieved and should be avoided at all cost if you have any interest in
writing quality code.

Tcl is called a procedural language, best to use it that way and create
loads of nice little procedure to create html. Surely,

set table_list [list 1 [link http://aol.com AOL]]
lappend table_list 2 [link http://genie.com Genie]
lappend table_list 3 [link http://msn.com MSN]
ns_puts [create_table -cols 2 -style linktable $table_list]

is a lot more elegant and maintainable than writing all the tags yourself?
(let alone using ASP style tags)

Just my $0.02...

Bas.


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of SIGNOFF AOLSERVER in the email message. You can leave the Subject: field of 
your email blank.


Re: [AOLSERVER] Dossy's nsopenssl 3 beta testing

2004-08-13 Thread Steve Manning




On Thu, 2004-08-12 at 22:20, Dossy Shiobara wrote:


Janine and others: do you have SSLv2 in the list of protocols
configured in your server context for the nsopenssl module? 

Yes 
ns_param Protocols SSLv2, SSLv3, TLSv1
ns_param CipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP



If you do have SSLv2 in the protocols list and are still seeing the
problem, then I don't know what's wrong. 


Oh dear :-(


Once I set up the certificate
and key .pem files so that nsopenssl could load them, and added SSLv2
to the list, and configure the maxinput parameter correctly, I haven't
been able to reproduce the error.



I believe the default without maxinput set is 1024k which should be fine on this server as its just running eCommerce so doesn't upload anything approaching this limit. I'm just wondering if not having maxinput explicitly set is having any detrimental effect?

 Steve




-- 
Steve Manning [EMAIL PROTECTED]








--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of your email blank.



Re: [AOLSERVER] AOLSERVER Digest - 10 Aug 2004 to 11 Aug 2004 (#2004-171)

2004-08-13 Thread Robert Seeger
Comments below:

Bas Scheffers wrote on 8/13/2004, 3:45 AM:

  IRA said:
   It's just this sort of problem that makes me wonder if the people
  building aolserver ever actually USE aolserver to build web
   applications.  It seems like not that big of a deal . . . until you
  realize that we do this ALL THE TIME.
  I could get as nasty and you and wonder why you are writing AOLserver
  apps
  when you don't actualy know Tcl.

People get grumpy when something is a continuous hassle to them. I'd
rather work with the assumption that it was grumpy humour, rather than
nastiness. :)

 
  ns_puts a href=\$link\link/a
  Can be written without the quotes simply by doing this:
  ns_puts [subst {a href=$linklink/a}];# No escapes required!

True, but subst does still require an amount of escaping in various
situations. For example:

# Lets output some financial data
# We need to escape the $ for the monetary units

ns_puts [subst {
 tr
 tda ref=link[set $i]Item $i/a/td
 td\$$amount($i)/td
 /tr
}
# We need to escape the [ and ] for negative amounts
ns_puts [subst {
 tr
 tda ref=link[set $i]Item $i/a/td
 td\$\[$amount($i)\]\$/td
 /tr
}
# {} need to be escaped too, if they come up

So, its not as simple as not needing to escape things. There's just less
to escape.

 
  Secondly:
 
  %
  if ($condition) {
  %
  This html
  %
  } else {
  %
  This other html
  %
  }
  %
 
  Makes for the most hideous, unreadable and unmaintainable code ever
  concieved and should be avoided at all cost if you have any interest in
  writing quality code.

For that type of output, yes its not the best choice. However, there are
situations where doing it inside an ns_adp_puts is the more hideous of
the choices. For example:

table
%
foreach row $rows {
foreach {
item1 item2 item3 item4 item5 item6 item7
} $row {break}
### Output a lot of html for each row of data
%

tr
   !-- 30 lines of html here that output the items
 -- and the form elements involved with them
 --
/tr

%
### Done with row
}
%
/table

 
  Tcl is called a procedural language, best to use it that way and create
  loads of nice little procedure to create html. Surely,
 
  set table_list [list 1 [link http://aol.com AOL]]
  lappend table_list 2 [link http://genie.com Genie]
  lappend table_list 3 [link http://msn.com MSN]
  ns_puts [create_table -cols 2 -style linktable $table_list]
 
  is a lot more elegant and maintainable than writing all the tags
  yourself?
  (let alone using ASP style tags)

Very much so, at least for links. Do we actually have a nice, robust
library of procedures that can produce complex html with a simple
syntax? If so, thats great and I'd be happy to hear about it. If not,
then every single person who uses the server to create pages making
their own helper procs is just a source of server bloat.

Even with a good library, there are still some things that are better
written in plain html. Its all about making the resulting page easily
readable and maintainable, in my opinion.

Rob Seeger


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of SIGNOFF AOLSERVER in the email message. You can leave the Subject: field of 
your email blank.


Re: [AOLSERVER] AOLSERVER Digest - 10 Aug 2004 to 11 Aug 2004 (#2004-171)

2004-08-13 Thread Steve Manning




On Fri, 2004-08-13 at 14:40, Robert Seeger wrote:


  %
  if ($condition) {
  %
  This html
  %
  } else {
  %
  This other html
  %
  }
  %
 


I like the OpenACS way of having a contract between a tcl page and an adp page where the procedural stuff lives in the tcl page and values are passed across to the adp as variables. Where control is required in the adp, OACS uses custom tags like if and multiple which keeps the pages readable.




-- 
Steve Manning [EMAIL PROTECTED]








--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of your email blank.



Re: [AOLSERVER] AOLSERVER Digest - 10 Aug 2004 to 11 Aug 2004 (#2004-171)

2004-08-13 Thread Vlad Seryakov
I think everyone would benefit if AOLserver includes some kind
templating solution without installing whole OpenACS system.
Strip down templating with several usefull tags like if include
multirow list and etc would put AOLServer on the same level
as PHP/Perl with Apache systems regarding templating. I can provide
small version of my templating system which is kind of
similar to OpenACS, it can work without any external dependencies. No
documentation but good examples will be a good start.
Robert Seeger wrote:
Comments below:
Bas Scheffers wrote on 8/13/2004, 3:45 AM:
  IRA said:
   It's just this sort of problem that makes me wonder if the people
  building aolserver ever actually USE aolserver to build web
   applications.  It seems like not that big of a deal . . . until you
  realize that we do this ALL THE TIME.
  I could get as nasty and you and wonder why you are writing AOLserver
  apps
  when you don't actualy know Tcl.
People get grumpy when something is a continuous hassle to them. I'd
rather work with the assumption that it was grumpy humour, rather than
nastiness. :)
 
  ns_puts a href=\$link\link/a
  Can be written without the quotes simply by doing this:
  ns_puts [subst {a href=$linklink/a}];# No escapes required!
True, but subst does still require an amount of escaping in various
situations. For example:
# Lets output some financial data
# We need to escape the $ for the monetary units
ns_puts [subst {
 tr
 tda ref=link[set $i]Item $i/a/td
 td\$$amount($i)/td
 /tr
}
# We need to escape the [ and ] for negative amounts
ns_puts [subst {
 tr
 tda ref=link[set $i]Item $i/a/td
 td\$\[$amount($i)\]\$/td
 /tr
}
# {} need to be escaped too, if they come up
So, its not as simple as not needing to escape things. There's just less
to escape.
 
  Secondly:
 
  %
  if ($condition) {
  %
  This html
  %
  } else {
  %
  This other html
  %
  }
  %
 
  Makes for the most hideous, unreadable and unmaintainable code ever
  concieved and should be avoided at all cost if you have any interest in
  writing quality code.
For that type of output, yes its not the best choice. However, there are
situations where doing it inside an ns_adp_puts is the more hideous of
the choices. For example:
table
%
foreach row $rows {
foreach {
item1 item2 item3 item4 item5 item6 item7
} $row {break}
### Output a lot of html for each row of data
%
tr
   !-- 30 lines of html here that output the items
 -- and the form elements involved with them
 --
/tr
%
### Done with row
}
%
/table
 
  Tcl is called a procedural language, best to use it that way and create
  loads of nice little procedure to create html. Surely,
 
  set table_list [list 1 [link http://aol.com AOL]]
  lappend table_list 2 [link http://genie.com Genie]
  lappend table_list 3 [link http://msn.com MSN]
  ns_puts [create_table -cols 2 -style linktable $table_list]
 
  is a lot more elegant and maintainable than writing all the tags
  yourself?
  (let alone using ASP style tags)
Very much so, at least for links. Do we actually have a nice, robust
library of procedures that can produce complex html with a simple
syntax? If so, thats great and I'd be happy to hear about it. If not,
then every single person who uses the server to create pages making
their own helper procs is just a source of server bloat.
Even with a good library, there are still some things that are better
written in plain html. Its all about making the resulting page easily
readable and maintainable, in my opinion.
Rob Seeger
--
AOLserver - http://www.aolserver.com/
To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of SIGNOFF AOLSERVER in the email message. You can leave the Subject: field of 
your email blank.
--
Vlad Seryakov
703 488-2173 office
[EMAIL PROTECTED]
http://www.crystalballinc.com/vlad/
--
AOLserver - http://www.aolserver.com/
To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of SIGNOFF AOLSERVER in the email message. You can leave the Subject: field of 
your email blank.


Re: [AOLSERVER] AOLSERVER Digest - 10 Aug 2004 to 11 Aug 2004 (#2004-171)

2004-08-13 Thread Dossy Shiobara
On 2004.08.13, Robert Seeger [EMAIL PROTECTED] wrote:
 # Lets output some financial data
 # We need to escape the $ for the monetary units

 ns_puts [subst {
  tr
  tda ref=link[set $i]Item $i/a/td
  td\$$amount($i)/td
  /tr
 }

Compare that to:

  %
 tr
 tda ref=link%= [set $i] %Item %= $i %/a/td
 td$%= $amount($i) %/td
 /tr
  %

There's a LOT more escaping going on in the ASP-style version -- %=
and % are used instead of just one \ ...

 For that type of output, yes its not the best choice. However, there are
 situations where doing it inside an ns_adp_puts is the more hideous of
 the choices. For example:

 table
 %
 foreach row $rows {
 foreach {
 item1 item2 item3 item4 item5 item6 item7
 } $row {break}
 ### Output a lot of html for each row of data
 %

 tr
!-- 30 lines of html here that output the items
  -- and the form elements involved with them
  --
 /tr

 %
 ### Done with row
 }
 %
 /table

I fail to see why the following is more hideous than your version
above:

table
%
foreach row $rows {
foreach {
item1 item2 item3 item4 item5 item6 item7
} $row {break}
### Output a lot of html for each row of data
ns_adp_puts [subst {
tr
   !-- 30 lines of html here that output the items
 -- and the form elements involved with them
 --
/tr
}]
### Done with row
}
%
/table

Instead of % and %, my version uses ns_adp_puts [subst { and }].

The difference is, the actual 30 lines of HTML that would be where the
HTML comment is in your version will have much more escaping using %=
and % than in mine where I only need to escape $ and [ and only IF they
actually appear in the HTML.  In your version, every single time you
want to interpolate some Tcl chunk, you'll need to escape it with %=
and %.

Regardless, there's too many folks out there who cut their teeth on web
scripting on VBScript and ASP to not at least support this style, but
the less ASP-style ADP code that's out there, the better.  Just because
it's a popular doesn't mean it's better, and most people just think it's
better because that's what they learned first.  It's just resistance to
change ...

Unless, people really want to debate that Microsoft's known for
inventing things that really ARE best practices ... as opposed to just
creating a lot of inertia.  I mean, all of those enhancements to the
HTTP protocol and JavaScript and CSS that are in MSIE that aren't
supported by other browsers ... everyone should do it that way, the
pages just LOOK better with those extra features ...

-- Dossy

--
Dossy Shiobara   mail: [EMAIL PROTECTED]
Panoptic Computer Network web: http://www.panoptic.com/
  He realized the fastest way to change is to laugh at your own
folly -- then you can let go and quickly move on. (p. 70)


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of SIGNOFF AOLSERVER in the email message. You can leave the Subject: field of 
your email blank.


Re: [AOLSERVER] AOLSERVER Digest - 10 Aug 2004 to 11 Aug 2004 (#2004-171)

2004-08-13 Thread Dossy Shiobara
On 2004.08.13, Vlad Seryakov [EMAIL PROTECTED] wrote:
 I think everyone would benefit if AOLserver includes some kind
 templating solution without installing whole OpenACS system.
 Strip down templating with several usefull tags like if include
 multirow list and etc would put AOLServer on the same level
 as PHP/Perl with Apache systems regarding templating. I can provide
 small version of my templating system which is kind of
 similar to OpenACS, it can work without any external dependencies. No
 documentation but good examples will be a good start.

I think just an off-the-shelf taglib via ns_adp_registertag would be
great, like you suggest.

Can we come up with a list of tags and what they should do, then we can
discuss the pro's and con's of the behaviors, then once we're agreed on
a sane set of tags, folks can implement them.

-- Dossy

--
Dossy Shiobara   mail: [EMAIL PROTECTED]
Panoptic Computer Network web: http://www.panoptic.com/
  He realized the fastest way to change is to laugh at your own
folly -- then you can let go and quickly move on. (p. 70)


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of SIGNOFF AOLSERVER in the email message. You can leave the Subject: field of 
your email blank.


Re: [AOLSERVER] AOLSERVER Digest - 10 Aug 2004 to 11 Aug 2004 (#2004-171)

2004-08-13 Thread Nathan Folkman
http://www.tcl.tk/man/tcl8.4/TclCmd/subst.htm
The Tcl subst command takes a few optional args that should make things
a little easier for you:
   subst ?-nobackslashes? ?-nocommands? ?-novariables? string
This will save you form having to escape $ and [ ] sequences.
You can also make things a little easier on yourself here:
Before:
   tda ref=link[set $i]Item $i/a/td
After:
tda ref=link$iItem $i/a/td
Better still, start using single quotes instead of double quotes for
your HTML and JavaScript where possible:
   a href='foo' height='1' width='1'/a
As you can see, there are many options.
[EMAIL PROTECTED] wrote:
Comments below:
Bas Scheffers wrote on 8/13/2004, 3:45 AM:
 IRA said:
  It's just this sort of problem that makes me wonder if the people
 building aolserver ever actually USE aolserver to build web
  applications.  It seems like not that big of a deal . . . until you
 realize that we do this ALL THE TIME.
 I could get as nasty and you and wonder why you are writing AOLserver
 apps
 when you don't actualy know Tcl.
People get grumpy when something is a continuous hassle to them. I'd
rather work with the assumption that it was grumpy humour, rather than
nastiness. :)

 ns_puts a href=\$link\link/a
 Can be written without the quotes simply by doing this:
 ns_puts [subst {a href=$linklink/a}];# No escapes required!
True, but subst does still require an amount of escaping in various
situations. For example:
# Lets output some financial data
# We need to escape the $ for the monetary units
ns_puts [subst {
tr
tda ref=link[set $i]Item $i/a/td
td\$$amount($i)/td
/tr
}
# We need to escape the [ and ] for negative amounts
ns_puts [subst {
tr
tda ref=link[set $i]Item $i/a/td
td\$\[$amount($i)\]\$/td
/tr
}
# {} need to be escaped too, if they come up
So, its not as simple as not needing to escape things. There's just less
to escape.

 Secondly:

 %
 if ($condition) {
 %
 This html
 %
 } else {
 %
 This other html
 %
 }
 %

 Makes for the most hideous, unreadable and unmaintainable code ever
 concieved and should be avoided at all cost if you have any interest in
 writing quality code.
For that type of output, yes its not the best choice. However, there are
situations where doing it inside an ns_adp_puts is the more hideous of
the choices. For example:
table
%
foreach row $rows {
   foreach {
   item1 item2 item3 item4 item5 item6 item7
   } $row {break}
   ### Output a lot of html for each row of data
   %
   tr
  !-- 30 lines of html here that output the items
-- and the form elements involved with them
--
   /tr
   %
   ### Done with row
}
%
/table

 Tcl is called a procedural language, best to use it that way and create
 loads of nice little procedure to create html. Surely,

 set table_list [list 1 [link http://aol.com AOL]]
 lappend table_list 2 [link http://genie.com Genie]
 lappend table_list 3 [link http://msn.com MSN]
 ns_puts [create_table -cols 2 -style linktable $table_list]

 is a lot more elegant and maintainable than writing all the tags
 yourself?
 (let alone using ASP style tags)
Very much so, at least for links. Do we actually have a nice, robust
library of procedures that can produce complex html with a simple
syntax? If so, thats great and I'd be happy to hear about it. If not,
then every single person who uses the server to create pages making
their own helper procs is just a source of server bloat.
Even with a good library, there are still some things that are better
written in plain html. Its all about making the resulting page easily
readable and maintainable, in my opinion.
Rob Seeger
--
AOLserver - http://www.aolserver.com/
To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of SIGNOFF AOLSERVER in the email message. You can leave the Subject: field of 
your email blank.


--
AOLserver - http://www.aolserver.com/
To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of SIGNOFF AOLSERVER in the email message. You can leave the Subject: field of 
your email blank.


Re: [AOLSERVER] AOLSERVER Digest - 10 Aug 2004 to 11 Aug 2004 (#2004-171)

2004-08-13 Thread Robert Seeger
The two code snippets you show aren't the same. Admittedly though, my
code was  supposed to be:

tda ref=[set link$i]Item $i/a/td

Rob Seeger

  Before:
 
  tda ref=link[set $i]Item $i/a/td
 
  After:
 
   tda ref=link$iItem $i/a/td
 


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of SIGNOFF AOLSERVER in the email message. You can leave the Subject: field of 
your email blank.


Re: [AOLSERVER] AOLSERVER Digest - 10 Aug 2004 to 11 Aug 2004 (#2004-171)

2004-08-13 Thread Robert Seeger
I disagree with your opinion on whats more readable and what looks
better. Admittedly, its a matter of personal choice... but it so happens
thatthe choice I prefer isn't currently available. I, and others, would
like it to be.

Rob Seeger

Dossy Shiobara wrote on 8/13/2004, 10:23 AM:

  On 2004.08.13, Robert Seeger [EMAIL PROTECTED] wrote:
   # Lets output some financial data
   # We need to escape the $ for the monetary units
  
   ns_puts [subst {
tr
tda ref=link[set $i]Item $i/a/td
td\$$amount($i)/td
/tr
   }
 
  Compare that to:
 
%
   tr
   tda ref=link%= [set $i] %Item %= $i %/a/td
   td$%= $amount($i) %/td
   /tr
%
 
  There's a LOT more escaping going on in the ASP-style version -- %=
  and % are used instead of just one \ ...
 
   For that type of output, yes its not the best choice. However, there
  are
   situations where doing it inside an ns_adp_puts is the more hideous of
   the choices. For example:
  
   table
   %
   foreach row $rows {
   foreach {
   item1 item2 item3 item4 item5 item6 item7
   } $row {break}
   ### Output a lot of html for each row of data
   %
  
   tr
  !-- 30 lines of html here that output the items
-- and the form elements involved with them
--
   /tr
  
   %
   ### Done with row
   }
   %
   /table
 
  I fail to see why the following is more hideous than your version
  above:
 
  table
  %
  foreach row $rows {
  foreach {
  item1 item2 item3 item4 item5 item6 item7
  } $row {break}
  ### Output a lot of html for each row of data
  ns_adp_puts [subst {
  tr
 !-- 30 lines of html here that output the items
   -- and the form elements involved with them
   --
  /tr
  }]
  ### Done with row
  }
  %
  /table
 
  Instead of % and %, my version uses ns_adp_puts [subst { and }].
 
  The difference is, the actual 30 lines of HTML that would be where the
  HTML comment is in your version will have much more escaping using %=
  and % than in mine where I only need to escape $ and [ and only IF they
  actually appear in the HTML.  In your version, every single time you
  want to interpolate some Tcl chunk, you'll need to escape it with %=
  and %.
 
  Regardless, there's too many folks out there who cut their teeth on web
  scripting on VBScript and ASP to not at least support this style, but
  the less ASP-style ADP code that's out there, the better.  Just because
  it's a popular doesn't mean it's better, and most people just think it's
  better because that's what they learned first.  It's just resistance to
  change ...
 
  Unless, people really want to debate that Microsoft's known for
  inventing things that really ARE best practices ... as opposed to just
  creating a lot of inertia.  I mean, all of those enhancements to the
  HTTP protocol and JavaScript and CSS that are in MSIE that aren't
  supported by other browsers ... everyone should do it that way, the
  pages just LOOK better with those extra features ...
 
  -- Dossy
 
  --
  Dossy Shiobara   mail: [EMAIL PROTECTED]
  Panoptic Computer Network web: http://www.panoptic.com/
He realized the fastest way to change is to laugh at your own
  folly -- then you can let go and quickly move on. (p. 70)
 
 
  --
  AOLserver - http://www.aolserver.com/
 
  To Remove yourself from this list, simply send an email to
  [EMAIL PROTECTED] with the
  body of SIGNOFF AOLSERVER in the email message. You can leave the
  Subject: field of your email blank.
 


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of SIGNOFF AOLSERVER in the email message. You can leave the Subject: field of 
your email blank.


Re: [AOLSERVER] AOLSERVER Digest - 10 Aug 2004 to 11 Aug 2004 (#2004-171)

2004-08-13 Thread Vlad Seryakov
Here is the list of general purpose tags that do not need additional Tcl
procs/packages:
master
slave
include
list
return
continue
exit
if
else
All db related tags (multirow,multipage,group) are very usefull but they
will need db procs to be included as well.
Dossy Shiobara wrote:
On 2004.08.13, Vlad Seryakov [EMAIL PROTECTED] wrote:
I think everyone would benefit if AOLserver includes some kind
templating solution without installing whole OpenACS system.
Strip down templating with several usefull tags like if include
multirow list and etc would put AOLServer on the same level
as PHP/Perl with Apache systems regarding templating. I can provide
small version of my templating system which is kind of
similar to OpenACS, it can work without any external dependencies. No
documentation but good examples will be a good start.

I think just an off-the-shelf taglib via ns_adp_registertag would be
great, like you suggest.
Can we come up with a list of tags and what they should do, then we can
discuss the pro's and con's of the behaviors, then once we're agreed on
a sane set of tags, folks can implement them.
-- Dossy
--
Dossy Shiobara   mail: [EMAIL PROTECTED]
Panoptic Computer Network web: http://www.panoptic.com/
  He realized the fastest way to change is to laugh at your own
folly -- then you can let go and quickly move on. (p. 70)
--
AOLserver - http://www.aolserver.com/
To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of SIGNOFF AOLSERVER in the email message. You can leave the Subject: field of 
your email blank.
--
Vlad Seryakov
703 488-2173 office
[EMAIL PROTECTED]
http://www.crystalballinc.com/vlad/
--
AOLserver - http://www.aolserver.com/
To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of SIGNOFF AOLSERVER in the email message. You can leave the Subject: field of 
your email blank.


Re: [AOLSERVER] AOLSERVER Digest - 10 Aug 2004 to 11 Aug 2004 (#2004-171)

2004-08-13 Thread Dossy Shiobara
On 2004.08.13, Nathan Folkman [EMAIL PROTECTED] wrote:
 Before:

tda ref=link[set $i]Item $i/a/td

 After:

 tda ref=link$iItem $i/a/td

These do not do the same thing, but I also think Rob's example is
incorrect.  What I *think* he meant to do was:

set i 1
set link1 /page.adp

ns_adp_puts [subst {tda ref=[set link$i]Item $i/a/td}]
# outputs: tda ref=/page.adpItem 0/a/td}]

as opposed to:

ns_adp_puts [subst {tda ref=link$iItem $i/a/td}]
# outputs: tda ref=link1Item 1/a/td

-- Dossy

--
Dossy Shiobara   mail: [EMAIL PROTECTED]
Panoptic Computer Network web: http://www.panoptic.com/
  He realized the fastest way to change is to laugh at your own
folly -- then you can let go and quickly move on. (p. 70)


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of SIGNOFF AOLSERVER in the email message. You can leave the Subject: field of 
your email blank.


Re: [AOLSERVER] AOLSERVER Digest - 10 Aug 2004 to 11 Aug 2004 (#2004-171)

2004-08-13 Thread Steve Manning




On Fri, 2004-08-13 at 15:32, Dossy Shiobara wrote:


I think just an off-the-shelf taglib via ns_adp_registertag would be
great, like you suggest.

Can we come up with a list of tags and what they should do, then we can
discuss the pro's and con's of the behaviors, then once we're agreed on
a sane set of tags, folks can implement them.

-- Dossy



Dossy

As well as the tags what about OACS style pairing of the adp with a tcl page to do the processing and prepare the output. I like the demarkation especially if your processing a query or validating form data - the tcl page does the work and the adp displays the results.

 Steve





-- 
Steve Manning [EMAIL PROTECTED]








--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of your email blank.



Re: [AOLSERVER] AOLSERVER Digest - 10 Aug 2004 to 11 Aug 2004 (#2004-171)

2004-08-13 Thread Dossy Shiobara
On 2004.08.13, Steve Manning [EMAIL PROTECTED] wrote:
 As well as the tags what about OACS style pairing of the adp with a tcl
 page to do the processing and prepare the output. I like the demarkation
 especially if your processing a query or validating form data - the tcl
 page does the work and the adp displays the results.

Too cumbersome.  Just write Tcl procs and have them loaded into the
server, and just call them from your ADPs.

We're talking web applications here that consist of a collection of web
pages.  That's so simple, why overcomplicate things with a whole
templating system?  If folks want to punish themselves by requiring an
ADP and Tcl page, that's fine.  I certainly wouldn't encourage that
behavior ... unless someone can give me a real example with code why
it's actually superior, as opposed to the way ACS has always done it.

-- Dossy

--
Dossy Shiobara   mail: [EMAIL PROTECTED]
Panoptic Computer Network web: http://www.panoptic.com/
  He realized the fastest way to change is to laugh at your own
folly -- then you can let go and quickly move on. (p. 70)


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of SIGNOFF AOLSERVER in the email message. You can leave the Subject: field of 
your email blank.


Re: [AOLSERVER] AOLSERVER Digest - 10 Aug 2004 to 11 Aug 2004 (#2004-171)

2004-08-13 Thread Brett Schwarz
Personally, I agree. I really think it would be over
complicating things. I am not sure why OpenACS was so
gungho (sp?) about the templating system, in the first
place.

BUT, that's just my opinion. I am sure there are
people that want this behavior...but, most likely it
is something that can just be added as an extension
anyways...no reason to put it in the core...correct?


--- Dossy Shiobara [EMAIL PROTECTED] wrote:

 On 2004.08.13, Steve Manning [EMAIL PROTECTED]
 wrote:
  As well as the tags what about OACS style pairing
 of the adp with a tcl
  page to do the processing and prepare the output.
 I like the demarkation
  especially if your processing a query or
 validating form data - the tcl
  page does the work and the adp displays the
 results.

 Too cumbersome.  Just write Tcl procs and have them
 loaded into the
 server, and just call them from your ADPs.

 We're talking web applications here that consist of
 a collection of web
 pages.  That's so simple, why overcomplicate things
 with a whole
 templating system?  If folks want to punish
 themselves by requiring an
 ADP and Tcl page, that's fine.  I certainly wouldn't
 encourage that
 behavior ... unless someone can give me a real
 example with code why
 it's actually superior, as opposed to the way ACS
 has always done it.

 -- Dossy

 --
 Dossy Shiobara   mail:
 [EMAIL PROTECTED]
 Panoptic Computer Network web:
 http://www.panoptic.com/
   He realized the fastest way to change is to laugh
 at your own
 folly -- then you can let go and quickly move
 on. (p. 70)


 --
 AOLserver - http://www.aolserver.com/

 To Remove yourself from this list, simply send an
 email to [EMAIL PROTECTED] with the
 body of SIGNOFF AOLSERVER in the email message.
 You can leave the Subject: field of your email
 blank.



--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of SIGNOFF AOLSERVER in the email message. You can leave the Subject: field of 
your email blank.


Re: [AOLSERVER] AOLSERVER Digest - 10 Aug 2004 to 11 Aug 2004 (#2004-171)

2004-08-13 Thread Don Baccus
On Friday 13 August 2004 09:22 am, Dossy Shiobara wrote:

 We're talking web applications here that consist of a collection of web
 pages.  That's so simple, why overcomplicate things with a whole
 templating system?  If folks want to punish themselves by requiring an
 ADP and Tcl page, that's fine.  I certainly wouldn't encourage that
 behavior ... unless someone can give me a real example with code why
 it's actually superior, as opposed to the way ACS has always done it.

You've got it backwards, that's NOT the way ACS has always done it.  Previous
versions of the ACS intermingled logic and presentation.  Experience working
with client non-programmer designers that led ArsDigita to decide to write a
templating system that allows for the separation of logic and presentation.
We're not the only people in the world who see value in this.

You write all your web pages by hand.  Fine.  When I want to change the look
and feel of every form in an OpenACS site, to meet the design criteria of a
client, I change one file and the templating system takes care of the rest.

It's a bit less work than visiting every .adp page in the system looking for
form tags...

--
Don Baccus
Portland, OR
http://donb.furfly.net, http://birdnotes.net, http://openacs.org


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of SIGNOFF AOLSERVER in the email message. You can leave the Subject: field of 
your email blank.


Re: [AOLSERVER] AOLSERVER Digest - 10 Aug 2004 to 11 Aug 2004 (#2004-171)

2004-08-13 Thread Dossy Shiobara
On 2004.08.13, Don Baccus [EMAIL PROTECTED] wrote:
 You write all your web pages by hand.  Fine.  When I want to change
 the look and feel of every form in an OpenACS site, to meet the design
 criteria of a client, I change one file and the templating system
 takes care of the rest.

In my world, you would just change one file named something like
site-style.tcl that just defines procs which return HTML chunks
that are used to build the overall site presentation.  What I thought
was being said was some pairing of .adp and .tcl meaning for each
page there would be an .adp file AND a .tcl file that gets sourced
when the .adp is requested -- yikes.

If you're saying have procs defined in your server's tcl lib dir that
get loaded at start-up and then call those procs from ADP pages, yes,
that's *definitely* the way to go.

-- Dossy

--
Dossy Shiobara   mail: [EMAIL PROTECTED]
Panoptic Computer Network web: http://www.panoptic.com/
  He realized the fastest way to change is to laugh at your own
folly -- then you can let go and quickly move on. (p. 70)


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of SIGNOFF AOLSERVER in the email message. You can leave the Subject: field of 
your email blank.


Re: [AOLSERVER] AOLSERVER Digest - 10 Aug 2004 to 11 Aug 2004 (#2004-171)

2004-08-13 Thread Andrew Piskorski
On Fri, Aug 13, 2004 at 01:10:43PM -0400, Dossy Shiobara wrote:

 was being said was some pairing of .adp and .tcl meaning for each
 page there would be an .adp file AND a .tcl file that gets sourced
 when the .adp is requested -- yikes.

You may or may not prefer it, but there's no yikes about it, it
works quite well, and efficiently too.

In AOLserver, Tcl code can be defined in a .tcl page, or it can be
defined in a server-wide Tcl proc.  These two locations for defining
Tcl code aren't exactly all that different from each other.

In the case of the OpenACS Templating System (and in all versions of
ACS back to somewhere around ACS 3.4 or so), the .tcl pages are in
fact compiled to Tcl procs and cached on first use, which eliminates
any performance difference between the two places Tcl code can live.

It would be nice if some of the really handy page-oriented OpenACS
procs, like ad_page_contract, ALSO worked the same way for procedures.
It would also be nice if the Templating System implemenation could be
cleaned up a bit and made easier to hack on.  These are, however,
quite minor complaints, and never bothered me much back when I was
using the Templating System on a regular basis.  Also, some of them
have even been partially addressed already, e.g.:

  http://openacs.org/forums/message-view?message_id=197740

--
Andrew Piskorski [EMAIL PROTECTED]
http://www.piskorski.com/


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of SIGNOFF AOLSERVER in the email message. You can leave the Subject: field of 
your email blank.


Re: [AOLSERVER] AOLSERVER Digest - 10 Aug 2004 to 11 Aug 2004 (#2004-171)

2004-08-13 Thread Andrew Piskorski
On Fri, Aug 13, 2004 at 10:12:20AM -0400, Vlad Seryakov wrote:
 I think everyone would benefit if AOLserver includes some kind
 templating solution without installing whole OpenACS system.

It should be feasible to refactor the OpenACS Templating System to
work equally well both with and without the rest of OpenACS, as AFAIK,
no part of the Templating System depends on the OpenACS data model in
any way.  The work is non-trivial though, as it probably also means at
least some amount of refactoring the OpenACS request processor, etc.

Some people have already expressed some in that sort of refactoring
for the acs-tcl package in the thread below, so extending that to
acs-templating as well might be a natural next step:

  http://openacs.org/forums/message-view?message_id=195578

--
Andrew Piskorski [EMAIL PROTECTED]
http://www.piskorski.com/


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of SIGNOFF AOLSERVER in the email message. You can leave the Subject: field of 
your email blank.


Re: [AOLSERVER] AOLSERVER Digest - 10 Aug 2004 to 11 Aug 2004 (#2004-171)

2004-08-13 Thread Andrew Piskorski
On Thu, Aug 12, 2004 at 04:36:20PM -0400, Andrew Piskorski wrote:

 I don't even know what they call it, but I've long heard that the AOL
 guys (the Digital City team?) have their own internally developed
 toolkit to do more or less the same sort of stuff as OpenACS.  Don't
 you AOL folks use it?

I'm actually most interested in this bit.  Do AOL's developers all
re-use this internal AOL toolkit for use with AOLserver, whatever it's
called?  Or do different projects really start entirely from scratch
each time rolling their own?

--
Andrew Piskorski [EMAIL PROTECTED]
http://www.piskorski.com/


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of SIGNOFF AOLSERVER in the email message. You can leave the Subject: field of 
your email blank.


Re: [AOLSERVER] AOLSERVER Digest - 10 Aug 2004 to 11 Aug 2004 (#2004-171)

2004-08-13 Thread Jim Davidson




In a message dated 8/12/2004 3:02:14 PM Eastern Daylight Time, 
[EMAIL PROTECTED] writes:
 
   Has anyone tried to get the asp style ADP parser originally written 
  in  like 1999 or 2000 by some guys at AM Computers working with 
  Aolserver  4? The source file was nsAspStyleAdps.c. 
  It allowed conditional code  throughout the file separated by 
  the % % sequence, in the manner of  ASP.This 
  has always been one of my biggest complaints with aolserver. 
  Whenyou have to output html conditionally in adp pages, you have 
  tobackslash everything to keep tcl from choking on it.It's just 
  this sort of problem that makes me wonder if the peoplebuilding aolserver 
  ever actually USE aolserver to build webapplications. It seems like 
  not that big of a deal . . . until yourealize that we do this ALL THE 
  TIME.



Howdy,

I wrote the ADP parser and I made the decision to not support the sequence 
above. I'm aware folks use such techniques in .Net and JSP. In fact, 
the original, never releasedADP parser did support this as it "compiled" 
the entire page into a single Tcl script, with all the text areas replaced with 
"ns_puts text..." -- this is similar to how a JSP parser works. And, versions of 
AOLserver used to support the parser plugin as described stuff so folks could 
implement their own as in ACS.

We didn't stay with this model forthree reasons:

- As a single script, any error on the page would result in the entire 
script failing and no output being generated. We assumed folks would 
prefer some result with small errors passed over instead of creating ugly error 
messages. Today it seems folks would prefer the other behavior similar to 
JSP.

- For efficiency, we assumed the tight ADP evaluation engine would be 
faster at just copying the text chunks directly to the output buffer instead of 
calling ns_puts repeatedly. It would also do a better job and sharing 
memory between threads as a page-compiled-to-script model would require each 
thread to have it's own script text and byte codes. Neither of these 
optimizations have been fully explored and verified although they "feel 
good".

- The parser plugin model was a bit clunky in it's interface. It was 
used internally to support a simple, presumably fast parser, and a "fancy" 
parser which handled the registered tag stuff. In AOLserver 4.0, there is 
only one parser which supports all the fancy features and appears to be fast 
enough.

Having said all that, it wouldn't be too hard to modify the existing parser 
to output essentially "single script" style code which could support the 
conditional model above. It would then potentially be slower and/or 
require more memory as described above but folks who are ok with that could 
choose that option. I'll take a look at the code and see if it would be 
hard to drop in.

-Jim



--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of your email blank.



Re: [AOLSERVER] AOLSERVER Digest - 10 Aug 2004 to 11 Aug 2004 (#2004-171)

2004-08-13 Thread Don Baccus
On Friday 13 August 2004 12:43 pm, Andrew Piskorski wrote:

 In the case of the OpenACS Templating System (and in all versions of
 ACS back to somewhere around ACS 3.4 or so), the .tcl pages are in
 fact compiled to Tcl procs and cached on first use, which eliminates
 any performance difference between the two places Tcl code can live.

Actually the .adp page is compiled to Tcl, appended to the script in the .tcl
file, compiled, and the bytecode cached.

There's a one-time compile penalty per interpreter.

 It would be nice if some of the really handy page-oriented OpenACS
 procs, like ad_page_contract, ALSO worked the same way for procedures.
 It would also be nice if the Templating System implemenation could be
 cleaned up a bit and made easier to hack on.  These are, however,
 quite minor complaints, and never bothered me much back when I was
 using the Templating System on a regular basis.  Also, some of them
 have even been partially addressed already, e.g.:

Originally the templating system was standalone...

--
Don Baccus
Portland, OR
http://donb.furfly.net, http://birdnotes.net, http://openacs.org


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of SIGNOFF AOLSERVER in the email message. You can leave the Subject: field of 
your email blank.


Re: [AOLSERVER] AOLSERVER Digest - 10 Aug 2004 to 11 Aug 2004 (#2004-171)

2004-08-13 Thread Steve




On Fri, 2004-08-13 at 18:10, Dossy Shiobara wrote:


What I thought
was being said was some pairing of .adp and .tcl meaning for each
page there would be an .adp file AND a .tcl file that gets sourced
when the .adp is requested -- yikes.


Eeek I wasn't looking to start a flame war :-( Twas just a suggestion thats all. Having started in plain AOLserver then moved on to OACS I find that the tcl/adp templating system is very productive and the results are very clean. What I was suggesting was as an option rather than compulsory.

I just like the fact that I can write a /foo/bar/index.tcl page containing a db query, and write a corresponding /foo/bar/index.adp page which displays the results of the query using the custom tags Vlad mentioned and call it with /foo/bar/index. I don't have to escape anything, I don't have to find the file containing the proc which is registered to that url, I can look in /foo/bar and know that the logic is in the tcl and the presentation is in the adp.

However, even with the OACS toolkit loaded I can still write a single tcl page, and adp page containing tcl code, a registered tcl procedure returning html or a tcl/adp pair - no options are lost its just an alternative.

 Steve





--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to [EMAIL PROTECTED] with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of your email blank.