[Lispweb] Araneida branch release 0.9-a3

Alan Shields Alan-Shields at omrf.ouhsc.edu
Tue Oct 11 19:31:31 CDT 2005


Announcing the availability of Araneida 0.9-a3. I expect this will be
the last 0.9-aX. Really, this should probably be 0.91 or the like.
Read the release notes, see if you agree.

Minor bug: release notes don't reflect last release date. Whoops!

This release is a feature release, with 3 major new features and some
minor ones on top of that.

Also, it's a "reliability" release: you can run benchmark.sh to test
your installation of araneida using siege for as long and as hard as you
want. Find your comfort level.

NB: if you want a better picture of what people REALLY do, I'd get rid
of the parametermethod-conditioncheck-handler handler in
test-server.lisp. It's rare that people compile method calls
per-request.

The new features have, obviously, not been in the fire as long as the
features you know and love. I expect that bugs will be found. I hope
that they won't be major. I am using these calls in my own work, so I
expect that bugs will be exposed that way as well.

Enjoy,
Alan Shields

Araneida 0.9-a3
* Last -a3 planned.
* Additional documentation
* Minor fixes to the test suite
* Some better error reporting with HTML generation
* Gracefully handle client disconnects (pronounced "drop it on the floor")
* tainted-p, the tainted predicate
* append-url, the younger, cruder cousin of merge-url. Used in attach-hierarchy
* attach-hierarchy - a way to declare the url structure of a website and
  how that matches up to the classes in the system. You'll want to read the docs
  in doc/utilities.html - even more docs in convenience.lisp.
* with-url-params and with-tainted-url-params, documented in doc/request_parameters.html
* defurlmethod and deftaintedurlmethod: multi-method-dispatch on url parameters.
  Documented in doc/request_parameters.html.
* Stress testing script for testing massive numbers of clients in araneida using siege.
  Script is benchmark.sh.

Araneida Cliki Page:
http://cliki.net/araneida
Tar file:
http://code.microarray.omrf.org/araneida/araneida-latest.tar.gz
Darcs repository:
http://code.microarray.omrf.org/darcs/alan-araneida/
Browseable darcs repository:
http://code.microarray.omrf.org/cgi-bin/darcs.cgi/alan-araneida/?c=browse
Patches:
Alan-Shields at omrf.ouhsc.edu

The tar file includes a checkpointed, partial, no-pristine darcs
repository, suitable for making patches and updating to current.

This work was made possible by my employers, the Oklahoma Medical
Research Foundation (Centola Lab).

I hope some find this useful,
Alan Shields

Changelog:

Tue Oct 11 19:21:44 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  tagged araneida-version-0.9-a3

Tue Oct 11 19:19:41 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * araneida: update release notes for 0.9-a3

Tue Oct 11 19:14:11 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * araneida: remember to mention deftaintedurlmethod in the docs

Tue Oct 11 19:06:35 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * document append-url

Tue Oct 11 19:06:10 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * araneida: paragraph the paragraphs in urls.html

Tue Oct 11 19:04:12 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * araneida: document defurlmethod

Wed Oct  5 19:32:59 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * araneida: siege benchmark
  A question was raised on LispWeb about how well Araneida would hold up to repeated
  requests. This benchmark lets you see for yourself. I found a few bugs using it.

Wed Oct  5 19:31:53 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * araneida: allow forcing serve-event in test suite

Wed Oct  5 18:37:50 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * araneida: wrap evals in test suite with mutex
  SBCL doesn't seem to like concurrent calls to eval - maybe it's a problem
  with my macro expansion and threads, I don't know. What I DO know is that
  wrapping the eval calls in a mutex causes the problem to go away.
  
  So guess what I'm doing.

Wed Oct  5 18:17:55 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * araneida: handle end-of-file while reading from socket with listener
  It's a pretty unremarkable thing for the client to disconnect in the middle
  of a request. This patch causes the server to skip on to abort response
  when it encounters this condition.

Tue Oct  4 21:53:11 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * araneida: brain error on parameter order test
  ...I was NOT actually testing parameter order. I forgot to take
  the final step. Whoops. Done now.
  
  A B C
  A C B

Tue Oct  4 15:23:57 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * araneida: better error when html element attribute is not a symbol
  I got tired of receiving '"Internal ID" is not a symbol' in the middle
  of a huge block of code, not having any clue what was going on.
  
  Now it will spit out a more specific error along with the parameters passed.

Tue Oct  4 14:12:38 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * araneida: update bookmarks for tests
  I noticed that I hadn't put down the right URLs in the comment bookmarks. Whoops. Fixed.

Tue Oct  4 14:09:42 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * araneida: defurlmethod parameter order issue
  I forgot that set-difference doesn't guarantee the order of the result set,
  so I have to remove-if instead.
  
  Test added.

Mon Oct  3 14:12:24 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * araneida: defurlmethod uses conditions instead of text warnings now

Sat Oct  1 21:20:16 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * araneida: update todo on defurlmethod

Sat Oct  1 20:39:53 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * araneida: defurlmethod
  I'm a bit nuts, I know, but I've always wanted to treat url parameters
  and body parameters as dispatchable function parameters.
  
  ...now you can.
  More documentation forthcoming.

Sat Oct  1 19:57:22 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * araneida: add tainted-p to exports

Sat Oct  1 19:54:36 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * taint: add tainted-p
  Surprisingly enough, it sometimes comes in handy to be able to tell
  when a value is tainted. Crazy stuff.

Fri Sep 30 14:18:20 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * araneida: with-url-params, with-tainted-url-params
  Common pattern of use is grabbing url parameters
  and doing something with them. with- makes sense here.
  It is so.

Thu Sep 29 14:35:19 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * araneida: ensure that there are directives - helps catch parameter issues

Thu Sep 29 14:34:45 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * araneida: pmp.lisp unused - move to obsolete

Wed Sep 28 18:49:16 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * araneida: handle proxy stuff with attach-hierarchy
  You know, almost all of my stuff is proxy'd, why didn't I take this into account
  while finishing up the macro? Right. Anyways.
  ATTACH-HIERARCHY requires two url parameters, now: internal and external. Internal
  is used for attaching, external is used for (-url) functions.
  If you're not using a reverse-proxy or any sort of translation, you'll be fine
  by just giving the URL twice.

Wed Sep 28 18:48:11 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * araneida: (setf don't-be-stupid t)
  Turns out I DO know how to do quotes-within-quotes, but SLIME was showing me the string
  representation, so of COURSE there were escaped quotes. Argh. Right.

Wed Sep 28 18:45:55 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * araneida: sleep longer, know cmucl
  On a fresh compile it can take longer than 5 seconds before the server is ready.
  10 seconds seems to do the trick most of the time - I might consider putting in
  a sleep loop in the client script, though.
  
  CMUCL was added to the test suite last time, but not to the help docs. Whoops.

Fri Sep 23 19:38:28 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * araneida: html docs for some utilities

Fri Sep 23 19:25:19 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * araneida: attach-hierarchy added
  I'm the type that likes declarative sentences. Just like that last one.
  I find that I like declaring the hierarchy and handlers of my web app
  in one place as a sort of table of contents for the app.
  
  So, I thought to myself: self, why don't you make that executable?
  
  And so it was.
  
  ...please help me with the documentation. I'm certain it's horrid.

Fri Sep 23 19:24:56 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * arnaeida: a little more information on test failure

Fri Sep 23 19:21:49 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * araneida: append-url
  It makes sense if you think about the name of the function, but the first time merge-url
  pulls this action on you, you get a little...irate:
  (merge-url (merge-url (parse-url "http://example.com/") "/foo") "/bar")
  becomes
  <URL "http://example.com/bar">
  
  Nevermind that this is exactly what you want sometimes.
  
  So, I've created append-url, that would, given the same sequence as above, become:
  <URL "http://example.com/foo/bar">
  
  It's a little rough right now, but it should work. I'll clarify the docs for merge-url
  Real Soon Now.

Fri Sep 23 18:14:11 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  * araneida: bring macros into the ASDF system, add once-only and with-gensyms

Wed Sep 21 18:58:27 CDT 2005  Alan-Shields at omrf.ouhsc.edu
  tagged araneida-version-0.9-a2




More information about the lispweb mailing list