Re: Lisp Web Development and Application State




Hidden variables in the HTML forms, that is, <INPUT TYPE="hidden"
NAME="state" VALUE="8NM83gdUrqI8TsHe"> or similar. These provide
the hook for you to map back to wherever on the server you stored
the full state [whether in memory or an SQL database or whatever],
as I showed previously.[3]

In the limit, this can extend so far as to store *all* of the state
in the displayed pages, which has the distinct advantage of not
needing to handle any timeouts on session state on the server,
as well as allowing pages to be "restarted" even after having been
saved to the user's local disk(!) [but in that case you will probably
want to store a cryptographically-secure hash with the state to avoid
modify/replay attacks.


ASP.net does this, and I never thought all of the reasons why they went
with this method. At first, I thought, why not just store the data in
a session or hack together a continuations/closures system that stores
the data on the server. Sessions are great, but not for my particular
problem which is multi-page forms where the user might walk away for an
hour to get more information.

There are also all sorts of other cool little things that can be done
with storing data in a hidden variable:

- Save the "state" to a single session variable for small forms.
- Write the "state" to the database in a single field. Also, just save
parts of the state to a field.
- Write out the "state" easily to a file.
- The reasons you pointed out.

The database structure of the application is very, very abstract so
that I can create new forms on the fly without having to create new
tables.

Thanks for the well-thought-out response.

Chris

.



Relevant Pages

  • Re: Exchange 2003 Private Store Corruption
    ... Information Store First Storage Group: The database page read from ... Online Diagnostic Utility says "Correctable Memory Threshold Exceeded" ... the server back up and running without the faulty memory installed. ...
    (microsoft.public.exchange.admin)
  • Re: Horizontal scaling - advice needed
    ... the session can be unambiguously proxied to the right backend server, ... To start with have a single database machine. ... Full database clustering is challenging, but if your site is making you lots ... For transient session state, ...
    (comp.lang.ruby)
  • RE: Test-MapiConnectivity failure on Exchange 2007 in coexistence
    ... the default store location caused the database store failed to mount. ... built-in Exchange server 2007 Database Troubleshooter and Eseutil tool (/mh ...
    (microsoft.public.exchange.setup)
  • Exchange 2003 Ops...
    ... Then went and shut down the exchange information store and all ... database was not shutdown cleanly ... MicrosoftExchange Server Database Utilities ...
    (microsoft.public.exchange.admin)
  • Re: iseries validation lists & logoff button
    ... You can't change the value on the server side to do what you want. ... Browser's store the user name and password locally and send it ... session id in a table that maps to thier user name. ... >> named variables that are called environment variables. ...
    (comp.sys.ibm.as400.misc)

Loading