Advice on mod_lisp-based web application.



I've got a lisp simulation program that serves its interface over
html. After
all kinds of trouble with IT folks at my organization - paperwork,
having to
migrate from Portable Allegro Serve to mod_lisp/Apache, I have a beta
version
on our intranet.

The beta works fine for one user, but, understandably, it doesn't work
for
multiple users. It's understandable because 1) multiple concurrent
users
isn't (at lease wasn't) a requirement and 2) I'm just a noob.

My kludgey and hopefully short term solution strategy is to allow only
one
user at a time. There are only a few (less than five) potential
users, so
it's not as bad a solution as it sounds.

What I was hoping for is some advice on implmentation. At the very
least, it
seems, I have two desiderata:

1. Persistence. My server needs to be able to maintain connection
with a
single, unique user while that user is using the simulation, and
politely
block other users.

and

2. Termination. After some pre-specified idle period, terminate the
"session"
(not sure what word I should be using here), thus allowing a new
user
access.

As for the Persistence issue, I was thinking I could use remote-ip-
address
key/value pair that comes with every modlisp request to identify the
user.
Will this work, or will I have to do something with cookies?

As for the termination issue, I've been tinkering around with a
timeout. One
of the options when you start a modlisp server is a timeout. When
that
timeout is reached, a timeout condition is signaled. Presumably, I
could
write code that could handle that condition, offering the user a
choice to
continue using the simulation, and in the event that the user doesn't
respond,
close out the user's "session". I'm not sure this is an appropriate
use of
the condition system, and furthermore, I don't know where I would put
the
handling code (a handler-bind form, I belive).

My guess is I have more problems than just Persistence and
Termination. Any
comments on either of these or the other problems that I'm not yet
aware will
be much appreciated.


Thanks in advance,
Blaine


PS A while back I wrote a little noob modlisp install guide that may
provide some details that may help answer my questions:
http://www.blaino.com/guide/modlisp-pcl-guide.html

.