[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