Online Chat Sessions
Transcript of AllegroServe
Transcript of AllegroServe
John Foderaro --
(9:48:06 PDT) Instructions for using this
chat are here:
http://franz.com/resources/educational_resources/about.chat.php3John
Foderaro -- (9:51:28 PDT)
The chat will begin at 11am PDT. If you want to try
a test post or two to make sure you're comfortable with the chat, please go
ahead.
Francis Leboutte -- (9:59:20
PDT) Hello,
Is 11am PDT in a few minutes
or 1 hour later?
John Foderaro -- (9:59:58
PDT) It's one hour from now. Check the
timestamp on each message to see what time it is here. Thanks for joining
us.
Steve Jacobson -- (10:02:18 PDT) verifying I'm up...
Rick
Wojcik -- (10:04:02 PDT)
Test
Luca Gilardoni
-- (10:04:31 PDT) Verifying I'm up
too.
Marek Lugowski -- (10:08:54 PDT) Checking in from Evanston, IL
(Northwestern)
Francis Leboutte --
(10:25:09 PDT) It's 7.20 p.m here (Belgium).
I'm afraid I have to quit
in a few minutes (primary school end fair of my
son).
I'll read the transcript of the chat tomorow or when
available.
I
don't know what kind of questions are going to be
answered. As I am ignorant
regarding WEB application
development, I would be interested in
general
information about AServe. Information that could be
useful to
present to managers and customers.
For example, how does AServe compare with
well known
WEB servers (strength, weakness, application field,
...). What
are AServe development plans for future?
Thank you anyway and have
fun.
John Foderaro -- (10:25:55
PDT) thanks for stopping
by
Ahmon Dancy -- (10:35:31 PDT) Greetings
John
Foderaro -- (10:36:35 PDT) While you're waiting for the chat to start you
might want to check out the source for this chat program at
chat.clWe'll have a 'formal
release' of this program along with documentation at some point. The code is a
bit complex since it supports multiple clusters of separately administered
chats. The code to simply support what you see here would be much
smaller.
Luca Gilardoni -- (10:37:52
PDT) Same time (7.30 pm) in Italy - I will be
there for a bit
more but I don't know for how long, so I will put
forward
a few very direct question.
1) How do AServe compare with CL-HTTP?
2) Is (or will - or is but will not be later) Aserve Open SOurce
(GPL/..)?
Joe Fasel -- (10:42:20
PDT) Joining in from Los
Alamos
Bill Davis -- (10:49:29 PDT) Hi John!
Ahmon Dancy -- (10:49:40 PDT) Hi
Bill!
Bill Davis -- (10:51:15 PDT) Do we officially start in ~10
minutes?
John Foderaro -- (10:51:44
PDT) yep.. Hi Bill
Frank
Mayfield -- (10:53:51 PDT)
Hello John
Bill Davis -- (10:54:35 PDT) Hi
Frank
Frank Mayfield -- (10:55:07 PDT) hiya bill - fancy meeting you
here
John Foderaro -- (10:55:12 PDT) Hello Frank, welcome
Harry
McElroy -- (10:56:29 PDT) Hello, everyone. This is Harry from
Performigence
Ahmon Dancy -- (10:56:50
PDT) Hi Harry
Frank
Mayfield -- (10:57:05 PDT)
welcome, Harry
John
Foderaro -- (10:59:38 PDT) looks like I found a bug in the chat already...
blanking the seconds field doesn't turn off the auto refresh... Oh well, that's
easy to fix but too late for this chat.
John Foderaro -- (11:00:15 PDT) I guess we should
get started..
First, thanks for showing up.
Jans
Aasman -- (11:00:31 PDT)
Hello everyone, my name is Jans Aasman van KPN
Research in the Netherlands
John Foderaro --
(11:01:24 PDT) Let me answer the question
below... why write another web server, why not just use cl-http?
There
are a lot of different reasons
1. we have different ideas on how to structure
the web server that
we want to explore.
-- minimum size versions for
installation in an existing application
-- using separate operating system
processes vrs lisp threads in single process
2. We are building lots of
support in acl for servers of all kinds
and a web server is test application
to build to verify that we've
done things correctly.
3. We need the abilty
to synchronize the development of the web
server with our ACL release
schedule and to include the code with
our releases. We have no control over
the cl-http release schedule
and aren't allowed to redistribute versions of
the code.
4. We want to be able to include the webserver in our own
commercial applications and we want our customers to be able
to build
commericial web applications. The cl-http license
has issues in this
regard.
5. It's good to have independent development of things as it
allows more ideas can be tested. There can also be some
cross-polination.
Both web servers are open source so sharing
should
occur.
Rick Wojcik --
(11:01:27 PDT) Hi, I'm Rick Wojcik from
Boeing
John Foderaro -- (11:02:57 PDT) question 2 was
2) Is (or will - or is but will
not be later) Aserve Open SOurce (GPL/..)?
the answer is Yes. It is
LGPL'ed and will always be.
Steve Jacobson
-- (11:03:54 PDT) I'm interested in hearing
more about:
using separate OS processes vs. lisp
threads
John Foderaro -- (11:05:09 PDT)
it's an interesting architecture choice.......
with separate os threads you can avoid a GC stopping all web serving.... however
you don't get the advantage of sharing the lisp address space in the webserver
(which is important for this chat program for example)
John
Foderaro -- (11:05:46 PDT) Does anyone feel that it's a bad idea to create
yet another web server?
Rick Wojcik --
(11:06:36 PDT) John, we are ecstatic about
it. We have immediate plans to incorporate Allegroserve in our commercial
application, the Boeing Simplified English Checker
John
Foderaro -- (11:06:41 PDT) hmm.. maybe that new background is
distracting...
Harry McElroy -- (11:07:01
PDT) I think that it is good to have
choices.
Bill Davis -- (11:07:02 PDT) not a bad idea, but I think folks might be confused
about where to put their energy
Bill Davis --
(11:08:06 PDT) Having a central focus for
maintenance, and having a focus on commercial deployment is a huge
plus
John Foderaro -- (11:08:40 PDT) Our goal wasn't to split the lisp webserver market
but to grow it... having control of the technology means that we can deliver
bullet proof servers which people want for business purposes.
Luca
Gilardoni -- (11:09:13 PDT)
I do not personally feel it's a bad idea having
yet another web server. But I suspect the implication
of this is that
there will be no more any
serious ACL/CL-HTTP. Bill Davis has a point on
where to put energy .
John Foderaro -- (11:10:15 PDT) We are continuing
to make the cl-http port work... but if there were a cl-http user wanting to
take over the acl port we would let them be in charge and would help them any
way we could.
John Foderaro -- (11:10:44
PDT) since we don't use cl-http we don't
hear about the bugs until people tell us.
John
Foderaro -- (11:11:10 PDT) Another question was........what are we working on
now...
html parser - we have one working, just have to publish
it.
proxy - work is being done on that right now.
secure sockets - we're
working on getting SSL into the ACL 6.0 streams
and then AllegroServe will
have secure sockets.
Rick Wojcik --
(11:11:16 PDT) In our case, we can't use
cl-http because of the licensing issue. Franz has just made their product much
more valuable to us.
Kevin Layer -- (11:12:14
PDT) How many lines of code is this chat
program (lisp + aserve)?
Nice dynamic switch of the
table....
John Foderaro -- (11:12:21
PDT) We definitely want people to use
allegroserve for commercial purposes, and we want to support people doing
that.
Jans Aasman -- (11:12:31 PDT) Rick, I would like to know more about that, did
you explore the possibilities and impossibilities in depth with the cl-http
licencing scheme
John Foderaro -- (11:13:00
PDT) the chat program is 1368 lines.. and
aserve is
193 779 5737 authorize.cl
989 3326 27816 client.cl
589
2442 16333 decode.cl
258 721 7313 load.cl
1 3 34 loadonly.cl
87 327
2544 log.cl
125 523 3405 macs.cl
1943 6337 54936 main.cl
675 2468 18120
parse.cl
1387 4501 43661 publish.cl
6247 21427 179899
total
Bill Davis -- (11:13:11 PDT) Regarding energy: one question we have is what
facilities will be /are in AllegroServe vs. what's now in
CL-HTTP.
Specifically, we're curious how much ground we have to cover to
duplicate the things we now use/take for granted in CLHTTP. One can argue that
CLHTTP is bloated, but its nice to have something ready made.
John, can you
speak to those "facilities", i.e., those comment macros ("with-table", etc.)
that provide some common capabilities?
Rick Wojcik -- (11:13:59 PDT) No, we didn't want
to go near cl-http after we heard about the problems. We had a working solution
with Perl CGI scripts. Allegroserve wipes out all our configuration problems
with Perl at no extra cost to us. We need to keep our product within reach of
people's pocketbooks.
Bill Davis -- (11:15:27
PDT) (A side note to whoever moderates this
transcripts... I would find it very useful to have email links/contracts for the
participants; others might like that, too. Just FYI.]
John
Foderaro -- (11:15:49 PDT) for Aserve we provide rock-bottom html generation
capaibilities.... very simple but very easy to use and remember.
one
could write cl-http like macros but I would discourage their use since one
advantage of the aserver html generation macros will been seen when you see what
our html parser generates -- namely exactly what is needed by the html macros to
generate the html........... having the identical form is great for editing web
pages on the fly.
Joe Fasel -- (11:16:13
PDT) About the HTML parser, is it strictly
HTML, or more general
SGML?
John Foderaro
-- (11:16:30 PDT) ok... my email address is
[email protected] Bill Davis -- (11:16:55
PDT) Rick, I don't want to sideline this
AServe discussion, but in a nutshell what are/were the CLHTTP problems? sounds
like it was a big $ issue?
(direct me to offline if you
prefer)
John Foderaro -- (11:16:59 PDT)
the html parser is strictly html... (and it
handles illegal html too)........ we are working on an xml parser
too
Bill Davis -- (11:17:05 PDT) my email is
[email protected]Jans Aasman --
(11:17:30 PDT)
[email protected]Bill
Davis -- (11:17:44 PDT)
Rick-- I mean "what were the CLHTTP **Licensing**
problems..."
Ahmon Dancy -- (11:17:50
PDT) [email protected]Harry
McElroy -- (11:17:58 PDT) My email is
[email protected] phone:
213-743-4036
Steve Jacobson -- (11:18:04
PDT) [email protected]Luca
Gilardoni -- (11:18:13 PDT)
Correct.
[email protected]Quinary is an italian
system integration company.
With roots in lisp since when JKF was a name on
the cover
of Franz Lisp, Opus ... old enough.
Joe
Fasel -- (11:18:15 PDT)
[email protected]Kevin Layer -- (11:18:20 PDT)
[email protected]Frank
Mayfield -- (11:18:27 PDT)
[email protected]Fritz
Kunze -- (11:18:40 PDT)
[email protected]Jim
Schmolze -- (11:18:41 PDT) A few technical questions for a non-cl-http
user
but someone who uses Perl CGI scripts with MySQL.
1. Does
Allegroserve support sessions easily?
I.e., I would like to create a session
over several
HTML Pages by giving only an authorization to a
username and
password. In the support of sessions,
I would like to keep arbitrary Lisp
structures
around from page to page.
2. Is there any special connection to
supported
database systems such as MySQL?
Rick
Wojcik -- (11:18:57 PDT)
OK, Bill. But let's discuss this
offline.
Rick Wojcik -- (11:19:10 PDT) [email protected]Kevin
Layer -- (11:19:14 PDT)
Steve or John, you might want to address the issue
of having separate html and xml parsers.
Bill Davis -- (11:19:42 PDT) kevin,
agreed
John Foderaro -- (11:20:12 PDT) 1.. session support -- there's no session support
at this point. it's an important item though. For this chat you'll note that I
manufactured a session like facility using manufactured strings (see the url for
this chat to see)
Jans Aasman -- (11:20:27
PDT) And I would like to hear when your SSL
stuff will be ready
Harry McElroy -- (11:20:29
PDT) I am also interested in the session
issue. We have to maintain dialog in an expert system type of
way.
Ahmon Dancy -- (11:20:39 PDT) built-in session support would be a majoar
plus.
John Foderaro -- (11:21:26 PDT) we have no special connection to databases other
than our ODBC code, which works fine in the server. MySQL has MyODBC so it
should work fine
Kevin Layer -- (11:21:56
PDT) Regarding databases... one could use
AllegroStore.
John Foderaro -- (11:22:21
PDT) the easiest way to do authorization
for sessions is cookies.. but lots of people hate them.
It's an important
issue and we will solve it if some other allegroserve user doesn't beat us to
it
Jans Aasman -- (11:22:35 PDT) does AllegroStore allready run on
Linux??
John Foderaro -- (11:22:59 PDT)
this chat is running on Linux...... (in
allegroserve obviously)
Kevin Layer --
(11:23:00 PDT) AllegroStore runs on windows,
solaris, hp-ux (both 11.00 and 10.20) and IRIX.
John
Foderaro -- (11:23:20 PDT) oh---- sorry... you said AllegroStore.. I read it
wrong
Kevin Layer -- (11:23:28 PDT) AllegroServe runs on all lisp platforms we
support.... in case it wasn't clear
Steve Jacobson -- (11:23:48 PDT) eXcelon hasn't
released a Linux beta for ObjectStore, so we're waiting for
that...
Kevin Layer -- (11:24:17 PDT) for those that don't know, AllegroStore uses
objectStore
Steve Jacobson -- (11:24:19
PDT) (for AllegroStore on
Linux)
Bill Davis -- (11:24:23 PDT) John, it's not clear what you mean by "rock-bottom
html generation capaibilities" and the "identical form...for web pages".
I
know it sounds like a "you have to see it to understand what I mean" think, but
do you have any examples that would elucidate why those "cl-http macros" aren't
needed in Aserve?
John Foderaro --
(11:24:49 PDT) Jans asked about SSL........
we're going to try to get that into ACL 6.0......using the openssl
libraries.....
Kevin Layer -- (11:25:47
PDT) one issue with teh OpenSSL libraries is
the platforms we support... we're not sure they run on as many as we
do.
Jans Aasman -- (11:25:48 PDT) about SSL: that would be a very, very strong point
if you could make that as transparant as possible
Harry
McElroy -- (11:25:51 PDT) Is there any plans or interest in adding XML
generation in addition to parsing for AllegroServe?
John
Foderaro -- (11:26:07 PDT) Bill, have you seen the examples of AllegroServe
code? for example this chat program. I'd be curious what you thinking is missing
from the html generation code in it that you think would be better done with
with-table , etc.
Kevin Layer -- (11:26:37
PDT) Jans re: SSL: that's our
plan.
Bill Davis -- (11:26:59 PDT) John, haven't seen the examples. Is there a pointer
handy to pass out here?
Steve Jacobson --
(11:27:30 PDT) We plan to do XML generation,
though we're not sure if it will be content only or also dtd and other
stuff
John Foderaro -- (11:27:44 PDT) Bill... here's the chat program we're using
chat.cllook for "(html " to see
examples
Rick Wojcik -- (11:29:51
PDT) The XML parser would be extremely useful
for us. DTD support would be very helpful.
Steve
Jacobson -- (11:30:07 PDT)
suggestions for chat applet enhancments:
1.
participant list
2. private messages to a given
participant
John Foderaro -- (11:30:11
PDT) One question people sent in email was
-- what about working with Apache and IIS.
The answer there is that most
convenient way is to tell those servers to act as a proxy.. sending a certain
subset of requests to them to AllegroServe.
Kevin
Layer -- (11:30:26 PDT)
Rick: can you describe what type of DTD support
you'd like?
Steve Jacobson -- (11:30:48
PDT) the XML parser will parse DTD's and do
entity substitution. It is not currently planned to do validity
checking
Rick Wojcik -- (11:30:53 PDT) I'd also like to be able to save the chat stream to
a file and "whisper" to individuals in the chat room.
John
Foderaro -- (11:31:04 PDT) It's very simple to tell Apache to act as a proxy
for a subset of the url address space.
Bill Davis -- (11:31:29 PDT) For those of us
who are ignorant would you also define what DTD is? :)
John
Foderaro -- (11:31:59 PDT) Those are good chat suggestions.
Rick Wojcik -- (11:31:59 PDT) We need to integrate our language checking tool
with XML authoring environments. As it is, we generate checker reports in XML
according to a rudimentary DTD that we've defined.
John
Foderaro -- (11:32:56 PDT) we will send a complete transcript of this chat
to everyone who posted their email address. (or maybe we'll send a pointer to a
url containing the complete session).
Steve Jacobson -- (11:33:05 PDT) DTD: document
type declaration
short explanation: it's metadata about the text in the
document
Joe Fasel -- (11:33:16 PDT) I've been away for the last 15 minutes because of
a power failure. Did I miss anything? ;-)
Rick Wojcik -- (11:33:19 PDT) DTD = Document
Type Definition. It defines the logical meaning of the tags. Their physical
definition is handled by other means.
Bill Davis -- (11:34:12 PDT) thanks, i
understand that, Rick. I've been working preliminarily with vxml for
voice-control of a site
Bill Davis --
(11:34:49 PDT) Joe: set your messages to a
large count and your "seconds" to a large number and scroll back
through
John Foderaro -- (11:35:16
PDT) Let me ask a question...... we spent
a lot effort open sourcing AllegroServe..
what that time well
spent?
Do you care that the source is out there?
Do you ever look at the
source, or are you just comforted that you could if you wanted
to?
John Foderaro -- (11:35:46
PDT) (what->was)
Ahmon
Dancy -- (11:36:04 PDT)
I'm down w/ open source
Steve
Jacobson -- (11:36:19 PDT) word
Rick Wojcik
-- (11:36:37 PDT) John, Your time was very
well spent from our perspective. I don't personally look at or care about the
source. We just needed liberation from the CGI monkey. Now we can offer
customers a much simpler installation process.
Bill
Davis -- (11:37:12 PDT)
For me, it's more comfort to see the open source
-- we'd use it to troubleshoot when the documentation isn't clear enough. We
also use for programming "inspiration" as an example set.
Harry
McElroy -- (11:38:03 PDT) Open source is helpful to us. We are looking at
stylesheet generation and need to know how to fit that in the
scheme.
Ahmon Dancy -- (11:38:06 PDT) I agree with Bill on the inspiration and
troubleshooting features of open source
Arturo Medrano -- (11:38:24 PDT) Hello all,
greetings from Mexico
Jans Aasman -- (11:38:32
PDT) for me it also just an enormous
comfort to know that it is open source, and, that if you do a good job, others
will add their own improvements to it
John Foderaro -- (11:38:35 PDT) regarding
cgi-bin.....
I did some benchmarks and running apache where it has to
fork to run a cgi-bin program (which is stupid, I admit) results in a max hit
rate of 97 pages per second (on my home linux machine).
Doing the same thing
with allegroserve dynamically generating the page gave me a max rate of 521 hits
per second.
Joe Fasel -- (11:38:52
PDT) I very much appreciate the open
sourcing.
John Santore -- (11:39:03
PDT) I find the source code very useful.
I'm in an academic environment
So I don't get the opportunity to see that
much well designed code.
Being able to see how things are done is very useful
to me since I
too have often found some of the documentation difficult to
follow.
Bill Davis -- (11:39:21 PDT) John: regarding the example file of this
chat.cl...
I see what you mean by more direct html -- makes sense
now.
Interesting that in clhttp there's always a "stream" argument everywhere
being passed around. I don't (at first glance) see this in the chat.cl file.
What is the "(html ...)" function actually doing to control the destination of
the stream?
John Foderaro -- (11:39:43
PDT) Well I'm gratified to see that the
work to open source it was worthwhile.
Joe Fasel -- (11:40:42 PDT) I found the html
generation in clhttp to be a bit clumsy. Do you think Aserve is an
improvement?
Ahmon Dancy -- (11:40:46
PDT) As a lisp novice, I found allegroserve
to be quite nice. I wrote a webmail program in a few days.
John
Foderaro -- (11:41:04 PDT) Bill - if you notice in cl-http code the exact
same stream argument is passed from form to form.......that's
redundant.
in aserve there is a special variable *html-stream* bound by
the with-http-body macro, and that's the default place to send html.
by
removing the stream arg the structure of the document is
clearer.
John
Foderaro -- (11:41:37 PDT) Joe -- please look at the examples of html
generation in AllegroServe and let me know what you think.
Steve
Jacobson -- (11:41:52 PDT) regarding Bill's question about why there are
separate HTML & XML parsers:
The HTML parser is much looser because
of all the "grandfathered" HTML out there. It's basically two different
problems. I guess they come together in XHTML...
Bill
Davis -- (11:42:07 PDT)
John: absolutely. So, the with-http-body is the
beginning of a "page", then?
Joe Fasel --
(11:42:39 PDT) John, I think you've
answered both Bill's and my question.
The clumsiness is largely to do with
the stream parameter.
John Foderaro --
(11:43:16 PDT) Yes Bill, that's
correct.
my goal with aserve was to make simple things simple to
do.
If you want to do complex things then you have to
work.
Bill Davis -- (11:43:32 PDT) we could spend all day discussing CLHTTP
"clumsiness"
John Foderaro -- (11:44:09
PDT) I have to demonstrate the chat's
ability to put in an image..
Bill
Davis -- (11:44:13 PDT)
OK, John can you name a few things that, without
that "work", I could do in CLHTTP now that I can't do in AllegroServe
now?
John Foderaro -- (11:45:35 PDT) I'm not a cl-http expert, but I do know that
cl-http has a proxy system (ours isn't ready yet).. and a web walker (Kevin
Layer wrote one but we just us that internally).
Kevin
Layer -- (11:46:06 PDT)
John, I'm curious what you had to do to put the
image up...
John Foderaro -- (11:46:17
PDT) cl-http worries about generating code
for different browser versions.
AllegroServe puts that burden on
you.
Bill Davis -- (11:46:33 PDT) what about support for embedding javascript,
passing parameters to javascript, etc.
Kevin Layer -- (11:46:44 PDT) The web walker I
wrote will be available with ACL 6.0, source included.
I wrote it to
check links on our website.
John Foderaro
-- (11:46:52 PDT) To display an image just
put in the url of an image somewhere on the net....... beginning with http and
ending with jpg or gif
Kevin Layer --
(11:47:45 PDT) Btw, I've never run across a
link checker anywhere, which surprised me.
John
Foderaro -- (11:47:46 PDT) we don't do anything with javascript
generation...... you could insert it in the html as a string.....
is
that an important feature of cl-http to you?
John
Foderaro -- (11:48:15 PDT) cl-http's web walker isn't a link checker per
se.. but probably could be made to be one.
Joe
Fasel -- (11:49:09 PDT)
In fact, I think the javascript generation in
clhttp amounts to inserting the string, but in a roundabout
way.
Bill Davis -- (11:49:09 PDT) yes, we use a few javascript routines to simplify
the site interaction. We need to get parameters from lisp into javascript &
back.
Frank Mayfield -- (11:49:53 PDT) cl-http also has functionality to pass parameters
to and from Java Applets.
John Foderaro --
(11:50:13 PDT) ok.... I'll have to see
what's done with javascript there. Maybe it's something we can add to the html
macro
John Foderaro -- (11:50:54 PDT) Aren't parameters to applets just values of
parameters of the applet tag? It could be that we do enough already to support
that.
Bill Davis -- (11:52:26 PDT) our javascript is used to manipulate/populate
values in a fillout form, which then cl-http handles and returns to our lisp the
form values
Frank Mayfield -- (11:52:34
PDT) yes, you may. I'm not familiar with
AllegroServe - yet
John Foderaro -- (11:53:30
PDT) I've got some ideas about form
generation and usage....... too early to publish yet but I think it would result
in easy to publish and process forms.
Ahmon Dancy -- (11:53:30 PDT) javascript never
interacts w/ the web server, as far as I know.. When it comes down to it, data
sent to the web server will come from a form field or after the ? in the
URL
Marek Lugowski -- (11:54:24 PDT) John, do you see any usefulness in combining
AllegroServe with Java code (through foreign function interface, possibly?) I
ask because most of my development is in Java.
John
Foderaro -- (11:55:42 PDT) We will be releasing a nice java interface.... In
fact you may want to control your java vm from Lisp after you see this.. This
will allow Lisp and Java to interact and will allow you to make use of prebuilt
java classes
Bill Davis -- (11:56:16
PDT) sorry for my ignorance, but does that
mean AllegroServe doesn't do much (anything?) to generate & process
forms?
I mean, this chat page obviously has some form handling,
right?
John Foderaro -- (11:56:30 PDT) We've also made Lisp appear to be a java servlet
to a Java web server..
Ahmon Dancy --
(11:57:22 PDT) It's very easy to make and
process forms w/ allegroserve
John Foderaro -- (11:57:27 PDT) AllegroServe
doesn't have any fancy form code now. You have to write the form using the html
macros. We do make it easy to get the form values from the web browser by name
(it's as easy as getting something off an assoc list).
Ahmon
Dancy -- (11:57:33 PDT)
I'd even go as far as calling it
trivial.
John Santore -- (11:57:40 PDT)
Most of you seem to be pretty adept with web
servers. However we have a large AI system written in ACL that we would like to
put in the web.
Is there any documentation to help someone without too much
experience with web servers to quickly setup an Allegroserve webserver to link
in an existing lisp program?
Liam -- (11:58:44
PDT) I would like this too - I have
little experience with
web servers, far more with CL
Joe
Fasel -- (11:58:57 PDT)
Almon: easier than with
cl-http?
John Foderaro -- (11:59:12
PDT) John - it would be very simple for
you to load Allegro Serve into your program and to make it respond to requests
from a web server. It would just be a few lines of code (plus whatever function
you wanted to run to get the data to display)
John
Foderaro -- (12:00:02 PDT) Please look at the AllegroServe tutorial
tutorial.html to see some
examples of using AllegoServe
Ahmon Dancy --
(12:00:19 PDT) Joe, I have no experience w/
cl-http. Email me some sample code and I can compare and give you a definitive
yes or no. (
[email protected])
Ahmon Dancy
-- (12:00:41 PDT) (sample cl-http code,
that is)
Rick Wojcik -- (12:00:42 PDT) John and John, It took me only a few minutes to
load aserve into the Boeing Simplified English Checker and make it work. It was
very easy to do with the examples supplied in the help files.
John
Foderaro -- (12:01:10 PDT) ((to people who may have joined us late -- if you
post your email address we'll send you a pointer to the final chat
transcript))
Harry McElroy -- (12:01:15
PDT) What about web search functionality?
Is there any Lisp code around for that?
John Foderaro -- (12:02:48 PDT) The client part
of allegroserve combined with the html parser (to be published) makes it very
easy to scan pages..... it's not a search engine but you could probe search
engines and use their results
Ahmon Dancy --
(12:03:03 PDT) Web search would be a web
client thing, wouldn't it? yeah.. what John said.
Frank
Mayfield -- (12:03:33 PDT) For anyone here that is familiar with both cl-http
and AllegroServe - how does the the "help" and/or "documentation" compare? Is
one better or worse?
John Santore -- (12:03:42
PDT)
[email protected]Harry
McElroy -- (12:04:32 PDT) We would like to take advantage of Lisp and do
intelligent search beyond the traditional search
functionality.
Kevin Layer -- (12:04:42
PDT) Harry: what type of searching do you
want to do?
John Foderaro -- (12:04:56
PDT) searching on a single page? or
searching the whole web?
John Foderaro --
(12:05:30 PDT) I'm not familiar enough
with cl-http's documentation to answer that question (plus i'm too close to
aserve's documention)
Harry McElroy --
(12:06:00 PDT) Actually we would like to
confine to the search to certain domains while search the whole web in other
instances.
Frank Mayfield -- (12:06:30
PDT) Of course, that was really meant for
the participants.
Kevin Layer -- (12:07:27
PDT) Harry, sounds like you want to combine
a web walker with a Lisp program that does what you want.
Harry
McElroy -- (12:07:42 PDT) We have customers where we could provide value
if we could provide improved search capability in there
domains.
Luca Gilardoni -- (12:08:20
PDT) cl-http documentation ... there is some
guideline
but the idea behind is that .. the source is there,
please help
yourself. Obviously the problem is
in resourcing this. I did not checked if
aserve
docs are better (probably anyway not worst).
Kevin
Layer -- (12:08:56 PDT)
Harry, I basically see this as a project to
reproduce then go beyond the current search engines. cl-http has something
there, I've heard.
John Foderaro --
(12:09:08 PDT) here is one part of the
AServe documention... the manual
aserve.html I posted a link
to the tutorial earlier
Jans Aasman --
(12:09:33 PDT) Frank, cl-http might have
more features at this moment, but, the documentation in aserve is far, far
better!
John Foderaro -- (12:09:49 PDT)
and here's the html generation manual ...which
can be used separately
htmlgen.htmlJoe
Fasel -- (12:11:08 PDT)
cl-http has a mechanism for extracting
doc-strings from the Lisp source and presenting them through the web server. Has
something like that been done with aserve?
John
Foderaro -- (12:11:08 PDT) With client access to the web any program can
take advantage of search engines and can appear to be very
smart.
Frank Mayfield -- (12:11:13 PDT)
I just seem to find myself (too often) digging
through CLHTTP source code looking for an answer.
John - Jans seems to
like your documentation!
Liam -- (12:11:41
PDT) CL-HTTP docs are basically
nonexistant. There are function docs once you get the thing running. No
tutorial. So, aserve is better in this regard.
John
Foderaro -- (12:12:02 PDT) I don't use doc strings much in my programming...
so it wouldn't help much for AServe. I prefer to document the user visible
aspects of a function in actual written documentation.
Steve
Jacobson -- (12:12:05 PDT) I am signing off to go to an appt. - this was an
enjoyable & informative session
Kevin Layer -- (12:12:16 PDT) John, building on
your comment about search engines... Harry, you could use htdig (the gnu search
engine) and put an aserve front end on it.
Ahmon Dancy -- (12:12:24 PDT) Bye
Steve!
Frank Mayfield -- (12:12:26 PDT)
Thanks Liam, Luca and Jans
Harry
McElroy -- (12:12:45 PDT) Can anyone familiar with CL-HTTP respond to
Kevin's comment on search engines.
Joe Fasel
-- (12:13:32 PDT) John, I agree with you
about real documentation as opposed to just doc strings. Maybe some kind of
literate programming support would be good, though.
John
Foderaro -- (12:14:32 PDT) one could write a program in Aserve to help you
understand things about the lisp in which it is running. That is
true.
Harry McElroy -- (12:14:35 PDT) Kevin, how do I get my hands on
htdig?
Ahmon Dancy -- (12:14:55 PDT) http://www.htdig.org/Kevin Layer -- (12:15:30 PDT) Thanks
Ahmon.
John Foderaro -- (12:16:10 PDT) My philsophy is that every lisp application
should have a web interface to it. It needn't be the primary interface but it
should exist and it can at least give current state information about the
application.
Ahmon Dancy -- (12:16:33
PDT) Oh.. that makes me think of a
question. John, let's say I want to spawn a cgi-binish program from aserve. Is
that as easy to do as it would be for, say, apache?
Kevin
Layer -- (12:16:44 PDT)
A backdoor web. Cool.
Kevin
Layer -- (12:17:10 PDT)
I should have added... :)
Harry
McElroy -- (12:17:42 PDT) Thanks Ahmon. I just visited htdig and it looks
interesting.
John Foderaro -- (12:17:42
PDT) Ahmon- that is something that Aserve
can't do yet. It should be on the todo list. (you could do it yourself of
course, but it would be nice if aserve provided built in
functionality)
Kevin Layer -- (12:17:43
PDT) Gotta go folks. It's been
fun.
Rick Wojcik -- (12:18:00 PDT) John, we agree with your philosophy entirely. Most
of our customers want integration with their authoring environments, but our web
interface is very popular with some customers. Aserve gives us much more power
than we've had in the past to prototype new features in the
interface.
John Foderaro -- (12:18:08
PDT) looks like things are winding down
here.
any final quetions?
Hsin-Chi Chang -- (12:18:22 PDT)
[email protected]Ahmon
Dancy -- (12:19:00 PDT)
Q: So basically, Allegroserve rules,
right?
John Foderaro -- (12:19:19 PDT) A: (I can't answer that!)
Harry
McElroy -- (12:19:21 PDT) No, but I would like to compliment you on the
AllegroServe work. It was well thought out and executed.
Rick
Wojcik -- (12:19:31 PDT)
Long may it rule. :-)
John
Foderaro -- (12:20:42 PDT) Thanks to everyone for stopping by!
We'll
make a transcript available of this chat.
Frank
Mayfield -- (12:21:38 PDT) Thanks for making this chat time available to us,
John.
John Foderaro -- (12:22:58 PDT) You're welcome. Look for improvements in the
program in the future.
Jans Aasman --
(12:23:07 PDT) Bye, oh btw, are you going
to do this more often?? greetings, jans
Bill Davis -- (12:23:12 PDT) And a unique way
of demonstrating the product by using it in realtime! :-)
John
Foderaro -- (12:24:21 PDT) I hope we can do it more often. This is a great
way to stress test AllegroServe
Ahmon Dancy -- (12:26:02 PDT) I like that
allegroserve logo
John Foderaro -- (12:26:56
PDT) thanks to chf for that..
well
I better leave now.. and start writing the code to generate the
transcript.
Good bye all!