UCW Tricks and Cookbook

Creating a "modal" component

I would like to have the capability of creating a "modal" component, one that would take over the entire browser window when called.

The solution is:

(defmacro takeover-entire-window (component-class &rest initargs) `(call-component (context.window-component *context*) (make-instance ,component-class ,@initargs)))

Configuring Apache to access various applications in the same server

If you want to run several applications from one UCW server, via mod_lisp via Apache, this can be done with the following Apache configuration (or check out the apache2 config for the UCW examples at the ucw/etc/ucw-examples.apache2):

<Location ~ "/app/(my-app|admin|example)">
  LispServer 3001 "my-server"
  SetHandler lisp-handler

The trick is to use the form, and specify a regexp matching all the roots of all the UCW applications.