The ucw Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The ucw Reference Manual

This is the ucw Reference Manual, version 0.9, generated automatically by Declt version 2.4 "Will Decker" on Wed Jun 20 12:43:21 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

-*- outline -*-

This directory contains UnCommon Web (UCW), a Common Lisp web application
platform.

* Getting Started

Well, there's a shortcut nowadays.  Marco Baringer made a UCW boxset
with all the dependencies boxed up and ready to fire.

wget http://common-lisp.net/project/ucw/ucw-boxset.tar.gz
tar -zxf ucw-boxset.tar.gz
cd ucw-boxset
YOURLISPHERE (-)-load start.lisp

This will start UCW with the built in httpd server backend. But if you
want to get the dependencies seperately or want a different initial setup,
then read on!

Assuming that every dependency is set up correctly then evaluating

(load (merge-pathnames "etc/start.lisp"
                       (asdf:component-pathname (asdf:find-system :ucw))))

should start up the examples at http://localhost:8080/

** Dependencies

UCW depends an a number of external libraries:

    * arnesi - an all purpose lisp toolkit
    * yaclml - yet another common lisp markup language
    * parenscript - javascript in common-lisp
    * iterate - a lispy loop
    * rfc2388 - implements multipart/form specification
    * rfc2109 - implements cookie specification
    * trivial-garbage - portable weak hashtables and pointers
    * bordeaux-threads - portable threads
    * split-sequence - splits sequences
    * slime - Superior Lisp Interaction Mode for Emacs
    * cl-ppcre - regular expressions lib
    * cl-l10n - l10n and i18n lib
    * trivial-sockets - handles stream sockets for undemanding network  
      applications 
    * net.uri or PURI - parses URI's according to the RFC 2396
      specification 
    * cl-fad - a portable pathname library based on code from PCL
    * net-telent-date - an RFC822-compliand date parser and printer
    * cl-launch - invokes lisp code from the command line
    * detachtty - a screen-like detachment tool to be able to detach
      and reattach the lisp server from and to a console 
    * a server backend - be it mod_lisp (apache 1 or 2), araneida,
      allegroserve, portable aserve or the built in httpd server 
    * asdf - a package loader facility

    
*** arnesi

Arnesi is a Common Lisp utility suite. It contains various "bits 'n
pieces" of code which were useful while developing other code. It can
be found on http://common-lisp.net/project/bese/arnesi.html. 

You will need the latest version:

darcs get http://common-lisp.net/project/bese/repos/arnesi_dev/
    
Daily snapshots are available at
http://common-lisp.net/project/bese/tarballs/arnesi_dev-latest.tar.gz 


*** yaclml

yaclml is a collection of macros and utilities for generating XML/HTML
like markup from lisp code. It can be found on
http://common-lisp.net/project/bese/yaclml.html. 

You will need the latest version:

darcs get http://common-lisp.net/project/bese/repos/yaclml/
    
Daily snapshots are available at:
http://common-lisp.net/project/bese/tarballs/yaclml-latest.tar.gz 


*** parenscript - ucw version

Parenscript is a javascript compiler. You will need to get the latest
development version: 

darcs get http://common-lisp.net/project/ucw/repos/parenscript/
    
Daily snapshots are available at:
http://common-lisp.net/project/ucw/tarballs/parenscript-latest.tar.gz 


*** iterate

Iterate is an iteration construct for Common Lisp. It can be found on
http://common-lisp.net/project/iterate/

Download link:
http://common-lisp.net/project/iterate/releases/iterate-current.tar.gz 


*** rfc2388 - ucw version

Rfc2388 is a lisp implemantation of RFC 2388, which is used to process
form data posted with HTTP POST method using enctype
"multipart/form-data". 

UCW uses its own fork of rfc2388. You can get the latest code from the
darcs repository located at
http://common-lisp.net/project/ucw/repos/rfc2388: 

darcs get http://common-lisp.net/project/ucw/repos/rfc2388/

Daily snapshots are available at
http://common-lisp.net/project/ucw/tarballs/rfc2388-latest.tar.gz 


*** rfc2109 - ucw version

Rfc2109 is the lisp implementation of the cookie protocol. You can get
it at: http://common-lisp.net/project/rfc2109/: 

darcs get http://common-lisp.net/project/rfc2109/rfc2109
    
Daily snapshots are available at
http://www.common-lisp.net/project/rfc2109/release/rfc2109-latest.tar.gz 


*** split-sequence

splits sequences

info: http://www.cliki.net/SPLIT-SEQUENCE

download: http://ww.telent.net/cclan/split-sequence.tar.gz (you might
have to select a mirror first) 

If said link is dead, go to http://ww.telent.net/cclan-choose-mirror
to delete your CCLAN-SITE cookie and choose another mirror. At least
some of them are definitely working. 


*** SLIME

The Superior Lisp Interaction Mode for Emacs.

Download and install the latest CVS version of SLIME from
http://common-lisp.net/project/slime. 

To checkout from CVS you must first login to the repository:

export CVSROOT=:pserver:anonymous@common-lisp.net:/project/slime/cvsroot
cvs login
    
Enter anonymous when prompted for the password. You can then check out
the latest version with: 

cvs checkout slime
    
It's swank you want to add to your asd systems dir. To solve a current
problem with cl-launch you might want to overwrite your swank.asd file
with this one:

http://cl-debian.alioth.debian.org/repository/pvaneynd/slime/debian/swank.asd

Check the description on cl-launch to see why.


*** cl-l10n

Localization and internationalization library: http://common-lisp.net/project/cl-l10n/

Get the latest version with:
  darcs get http://www.common-lisp.net/project/cl-l10n/repos/cl-l10n


*** cl-ppcre

Edi Weitz's regular expression library: http://www.weitz.de/cl-ppcre/.

Download the latest version: http://weitz.de/files/cl-ppcre.tar.gz


*** trivial-sockets

Networking library to create small server applications. Download the
latest version from: http://ww.telent.net/cclan/trivial-sockets.tar.gz
(you might have to select a mirror first. 

If said link is dead, go to http://ww.telent.net/cclan-choose-mirror
to delete your CCLAN-SITE cookie and choose another mirror. At least
some of them are definitely working. 

Or use asdf install.


*** net.uri/PURI

All of the backends (except araneida) depend on Franz's open-source
net.uri library. It only works on Allegro but Kevin Rosenberg has made
a portable version called PURI. 

For allegro users, NET.URI can be downloaded from here (it may be
included in your version of acl):
http://opensource.franz.com/uri/index.html 

If you're not using allegro you'll need puri which can be downloaded
from http://puri.b9.com/download.html 


*** cl-fad

A portable pathname library based on code from Peter Seibels book
Practical Common Lisp. 

info: http://www.cliki.net/CL-FAD

download: http://weitz.de/files/cl-fad.tar.gz


*** net-telent-date

A library consisting mostly of the time parsing routines from CMUCL
that were removed from SBCL. Additionally it has a universal-time to
rfc822 date convertor.

info: http://www.cliki.net/net-telent-date

download: http://ww.telent.net/cclan/net-telent-date.tar.gz

*** cl-launch

A bash script to make your Lisp software easily invokable from the
shell command-line. 

info: http://www.cliki.net/cl-launch

download page: http://fare.tunes.org/files/cl-launch/

Download and add to your shell executable search path so ucw can find
it while loading. Cl-launch can either be called cl-launch or
cl-launch.sh, ucw will check for both. Also cl-launch depends on swank
behavior other than that of the current cvs code, at least under sbcl,
eg via swank-loader it looks for files under the load path, which is not
what you want if you made a symbolic link to another dir. The easiest way
to get around this problem is to overwrite your swank.asd file (in the
slime directory root), with this one:

http://cl-debian.alioth.debian.org/repository/pvaneynd/slime/debian/swank.asd 

If you are a Debian user and you got slime/swank through apt-get, you
already have this version on your harddisk/pendrive.

The downside might be that swank won't work anymore as it should,
although i haven't heard anyone about this yet. Another approach is to
copy your swank*.fasls from the slime directory to the relevant shadow
directory under ~/.cache/... 

Check this thread for more info:
http://common-lisp.net/pipermail/slime-devel/2006-March/004664.html

Yes, ucw is bleeding edge ;)


*** detachtty - ucw version

A screen-like detachment tool to be able to detach and re-attach the
lisp server from and to a console. Ucw uses a custom detachtty
version, e.g. detachtty-9 plus a patch by Kevin Rosenberg. It accepts
an eval argument when invoking a lisp, with obvious benefits. Get it
through Darcs: 

darcs get http://common-lisp.net/project/bese/repos/detachtty/

Go to the directory root and compile and install:

make
make install
    

** the backend

choose one of mod_lisp/mod_lisp2, araneida, aserve/paserve or the
built-in httpd server


*** mod_lisp/mod_lisp2 for apache

You can choose between apache 1 and 2. First of course you have to
have a Apache web server up and runnnig; then you have to add the
mod-lisp module by Marc Battyani which you find at
http://www.fractalconcept.com/asp/html/mod_lisp.html 

First download the mod_lisp c file. Watch out, don't follow the logic
of the website. Except for the windows version the info is outdated
concerning the apache 1 version and info about apache 2 is
non-existent. Go to subversion from the download page or click the
links below: 

    * apache 1 .c file - mod_lisp.c
    * apache 2 .c file - mod_lisp2.c
   
use the command:

apxs -i -c mod_lisp.c
    
or

apxs2 -i -c mod_lisp2.c
    
for respectively apache 1 or 2. This will install the module in the
appropriate apache directory. Then add the following lines to
'httpd.conf' in your apache configuration directory for both apache 1
and 2. Just be sure to change mod_lisp.so to mod_lisp2.so for apache
2:

# This goes near the other LoadModlue directives
    
LoadModule lisp_module modules/mod_lisp.so
    
LispServer 127.0.0.1 3001 ucw
    

               SetHandler lisp-handler

    
This means that ucw INTERNALLY talks to apache on port 3001 at the
internet address 127.0.0.1 (so in this case your localhost). The
locationmatch part redirects all traffic from (in this case) 127.0.0.1
with prefix "/path/" and files ending on .ucw to ucw. So
http://127.0.0.1/path/something.ucw as well as
http://127.0.0.1/path/anotherpath/somethingelse.ucw will be
redirected, but not http://127.0.0.1/somethingfaulty.ucw or
http://127.0.0.1/path/somethingfaulty.html.


*** allegroserve or portableaserve

Should you want to use the aserve backend you will need to download
and install either the AllegroServe if you use acl or portableaserve
for any other. AllegroServe doesn't seem to have an asdf file, you're
going to have to load it manually or however AllegroServe handles it's
own files. Portableaserve does however.

AllegroServe can be downloaded from here (it may be included in your
version of acl): http://opensource.franz.com/aserve/

portableaserve is hosted on sourceforge: http://portableaserve.sf.net

portableaserve download: http://constantly.at/lisp/aserve.tar.gz

To use portableaserve you'll also need the Allegro Common Lisp
compatibility package (acl-compat). It's part of portableaserve and so
it's home is also the before-mentioned sourceforge site.

acl-compat download: http://constantly.at/lisp/acl-compat.tar.gz


*** araneida

Should you want to use the araneida backend you will need to download
araneida. Get the latest version just to be on the safe
side. Originally araneida was meant to live behind apache and it can
of course still be configured as such. Explaining this is beyond the
scope of this document but have a look at this site for more info.

info: http://www.cliki.net/Araneida}

download: http://common-lisp.net/project/araneida/release/araneida-latest.tar.gz

or use darcs, although the connection seems a bit slow:

darcs get http://verisons.telent.net/araneida/


*** httpd

Ucw's in-house server. It's a simple server bundled with ucw. Nice for
testing.


** Setting up ASDF

UCW, and all the libraries it depends on, use ASDF for loading and
compiling the code in the proper order. The first thing you must do is
make sure that ASDF can find the system definitions for ucw and all
the related libraries.

ASDF searches for system definition files by looking in the
directories in the list asdf:*central-registry*. To make a system
definition visible you can either push the name of the directory which
contains the .asd file onto the list asdf:*central-registry* or you
can create a symlink from the .asd file to a directory which is
already in the list asdf:*central-registry*. 

For example: on some linux installations the directory
/usr/share/common-lisp/systems is in the list asdf:*central-registry*,
by creating a symlink from a particular .asd file to
/usr/share/common-lisp/systems (ln -s /path/to/library/lib.asd
/usr/share/common-lisp/systems) we guarentee that (adsf:oos
'asdf:load-op :lib) will Just Work(TM).


** Testing UCW

When you have set up all your dependencies correctly, you can test
ucw by first creating either /etc/ucw/applications.d or
/path/to/home/.ucw/applications.d, firing
up your favorite distribution and type:

(load "/path/to/ucw/etc/start.lisp")

If all went well, you have started ucw with the httpd backend. Surf to
\link{\href{http://127.0.0.1:8080}\text{http://127.0.0.1:8080}} and
again if all went well you should see the example page. That's it!
Start hacking!!

To run ucw detached use the ucwctl script under /path/to/ucw/bin/
For an explanation of it's configuration check the ucw-intro html under
/docs/ucw-intro.


* Documentation

Check the docs section for various introductions, tutorials, quickstarts and
code examples. The API documentation is, as much as possible, contained in
the docstrings of the various classes, methods, and packages which make
up UCW itself. Using a good inspector (SLIME's inspector for example)
you should be able to easily navigate and browse the API.

* Developing UCW

Eventually (probably too soon) you'll discover a bug or a missing
feature in UCW and want to fix it. The first thing to do is to send an
email to bese-devel@common-lisp.net and make sure it's a real bug or
missing feature (and not a user or documentation error).

If you do have a bug fix or feature improvement you'd like to submit
there are two ways to go about sending the patch: if the patch is
relativly small than just send a plain old diff or a tar ball of the
arch changeset to the list. If it is bigger, send it to ucw_public
and eventually it will find it's way to ucw_dev. If the change is
bigger than bigger or requires multiple patches over time then branch
off of ucw_dev and publish your repository with your changes. 

** Reporting BUGS

The simplest thing you can is just send an email to
bese-devel@common-lisp.net. We keep a collection of all the known bugs
and issues as text files in the directory docs/issues.

*** Using darcs

**** Creating a changeset

# darcs send

or, if you don't have sendmail properly set up;

# darcs send -o CHANGESET

Then just mail the file CHANGESET to bese-devel@common-lisp.net

**** Branching from ucw--dev

You already have a branch. :)


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Next: , Previous: , Up: Systems   [Contents][Index]

2.1 ucw

Maintainer

Drew Crampsie <drewc@tech.coop>

Author

Marco Baringer <mb@bese.it>

License

BSD (sans advertising clause)

Description

UncommonWeb : Standard Components

Long Description

Containts a simple, standard component library.

Version

0.9

Dependencies
Source

ucw.asd (file)

Component

src (module)


Previous: , Up: Systems   [Contents][Index]

2.2 ucw-core

Author

Marco Baringer <mb@bese.it>

License

BSD (sans advertising clause)

Description

Core features of UnCommon Web

Long Description

Contains the base features essential for a useful Read Eval Render Loop (RERL).

Version

0.9

Dependencies
Source

ucw-core.asd (file)

Component

src (module)


Next: , Previous: , Up: Top   [Contents][Index]

3 Modules

Modules are listed depth-first from the system components tree.


Next: , Previous: , Up: Modules   [Contents][Index]

3.1 ucw/src

Parent

ucw (system)

Location

src/

Component

ucw-standard (module)


Next: , Previous: , Up: Modules   [Contents][Index]

3.2 ucw/src/ucw-standard

Parent

src (module)

Location

src/ucw-standard/

Components

Next: , Previous: , Up: Modules   [Contents][Index]

3.3 ucw/src/ucw-standard/application-mixins

Dependencies
Parent

ucw-standard (module)

Location

src/ucw-standard/application-mixins/

Components

Next: , Previous: , Up: Modules   [Contents][Index]

3.4 ucw/src/ucw-standard/components

Dependency

standard-components.lisp (file)

Parent

ucw-standard (module)

Location

src/ucw-standard/components/

Components

Next: , Previous: , Up: Modules   [Contents][Index]

3.5 ucw/src/ucw-standard/yaclml

Dependency

standard-tags.lisp (file)

Parent

ucw-standard (module)

Location

src/ucw-standard/yaclml/

Component

tal.lisp (file)


Next: , Previous: , Up: Modules   [Contents][Index]

3.6 ucw-core/src

Parent

ucw-core (system)

Location

src/

Components

Next: , Previous: , Up: Modules   [Contents][Index]

3.7 ucw-core/src/backend

Dependencies
Parent

src (module)

Location

src/backend/

Component

accept-headers.lisp (file)


Next: , Previous: , Up: Modules   [Contents][Index]

3.8 ucw-core/src/rerl

Dependencies
Parent

src (module)

Location

src/rerl/

Components

Next: , Previous: , Up: Modules   [Contents][Index]

3.9 ucw-core/src/rerl/standard-component

Dependencies
Parent

rerl (module)

Location

src/rerl/standard-component/

Components

Previous: , Up: Modules   [Contents][Index]

3.10 ucw-core/src/core-components

Dependency

rerl (module)

Parent

src (module)

Location

src/core-components/

Component

window.lisp (file)


Next: , Previous: , Up: Top   [Contents][Index]

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

4.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.1 ucw.asd

Location

ucw.asd

Systems

ucw (system)

Packages

it.bese.ucw.system


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.2 ucw-core.asd

Location

ucw-core.asd

Systems

ucw-core (system)

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.3 ucw/src/ucw-standard/standard-package.lisp

Parent

ucw-standard (module)

Location

src/ucw-standard/standard-package.lisp

Packages

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.4 ucw/src/ucw-standard/standard-action.lisp

Dependency

standard-package.lisp (file)

Parent

ucw-standard (module)

Location

src/ucw-standard/standard-action.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.5 ucw/src/ucw-standard/standard-dispatchers.lisp

Dependency

standard-package.lisp (file)

Parent

ucw-standard (module)

Location

src/ucw-standard/standard-dispatchers.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.6 ucw/src/ucw-standard/standard-tags.lisp

Dependency

standard-action.lisp (file)

Parent

ucw-standard (module)

Location

src/ucw-standard/standard-tags.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.7 ucw/src/ucw-standard/standard-components.lisp

Dependency

standard-tags.lisp (file)

Parent

ucw-standard (module)

Location

src/ucw-standard/standard-components.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.8 ucw/src/ucw-standard/file-serve.lisp

Dependency

standard-package.lisp (file)

Parent

ucw-standard (module)

Location

src/ucw-standard/file-serve.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.9 ucw/src/ucw-standard/application-mixins/cookie-session-application.lisp

Parent

application-mixins (module)

Location

src/ucw-standard/application-mixins/cookie-session-application.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.10 ucw/src/ucw-standard/application-mixins/secure-application.lisp

Parent

application-mixins (module)

Location

src/ucw-standard/application-mixins/secure-application.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.11 ucw/src/ucw-standard/application-mixins/static-roots-application.lisp

Parent

application-mixins (module)

Location

src/ucw-standard/application-mixins/static-roots-application.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.12 ucw/src/ucw-standard/application-mixins/tal-application.lisp

Parent

application-mixins (module)

Location

src/ucw-standard/application-mixins/tal-application.lisp

Exported Definitions

tal-application-mixin (class)

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.13 ucw/src/ucw-standard/application-mixins/transactional-application.lisp

Parent

application-mixins (module)

Location

src/ucw-standard/application-mixins/transactional-application.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.14 ucw/src/ucw-standard/components/html-element.lisp

Parent

components (module)

Location

src/ucw-standard/components/html-element.lisp

Exported Definitions
Internal Definitions

*xml-id-counter* (special variable)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.15 ucw/src/ucw-standard/components/cached.lisp

Parent

components (module)

Location

src/ucw-standard/components/cached.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.16 ucw/src/ucw-standard/components/container.lisp

Dependency

html-element.lisp (file)

Parent

components (module)

Location

src/ucw-standard/components/container.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.17 ucw/src/ucw-standard/components/error.lisp

Parent

components (module)

Location

src/ucw-standard/components/error.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.18 ucw/src/ucw-standard/components/option-dialog.lisp

Parent

components (module)

Location

src/ucw-standard/components/option-dialog.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.19 ucw/src/ucw-standard/components/paged-list.lisp

Parent

components (module)

Location

src/ucw-standard/components/paged-list.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.20 ucw/src/ucw-standard/components/redirect.lisp

Parent

components (module)

Location

src/ucw-standard/components/redirect.lisp

Exported Definitions

render (method)

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.21 ucw/src/ucw-standard/components/tal.lisp

Parent

components (module)

Location

src/ucw-standard/components/tal.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.22 ucw/src/ucw-standard/components/task.lisp

Parent

components (module)

Location

src/ucw-standard/components/task.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.23 ucw/src/ucw-standard/components/user-login.lisp

Parent

components (module)

Location

src/ucw-standard/components/user-login.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.24 ucw/src/ucw-standard/yaclml/tal.lisp

Parent

yaclml (module)

Location

src/ucw-standard/yaclml/tal.lisp

Exported Definitions

render-template (method)

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.25 ucw-core/src/core-package.lisp

Parent

src (module)

Location

src/core-package.lisp

Packages

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.26 ucw-core/src/helpers.lisp

Dependencies
Parent

src (module)

Location

src/helpers.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.27 ucw-core/src/loggers.lisp

Dependencies
Parent

src (module)

Location

src/loggers.lisp

Exported Definitions
Internal Definitions

defucwlogger (macro)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.28 ucw-core/src/vars.lisp

Dependency

core-package.lisp (file)

Parent

src (module)

Location

src/vars.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.29 ucw-core/src/control.lisp

Dependencies
Parent

src (module)

Location

src/control.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.30 ucw-core/src/backend/accept-headers.lisp

Parent

backend (module)

Location

src/backend/accept-headers.lisp

Internal Definitions

parse-accept-language-header (function)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.31 ucw-core/src/rerl/protocol.lisp

Parent

rerl (module)

Location

src/rerl/protocol.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.32 ucw-core/src/rerl/rerl-variables.lisp

Parent

rerl (module)

Location

src/rerl/rerl-variables.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.33 ucw-core/src/rerl/rerl-utils.lisp

Dependencies
Parent

rerl (module)

Location

src/rerl/rerl-utils.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.34 ucw-core/src/rerl/conditions.lisp

Dependency

protocol.lisp (file)

Parent

rerl (module)

Location

src/rerl/conditions.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.35 ucw-core/src/rerl/backtracking.lisp

Dependency

basic-classes.lisp (file)

Parent

rerl (module)

Location

src/rerl/backtracking.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.36 ucw-core/src/rerl/request-loop-error.lisp

Dependencies
Parent

rerl (module)

Location

src/rerl/request-loop-error.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.37 ucw-core/src/rerl/basic-classes.lisp

Dependencies
Parent

rerl (module)

Location

src/rerl/basic-classes.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.38 ucw-core/src/rerl/basic-action.lisp

Dependencies
Parent

rerl (module)

Location

src/rerl/basic-action.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.39 ucw-core/src/rerl/basic-application.lisp

Dependencies
Parent

rerl (module)

Location

src/rerl/basic-application.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.40 ucw-core/src/rerl/standard-component/standard-component.lisp

Dependency

standard-component-class.lisp (file)

Parent

standard-component (module)

Location

src/rerl/standard-component/standard-component.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.41 ucw-core/src/rerl/standard-component/control-flow.lisp

Dependency

standard-component.lisp (file)

Parent

standard-component (module)

Location

src/rerl/standard-component/control-flow.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.42 ucw-core/src/rerl/standard-component/standard-component-class.lisp

Parent

standard-component (module)

Location

src/rerl/standard-component/standard-component-class.lisp

Exported Definitions

standard-component-class (class)

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.43 ucw-core/src/rerl/standard-component/transactions.lisp

Dependency

standard-component.lisp (file)

Parent

standard-component (module)

Location

src/rerl/standard-component/transactions.lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.44 ucw-core/src/rerl/basic-dispatchers.lisp

Dependencies
Parent

rerl (module)

Location

src/rerl/basic-dispatchers.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.45 ucw-core/src/rerl/standard-request-context.lisp

Dependencies
Parent

rerl (module)

Location

src/rerl/standard-request-context.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.46 ucw-core/src/rerl/standard-server.lisp

Dependencies
Parent

rerl (module)

Location

src/rerl/standard-server.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.47 ucw-core/src/rerl/basic-session.lisp

Dependencies
Parent

rerl (module)

Location

src/rerl/basic-session.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.48 ucw-core/src/rerl/standard-session-frame.lisp

Dependencies
Parent

rerl (module)

Location

src/rerl/standard-session-frame.lisp

Exported Definitions
Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

4.1.49 ucw-core/src/core-components/window.lisp

Parent

core-components (module)

Location

src/core-components/window.lisp

Exported Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

5.1 it.bese.ucw.system

Source

ucw.asd

Nickname

ucw.system

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.2 ucw-user

Source

standard-package.lisp (file)

Use List

Next: , Previous: , Up: Packages   [Contents][Index]

5.3 ucw-tags

Source

standard-package.lisp (file)

Nickname

<ucw

Use List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.4 ucw-standard

Source

standard-package.lisp (file)

Nickname

ucw

Use List
Used By List

ucw-user

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.5 it.bese.ucw.core.generated

Source

core-package.lisp (file)


Next: , Previous: , Up: Packages   [Contents][Index]

5.6 it.bese.ucw.core

Source

core-package.lisp (file)

Nickname

ucw-core

Use List
Used By List
Exported Definitions
Internal Definitions

Previous: , Up: Packages   [Contents][Index]

5.7 it.bese.ucw.loggers

Source

core-package.lisp (file)

Nickname

ucw-log

Use List
Used By List

it.bese.ucw.core

Exported Definitions
Internal Definitions

defucwlogger (macro)


Next: , Previous: , Up: Top   [Contents][Index]

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

6.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.1 Special variables

Special Variable: *context*

The current request-context object.

Package

it.bese.ucw.core

Source

protocol.lisp (file)

Special Variable: *current-component*

When rendering this is bound to the current component (the second argument passed to render).

Package

it.bese.ucw.core

Source

protocol.lisp (file)

Special Variable: *debug-on-error*

The default, system wide, value for debug-on-error. Applications may override this.

Package

it.bese.ucw.core

Source

vars.lisp (file)

Special Variable: *default-action-class*

Default action class for MAKE-ACTION

Package

it.bese.ucw.core

Source

vars.lisp (file)

Special Variable: *default-application*

The application object to use when none is explicitly specified.

Package

it.bese.ucw.core

Source

protocol.lisp (file)

Special Variable: *default-server*

The server object to use when none is explicitly specified.

Package

it.bese.ucw.core

Source

protocol.lisp (file)

Special Variable: *dispatcher-registers*
Package

ucw-standard

Source

standard-dispatchers.lisp (file)

Special Variable: *dispatcher-url-suffix*
Package

ucw-standard

Source

standard-dispatchers.lisp (file)

Special Variable: *inspect-components*

When rendering, should we put links next to components that will bring up the inspector?

Package

it.bese.ucw.core

Source

vars.lisp (file)

Special Variable: *load-as-production-p*

When T, load the UCW lisp files so that it will be used in a production system.
This means that debug-only blocks are skipped and various variables are initialized accordingly.

Package

it.bese.ucw.system

Source

ucw-core.asd

Special Variable: *request-content-length-limit*

While uploading a file the size of the request may go higher then this in which case UCW signals an error. See also the REQUEST-CONTENT-LENGTH-LIMIT slot of BASIC-BACKEND.

Package

it.bese.ucw.core

Source

vars.lisp (file)

Special Variable: *response*
Package

it.bese.ucw.core

Source

protocol.lisp (file)

Special Variable: *source-component*
Package

ucw-standard

Source

standard-action.lisp (file)

Special Variable: *ucw-applications*

Each element of this list is evaluated and should return an application instance. (A CLOS object instance evaluates to itself, so you are free to provide either app instances or expressions evaluating to app instances.)

Package

it.bese.ucw.system

Source

vars.lisp (file)

Special Variable: *ucw-applications-directory*
Package

it.bese.ucw.system

Source

vars.lisp (file)

Special Variable: *ucw-backend-host*
Package

it.bese.ucw.system

Source

vars.lisp (file)

Special Variable: *ucw-backend-port*
Package

it.bese.ucw.system

Source

vars.lisp (file)

Special Variable: *ucw-backend-type*
Package

it.bese.ucw.system

Source

vars.lisp (file)

Special Variable: *ucw-compile-time-log-level*

UCW logger messages below this level will not be compiled into the code, so they will have no performance penalty.

Package

it.bese.ucw.system

Source

vars.lisp (file)

Special Variable: *ucw-log-level*

This is the default runtime log level for the UCW loggers.

Package

it.bese.ucw.system

Source

vars.lisp (file)

Special Variable: *ucw-log-root-directory*
Package

it.bese.ucw.system

Source

vars.lisp (file)

Special Variable: *ucw-server-class*
Package

it.bese.ucw.system

Source

vars.lisp (file)

Special Variable: *ucw-swank-port*
Package

it.bese.ucw.system

Source

ucw-core.asd

Special Variable: *ucw-systems*

The asdf systems listed here will be loaded as part of the configuration process.

Package

it.bese.ucw.system

Source

vars.lisp (file)

Special Variable: +action-compound-name-delimiter+
Package

it.bese.ucw.core

Source

standard-action.lisp (file)

Special Variable: +action-parameter-name+
Package

it.bese.ucw.core

Source

rerl-variables.lisp (file)

Special Variable: +frame-parameter-name+
Package

it.bese.ucw.core

Source

rerl-variables.lisp (file)

Special Variable: +session-parameter-name+
Package

it.bese.ucw.core

Source

rerl-variables.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.2 Symbol macros

Symbol Macro: +http-accepted+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((12) base-char . "202 accepted")

Symbol Macro: +http-authorization-required+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((26) base-char . "401 authorization required")

Symbol Macro: +http-bad-gateway+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((15) base-char . "502 bad gateway")

Symbol Macro: +http-bad-request+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((15) base-char . "400 bad request")

Symbol Macro: +http-conflict+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((12) base-char . "409 conflict")

Symbol Macro: +http-continue+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((12) base-char . "100 continue")

Symbol Macro: +http-created+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((11) base-char . "201 created")

Symbol Macro: +http-expectation-failed+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((22) base-char . "417 expectation failed")

Symbol Macro: +http-failed-dependency+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((21) base-char . "424 failed dependency")

Symbol Macro: +http-forbidden+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((13) base-char . "403 forbidden")

Symbol Macro: +http-gateway-time-out+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((20) base-char . "504 gateway time-out")

Symbol Macro: +http-gone+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((8) base-char . "410 gone")

Symbol Macro: +http-internal-server-error+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((25) base-char . "500 internal server error")

Symbol Macro: +http-length-required+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((19) base-char . "411 length required")

Symbol Macro: +http-method-not-allowed+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((22) base-char . "405 method not allowed")

Symbol Macro: +http-moved-permanently+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((21) base-char . "301 moved permanently")

Symbol Macro: +http-moved-temporarily+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((21) base-char . "302 moved temporarily")

Symbol Macro: +http-multi-status+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((16) base-char . "207 multi-status")

Symbol Macro: +http-multiple-choices+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((20) base-char . "300 multiple choices")

Symbol Macro: +http-no-content+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((14) base-char . "204 no content")

Symbol Macro: +http-non-authoritative-information+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((33) base-char . "203 non-authoritative information")

Symbol Macro: +http-not-acceptable+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((18) base-char . "406 not acceptable")

Symbol Macro: +http-not-found+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((13) base-char . "404 not found")

Symbol Macro: +http-not-implemented+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((19) base-char . "501 not implemented")

Symbol Macro: +http-not-modified+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((16) base-char . "304 not modified")

Symbol Macro: +http-ok+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((6) base-char . "200 ok")

Symbol Macro: +http-partial-content+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((19) base-char . "206 partial content")

Symbol Macro: +http-payment-required+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((20) base-char . "402 payment required")

Symbol Macro: +http-precondition-failed+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((23) base-char . "412 precondition failed")

Symbol Macro: +http-proxy-authentication-required+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((33) base-char . "407 proxy authentication required")

Symbol Macro: +http-request-entity-too-large+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((28) base-char . "413 request entity too large")

Symbol Macro: +http-request-time-out+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((20) base-char . "408 request time-out")

Symbol Macro: +http-request-uri-too-large+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((25) base-char . "414 request-uri too large")

Symbol Macro: +http-requested-range-not-satisfiable+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((35) base-char . "416 requested range not satisfiable")

Symbol Macro: +http-reset-content+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((17) base-char . "205 reset content")

Symbol Macro: +http-see-other+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((13) base-char . "303 see other")

Symbol Macro: +http-service-unavailable+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((23) base-char . "503 service unavailable")

Symbol Macro: +http-switching-protocols+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((23) base-char . "101 switching protocols")

Symbol Macro: +http-temporary-redirect+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((22) base-char . "307 temporary redirect")

Symbol Macro: +http-unsupported-media-type+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((26) base-char . "415 unsupported media type")

Symbol Macro: +http-use-proxy+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((13) base-char . "305 use proxy")

Symbol Macro: +http-version-not-supported+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

#a((25) base-char . "505 version not supported")

Symbol Macro: +xhtml-namespace-uri+
Package

it.bese.ucw.core

Source

vars.lisp (file)

Expansion

"http://www.w3.org/1999/xhtml"


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.3 Macros

Macro: a &rest G0

A Simple <:A which does not require javascript.

Package

ucw-tags

Source

standard-tags.lisp (file)

Macro: defaction &rest ARGS-AND-BODY
Package

ucw-standard

Source

standard-action.lisp (file)

Macro: defcomponent NAME SUPERS SLOTS &rest OPTIONS

Macro for defining a component class.

This macro is used to create component classes and provides options for easily creating the methods which often accompany a component definition.

NAME, SUPERS and SLOTS as treated as per defclass. The following extra options are allowed:

(:ENTRY-POINT url (&key application class)) - Define an entry-point on the url URL which simply calls an instance of this component. Any request parameters passed to the entry-point are used to initialize the slots in the component. This option may appear multiple times.

(:DEFAULT-BACKTRACK function-designator) - Unless the slots already have a :backtrack option FUNCTION-DESIGNATOR is added. As with the ’regular’ :backtrack options if you pass T here it is assumed to mean #’IDENTITY.

(:RENDER (&optional COMPONENT) &body BODY) - Generate a render method specialized to COMPONENT. COMPONENT may be a symbol, in which case the method will be specialized on the componnet class. If COMPONNET is omited the component is bound to a variable with the same name as the class.

(:ACTION &optional NAME) - Generate a defmethod/cc form named NAME (which defaults to the name of the component) which simply CALL’s this component class passing all the arguments passed to the action as initargs.

Package

it.bese.ucw.core

Source

standard-component.lisp (file)

Macro: defentry-point URL (&key APPLICATION CLASS PRIORITY ACTION-OPTIONS WITH-CALL/CC) REQUEST-LAMBDA-LIST &body BODY

Define an entry point bound to the url URL of type CLASS.

URL must be a string which, when appended to APPLICATION’s url-prefix, specifies the complete url for this entry point. CLASS is a symbol naming the dispatcher class.

APPLICATION (evaluated) specifies the application object this entry point will be attached to. If NIL *default-application* will be used, otherwise it must be the name of an existing application.

REQUEST-LAMBDA-LIST is a request lambda list as per WITH-REQUEST-PARAMS.

The body of the entry-point is executed whenever the server recieves a request for the specified url. The body can contain calls to components but must not contain answer forms.

If the backend supports it then the url is
automatically registered with the backend, otherwise (mod_lisp) developers must manually configure the backend.

Package

it.bese.ucw.core

Source

basic-action.lisp (file)

Macro: form &rest G0

A Simple form which does not require javascript.

Package

ucw-tags

Source

standard-tags.lisp (file)

Macro: handle-raw-request (&key CONTENT-TYPE HTTP-STATUS-CODE CONTENT-DISPOSITION EXPIRES-IN-UT MAX-AGE-IN-SECS SEND-HEADERS CACHE WITH-NETWORK-STREAM ERROR-HANDLER WITH-YACLML-STREAM) &body BODY

This macro handles a raw request. Will set the http cache control headers according to the supplied arguments, send the headers, execute the BODY and close the request. WITH-NETWORK-STREAM will be bound to the network stream unless it’s nil. When WITH-YACLML-STREAM is not nil the body will run inside a with-yaclml-stream block and after it finished it will be properly encoded and written into the network stream. Additionally if it is a symbol then it will be bound with that name.

Package

it.bese.ucw.core

Source

basic-action.lisp (file)

Macro: input &rest G0
Package

ucw-tags

Source

standard-tags.lisp (file)

Macro: make-place FORM &optional COPYER

Create a new place around FORM.

Package

it.bese.ucw.core

Source

backtracking.lisp (file)

Macro: option &rest G0

Replacement for the standard OPTION tag, must be used with <UCW:SELECT tag. Unlike "regular" OPTION tags the :value attribute can be any lisp object (printable or not).

Package

ucw-tags

Source

standard-tags.lisp (file)

Macro: option-dialog (MESSAGE-SPEC &rest MESSAGE-ARGS) &body OPTIONS
Package

ucw-standard

Source

option-dialog.lisp (file)

Macro: register-action (&rest ARGS &key THROUGH-REDIRECT FRAME &allow-other-keys) &body BODY

Makes a new action and registers it in FRAME. For more details see make-action.

Package

it.bese.ucw.core

Source

standard-session-frame.lisp (file)

Macro: select &rest G0
Package

ucw-tags

Source

standard-tags.lisp (file)

Macro: submit &rest G0
Package

ucw-tags

Source

standard-tags.lisp (file)

Macro: textarea &rest G0
Package

ucw-tags

Source

standard-tags.lisp (file)

Macro: ucw.admin.debug MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.admin.dribble MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.admin.error MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.admin.fatal MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.admin.info MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.admin.warn MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.backend.debug MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.backend.dribble MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.backend.error MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.backend.fatal MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.backend.info MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.backend.warn MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.action.debug MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.action.dribble MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.action.error MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.action.fatal MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.action.info MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.action.warn MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.debug MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.dojo.debug MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.dojo.dribble MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.dojo.error MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.dojo.fatal MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.dojo.info MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.dojo.warn MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.dribble MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.error MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.fatal MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.info MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.layers.debug MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.layers.dribble MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.layers.error MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.layers.fatal MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.layers.info MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.layers.warn MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.render.debug MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.render.dribble MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.render.error MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.render.fatal MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.render.info MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.render.warn MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.component.warn MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.debug MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.dribble MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.error MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.examples.debug MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.examples.dribble MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.examples.error MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.examples.fatal MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.examples.info MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.examples.warn MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.fatal MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.info MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.l10n.debug MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.l10n.dribble MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.l10n.error MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.l10n.fatal MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.l10n.info MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.l10n.warn MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.actions.debug MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.actions.dribble MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.actions.error MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.actions.fatal MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.actions.info MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.actions.warn MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.ajax.debug MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.ajax.dribble MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.ajax.error MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.ajax.fatal MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.ajax.info MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.ajax.warn MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.application.debug MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.application.dribble MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.application.error MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.application.fatal MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.application.info MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.application.warn MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.debug MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.dispatcher.debug MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.dispatcher.dribble MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.dispatcher.error MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.dispatcher.fatal MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.dispatcher.info MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.dispatcher.warn MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.dribble MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.error MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.fatal MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.info MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.server.debug MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.server.dribble MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.server.error MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.server.fatal MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.server.info MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.server.warn MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.session-frame.debug MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.session-frame.dribble MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.session-frame.error MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.session-frame.fatal MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.session-frame.info MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.session-frame.warn MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.session.debug MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.session.dribble MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.session.error MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.session.fatal MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.session.info MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.session.warn MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.threads.debug MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.threads.dribble MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.threads.error MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.threads.fatal MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.threads.info MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.threads.warn MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.rerl.warn MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: ucw.warn MESSAGE-CONTROL &rest MESSAGE-ARGS
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Macro: with-dummy-context (&key RENDER ACTION APPLICATION) &body BODY
Package

it.bese.ucw.core

Source

standard-request-context.lisp (file)

Macro: with-lock-held-on-application APPLICATION &body BODY
Package

it.bese.ucw.core

Source

rerl-utils.lisp (file)

Macro: with-lock-held-on-session SESSION &body BODY
Package

it.bese.ucw.core

Source

rerl-utils.lisp (file)

Macro: with-request-params REQUEST-LAMBDA-LIST REQUEST &body BODY

Bind, according the REQUEST-LAMBDA-LIST the parameters in REQUEST and execute BODY.

REQUEST-LAMBDA-LIST is a list of the form:

( [ ( symbol string ) | symbol ]
[ default-value [ supplied-symbol-name ]? ]? )

If the request contains a param (no distinction between GET and POST params is made) named STRING (which defaults to the symbol name of SYMBOL) the variable SYMBOL is bound to the associated value (which is always a string) . If no parameter with that name was passed SYMBOL will be bound to DEFAULT-VALUE and the variable named SUPPLIED-SYMBOL-NAME will be bound to NIL.

NB: Parameter names are matched case insensitively.

Package

it.bese.ucw.core

Source

basic-action.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.4 Functions

Function: abort-action &optional FAILURE-MESSAGE

Calling it without arguments means a graceful abort, while providing a failure message means there was an error. An ajax request will for example show the FAILURE-MESSAGE in one way or another when provided.

Package

it.bese.ucw.core

Source

basic-action.lisp (file)

Function: action-href ACTION &key COMPONENT FRAME

Given an action returns an URL (as a string) which will call the action lambda.

The COMPONENT parameter is passed directly to COMPUTE-URL, FRAME is passed to REGISTER-ACTION. ACTION may be a lambda
or an action object made with MAKE-ACTION factory methods.

Package

it.bese.ucw.core

Source

basic-action.lisp (file)

Function: add-query-parameter-to-uri URI NAME VALUE
Package

it.bese.ucw.core

Source

helpers.lisp (file)

Function: answer &optional VAL
Package

ucw-standard

Source

standard-action.lisp (file)

Function: append-path-to-uri URI PATH
Package

it.bese.ucw.core

Source

helpers.lisp (file)

Function: call THING &rest ARGS
Package

ucw-standard

Source

standard-action.lisp (file)

Function: call-as-request-handler SERVER REQUEST RESPONSE THUNK

Sets up a proper request-handling environment around THUNK

Package

it.bese.ucw.core

Source

standard-server.lisp (file)

Function: call-as-response-handler RESPONSE THUNK &key CONTENT-TYPE SEND-RESPONSE
Package

it.bese.ucw.core

Source

standard-server.lisp (file)

Function: call-as-window COMPONENT-TYPE &rest COMPONENT-INIT-ARGS
Package

ucw-standard

Source

standard-action.lisp (file)

Function: callback-lambda INSTANCE
Function: (setf callback-lambda) VALUE INSTANCE
Package

it.bese.ucw.core

Source

standard-session-frame.lisp (file)

Function: close-transaction &optional SESSION
Package

ucw-standard

Source

transactional-application.lisp (file)

Function: create-server &key BACKEND APPLICATIONS START-P SERVER-CLASS LOG-LEVEL LOG-TO-CONSOLE-P LOG-ROOT-DIRECTORY

Creates and returns a UCW server according to SERVER-CLASS, HOST and PORT. Affects *DEFAULT-SERVER*.

BACKEND is a list of (BACKEND-TYPE &rest INITARGS). BACKEND-TYPE may be :HTTPD, :MOD-LISP, an existing
backend, an existing UCW server backend or :DEFAULT in which case it attempts to return a sane default from the UCW backends loaded and available, or any other value for which a valid MAKE-BACKEND method has been defined. INITARGS will be passed, unmodified, to MAKE-BACKEND.

APPLICATIONS is a list of defined applications to be loaded into the server.

Logs are generated in verbosity defined by LOG-LEVEL and directed to LOG-ROOT-DIRECTORY if defined.

Package

it.bese.ucw.core

Source

control.lisp (file)

Function: external-format-for WHAT
Function: (setf external-format-for) VALUE WHAT
Package

it.bese.ucw.core

Source

vars.lisp (file)

Function: find-parent-typed COMPONENT TYPE &key OTHERWISE
Package

it.bese.ucw.core

Source

standard-component.lisp (file)

Function: get-session-value KEY &optional DEFAULT SESSION

Convenience wrapper around session.value.

SESSION defaults to the current session.

Package

it.bese.ucw.core

Source

protocol.lisp (file)

Writer

(setf get-session-value) (function)

Function: (setf get-session-value) VALUE KEY &optional SESSION

Convience wrapper around (setf session.value).

SESSION defaults to the current session.

Package

it.bese.ucw.core

Source

protocol.lisp (file)

Reader

get-session-value (function)

Function: iterate-sessions-with-lock-held APP VISITOR
Package

it.bese.ucw.core

Source

basic-application.lisp (file)

Function: jump COMPONENT-TYPE &rest COMPONENT-INIT-ARGS
Package

ucw-standard

Source

standard-action.lisp (file)

Function: make-action LAMBDA &rest INITARGS &key CLASS &allow-other-keys

Makes a new unregistered action.

Package

it.bese.ucw.core

Source

basic-action.lisp (file)

Function: make-uri &rest INITARGS
Package

it.bese.ucw.core

Source

helpers.lisp (file)

Function: mark-session-expired SESSION
Package

it.bese.ucw.core

Source

basic-session.lisp (file)

Function: open-transaction &optional SESSION
Package

ucw-standard

Source

transactional-application.lisp (file)

Function: print-uri-to-string URI &optional ESCAPE
Package

it.bese.ucw.core

Source

helpers.lisp (file)

Function: print-uri-to-string-sans-query URI
Package

it.bese.ucw.core

Source

helpers.lisp (file)

Function: query-path-sans-prefix CONTEXT

Returns the part of the context’s request’s query-path after the context’s application’s url-prefix. NB: The returned value shares structure with the query-path. NB: We assume the proper application has already been placed in CONTEXT.

Package

it.bese.ucw.core

Source

standard-request-context.lisp (file)

Function: register-callback LAMBDA &rest ARGS &key FRAME ID &allow-other-keys

Makes a new callback and registers it in FRAME. For more details see make-callback.

Package

it.bese.ucw.core

Source

standard-session-frame.lisp (file)

Function: register-dispatcher APPLICATION DISPATCHER
Package

it.bese.ucw.core

Source

basic-application.lisp (file)

Function: send-standard-error-page &key CONDITION MESSAGE TITLE HTTP-STATUS-CODE
Package

it.bese.ucw.core

Source

request-loop-error.lisp (file)

Function: serve-file FILE-NAME &rest ARGS &key REQUEST RESPONSE LAST-MODIFIED CONTENT-TYPE CONTENT-DISPOSITION-FILENAME CONTENT-DISPOSITION-SIZE EXPIRES
Package

ucw-standard

Source

file-serve.lisp (file)

Function: serve-sequence SEQUENCE &key REQUEST RESPONSE LAST-MODIFIED CONTENT-TYPE CONTENT-DISPOSITION EXPIRES

Write SEQUENCE into the network stream and clean up the request. SEQUENCE may be a string or a byte vector. When it’s a string it will be encoded according to what the (encoding response) protocol answers.

Package

ucw-standard

Source

file-serve.lisp (file)

Function: serve-stream STREAM &key REQUEST RESPONSE LAST-MODIFIED CONTENT-TYPE CONTENT-LENGTH CONTENT-DISPOSITION CONTENT-DISPOSITION-FILENAME CONTENT-DISPOSITION-SIZE EXPIRES
Package

ucw-standard

Source

file-serve.lisp (file)

Function: session-authenticated-p &optional SESSION
Package

ucw-standard

Source

secure-application.lisp (file)

Function: session-user &optional SESSION
Package

ucw-standard

Source

secure-application.lisp (file)

Setf Expander

(setf session-user) (setf expander)

Setf Expander: (setf session-user) &optional SESSION
Package

ucw-standard

Source

secure-application.lisp (file)

Reader

session-user (function)

Function: ucw.log-level ()
Function: (setf ucw.log-level) LEVEL
Package

it.bese.ucw.loggers

Source

loggers.lisp (file)

Function: unique-dom-id &key PREFIX

Generates a unique DOM id

Package

ucw-standard

Source

html-element.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.5 Generic functions

Generic Function: action-isolated-p OBJECT
Generic Function: (setf action-isolated-p) NEW-VALUE OBJECT
Package

it.bese.ucw.core

Methods
Method: action-isolated-p (ACTION-WITH-ISOLATION-SUPPORT action-with-isolation-support)
Method: (setf action-isolated-p) NEW-VALUE (ACTION-WITH-ISOLATION-SUPPORT action-with-isolation-support)

Isolated actions are invalidated after the first call.

Source

basic-classes.lisp (file)

Generic Function: add-component CONTAINER COMPONENT &optional KEY
Package

ucw-standard

Methods
Method: add-component (CONTAINER container) (COMPONENT component) &optional KEY

Add component at the end of the component list.

Source

container.lisp (file)

Generic Function: answer-component CALLEE VALUE

Return control to CALLEE’s CALLER, continuing
with the value VALUE.

answer-component can be called by user code though it will generally be called through the UCW:ANSWER function.

Package

it.bese.ucw.core

Source

protocol.lisp (file)

Methods
Method: answer-component (TARGET standard-component) VALUE
Source

control-flow.lisp (file)

Generic Function: application-authorize-call APPLICATION USER FROM TO

Check user credentials to call TO by FROM in APPLICATION.

Package

ucw-standard

Source

secure-application.lisp (file)

Methods
Method: application-authorize-call (APP secure-application-mixin) USER FROM TO
Method: application-authorize-call (APP secure-application-mixin) USER FROM TO around
Method: application-authorize-call APP USER FROM TO
Generic Function: application-check-password APPLICATION USER PASSWORD

Validate PASSWORD against USER for APPLICATION.

Package

ucw-standard

Source

secure-application.lisp (file)

Methods
Method: application-check-password (APP application) USER PASSWORD
Generic Function: application-find-user APPLICATION USERNAME

Find USER by USERNAME for APPLICATION.

Package

ucw-standard

Source

secure-application.lisp (file)

Methods
Method: application-find-user (APP application) USERNAME
Generic Function: application.charset OBJECT
Generic Function: (setf application.charset) NEW-VALUE OBJECT
Package

it.bese.ucw.core

Methods
Method: application.charset (BASIC-APPLICATION basic-application)
Method: (setf application.charset) NEW-VALUE (BASIC-APPLICATION basic-application)

Default charset for sent text/html documents.

Source

basic-classes.lisp (file)

Generic Function: application.dispatchers OBJECT
Generic Function: (setf application.dispatchers) NEW-VALUE OBJECT
Package

it.bese.ucw.core

Methods
Method: application.dispatchers (BASIC-APPLICATION basic-application)
Method: (setf application.dispatchers) NEW-VALUE (BASIC-APPLICATION basic-application)

A list of request
dispatchers. The user supplied list of dispatchers is extended with other dispatchers that are required for UCW to function properly (action-dispatcher, a parenscript-dispatcher, etc). If you want full control over the active dispatchers use the (setf application.dispatchers) accessor or, if you want control over the order of the dispathcers, (slot-value instance ’dispatchers).

Source

basic-classes.lisp (file)

Method: (setf application.dispatchers) DISPATCHERS (APP basic-application) around
Source

basic-application.lisp (file)

Generic Function: application.online-users OBJECT
Generic Function: (setf application.online-users) NEW-VALUE OBJECT
Package

ucw-standard

Methods
Method: application.online-users (USER-TRACK-APPLICATION-MIXIN user-track-application-mixin)

automatically generated reader method

Source

secure-application.lisp (file)

Method: (setf application.online-users) NEW-VALUE (USER-TRACK-APPLICATION-MIXIN user-track-application-mixin)

automatically generated writer method

Source

secure-application.lisp (file)

Generic Function: application.server OBJECT
Generic Function: (setf application.server) NEW-VALUE OBJECT
Package

it.bese.ucw.core

Methods
Method: application.server (MINIMAL-APPLICATION minimal-application)

automatically generated reader method

Source

basic-classes.lisp (file)

Method: (setf application.server) NEW-VALUE (MINIMAL-APPLICATION minimal-application)

automatically generated writer method

Source

basic-classes.lisp (file)

Generic Function: application.static-roots OBJECT
Generic Function: (setf application.static-roots) NEW-VALUE OBJECT
Package

ucw-standard

Methods
Method: application.static-roots (STATIC-ROOTS-APPLICATION-MIXIN static-roots-application-mixin)
Method: (setf application.static-roots) NEW-VALUE (STATIC-ROOTS-APPLICATION-MIXIN static-roots-application-mixin)

A list of (URL-subdir . pathname)
pairs to use when looking for static files. This follows standard CL pathname syntax i.e. you must include a trailing / in both the URL-subdir and pathname.

Source

static-roots-application.lisp (file)

Generic Function: application.url-prefix APPLICATION

Returns the url prefix (a string) for APPLICATION.

The URL prefix is that string which, when used as the prefix of an incoming http query path, identifies an application.

Package

it.bese.ucw.core

Source

protocol.lisp (file)

Writer

(setf application.url-prefix) (generic function)

Methods
Method: application.url-prefix (MINIMAL-APPLICATION minimal-application)

A string specifying the
start (prefix) of all the urls this app should handle.

This value is used by the standard-server to decide what app a particular request is aimed at and for generating links to actions within the app.

Source

basic-classes.lisp (file)

Generic Function: (setf application.url-prefix) NEW-VALUE OBJECT
Package

it.bese.ucw.core

Reader

application.url-prefix (generic function)

Methods
Method: (setf application.url-prefix) NEW-VALUE (MINIMAL-APPLICATION minimal-application)

A string specifying the
start (prefix) of all the urls this app should handle.

This value is used by the standard-server to decide what app a particular request is aimed at and for generating links to actions within the app.

Source

basic-classes.lisp (file)

Generic Function: backtrack FRAME PLACE &optional VALUE
Package

it.bese.ucw.core

Source

backtracking.lisp (file)

Methods
Method: backtrack (FRAME session-frame) PLACE &optional VALUE
Generic Function: backtrack-slot FRAME OBJECT SLOT-NAME &optional COPYER
Package

it.bese.ucw.core

Source

backtracking.lisp (file)

Methods
Method: backtrack-slot (FRAME standard-session-frame) OBJECT SLOT-NAME &optional COPYER
Generic Function: call-action ACTION APPLICATION SESSION FRAME

This protocol is started when we are ready to call the action.
If the action was found to be valid then the default implementation simply funcalls the action wrapped in an error handler.

Package

it.bese.ucw.core

Source

protocol.lisp (file)

Methods
Method: call-action ACTION APPLICATION (SESSION transactional-session-mixin) (FRAME transactional-session-frame-mixin) around
Source

transactional-application.lisp (file)

Method: call-action (ACTION basic-action) APPLICATION (SESSION basic-session) PREVIOUS-FRAME before
Source

basic-action.lisp (file)

Method: call-action (ACTION action-with-isolation-support) APPLICATION SESSION FRAME
Source

basic-action.lisp (file)

Method: call-action (ACTION action) APPLICATION SESSION FRAME

The base method simply funcalls the action.

Source

basic-action.lisp (file)

Method: call-action (ACTION action) APPLICATION SESSION FRAME around

Install an error handler that redirects all errors to the HANDLE-TOPLEVEL-CONDITION protocol.

Source

basic-action.lisp (file)

Generic Function: call-callbacks ACTION FRAME REQUEST

Call all the callbacks in REQUEST for FRAME.

Methods defined on this generic function must be built up from using map-parameters (part of the backend protocol). Return nil iff there were no callbacks executed.

Package

it.bese.ucw.core

Source

protocol.lisp (file)

Methods
Method: call-callbacks (ACTION basic-action) FRAME REQUEST around
Source

basic-action.lisp (file)

Method: call-callbacks ACTION (FRAME standard-session-frame) (REQUEST request)

Execute all the callback lambda in CONTEXT’s request.

Simply goes through the request’s params and, for every param
which isn’t +action-parameter-name+, +frame-parameter-name+ or +session-parameter-name+, looks up and call the associated lambda in the current frame. Makes sure dependent callbacks are executed after their dependencies.

Source

standard-session-frame.lisp (file)

Generic Function: call-component FROM TO

Transfer control from the component CALLER, to
the component CALLEE.

CALLEE should replace CALLER in the user interface (by setting itself in CALLER’s place). CALLEE can return control to CALLER by calling answer-component.

call-component can be called by user code even though it will generally be called through the UCW:CALL function.

Package

it.bese.ucw.core

Source

protocol.lisp (file)

Method Combination

cc-standard (long method combination)

Methods
Method: call-component FROM (TO standard-component) before
Source

secure-application.lisp (file)

Method: call-component (FROM null) (TO standard-component) primary

Passes control to the TO when there is no current (FROM) component. This method is called in dispatchers, actions should always have a FROM component.

Source

control-flow.lisp (file)

Method: call-component (FROM standard-component) (TO standard-component) primary

Transfer control from FROM to the component TO.

This method grabs the current continuation (and so doesn’t return normally) passes it to TO and puts TO in FROM’s place (by modifying FROM’s component.place).

This method does not return normally but simply stops the execution of the current action and returns when TO answers.

Source

control-flow.lisp (file)

Generic Function: call-render ACTION APPLICATION SESSION FRAME
Package

it.bese.ucw.core

Source

protocol.lisp (file)

Methods
Method: call-render (ACTION basic-action) APPLICATION SESSION FRAME
Source

basic-action.lisp (file)

Generic Function: cancel SELF
Package

ucw-standard

Source

user-login.lisp (file)

Method Combination

cc-standard (long method combination)

Methods
Method: cancel (SELF user-login) primary
Generic Function: child-components STANDARD-COMPONENT &key PREDICATE KEY

Return the children of a component.

Package

it.bese.ucw.core

Source

standard-component.lisp (file)

Methods
Method: child-components (C container) &key PREDICATE KEY
Source

container.lisp (file)

Method: child-components (COMPONENT standard-component) &key PREDICATE KEY

Find all children components of the given components.
This will only return children components that were declared on the class as a component and have components in those slots.

Generic Function: clear-container C
Package

ucw-standard

Methods
Method: clear-container (C container)