Package Weblocks - internal and external symbols

See only external symbols
Weblocks is a Common Lisp framework that eases the pain of web
application development. It achieves its goals by standardizing on
various libraries, providing flexible and extensible generic views,
and exposing a unique widget-based approach to maintaining UI
state.
Package Weblocks uses the packages Anaphora, Cl-Cont, Cl-Who, Closer-Mop, Common-Lisp, F-Underscore, Fare-Matcher, Hunchentoot, Json, Metabang.Utilities and Parenscript. It has 1131 total symbols and 571 external ones.

Class

checkbox-presentationTreats values as predicates and presents them as a
checkbox.
choices-presentation-mixin
compositeA composite widget is simply a container for other
widgets. The 'widgets' slot accessible with ...
data-editorThe details of stateful handling of forms
manipulating objects. Mix this in to drop-in your ow...
data-scaffold
data-viewA view designed to present data to the user.
data-view-fieldA field class of the data view.
dataedit-mixinA mixin class for dataseq widgets that impelement
editing functionality.
dataformA class that represents a dataform widget. By default this widget
renders the data object with a ...
datagridRepresents a sortable, pagable table. This
widget is inspired by ASP.NET's datagrid control.
datagrid-drilldown-fieldA field used to render drilldown control.
datagrid-select-fieldA field used to render select control.
datalistRepresents a sortable, pagable list. This widget is
similar to the datagrid widget, except item...
dataseqA base class for widgets that are designed to
present a sequence of data items. This class prov...
dependencyModels a dependency of a particular renderable
item (widget, view, presentation) on a resource ...
dispatcherThe dispatcher widget can be used to map a sequence
of URL tokens to a widget corresponding to ...
dom-object-mixinRepresents attributes and functionality common to all
DOM-renderable objects.
dropdown-presentation
excerpt-presentationPresents a large amount of text as an HTML
paragraph.
flashA widget that allows displaying a message that
disappears on the following request. It is usefu...
form-presentationA base class for all presentations that output form
constructs. All form presentations should d...
form-scaffoldForm scaffold.
form-viewA view designed to interact with the user via input
forms.
form-view-fieldA field class of the form view.
form-view-field-writer-mixinA writer slot mixin
grideditA widget based on the 'datagrid' that enhances it
with user interface to add, remove, and modif...
hidden-presentationA presentation that outputs no HTML
image-presentationPresents a url as an image.
inline-view-fieldInline fields are fields that are rendered as part
of the view.
input-presentationA default presentation for forms renders an input
field.
integer-parserA parser designed to parse strings into
integers.
javascript-code-dependencyJavaScript code that is to be placed within the page
being rendered or sent as part of an AJAX ...
keyword-parserA parser designed to parse strings into
keywords.
listeditA widget based on the 'datalist' that enhances it
with user interface to add, remove, and modif...
loginA widget that provides basic login
functionality. Based on a view to be rendered (or a default ...
mixin-form-view-fieldA field class of the form view.
mixin-sequence-view-fieldAn abstract view field class representing a mixin
item in a sequence of items. This class shoul...
mixin-view-fieldMixin fields render a field with another view.
navigationThe navigation widget can act as a menu controls, a
tabbed control, etc. It is a convenience co...
object-id-parserA parser designed to convert an object id into an
object instance.
paginationThe pagination widget can be used to provide UI to
break up large amount of data into pages.
paragraph-presentationPresents a large amount of text as an HTML
paragraph.
parser
password-presentationA presentation for passwords.
predicate-parserA parser designed to parse strings into
predicates.
predicate-presentationA default presentation that renders values as
predicates, where nil is treated as false, and an...
presentationBase class for all presentations. Exists in order
to help manage CSS and JavaScript dependencies ...
quickformA widget based on dataform designed to quickly
present forms. Use 'make-quickform' for easy con...
radio-presentation
request-hooksA data structure that maintains appropriate
callback functions used to hook into request evalua...
scaffoldBase class to be used for scaffolds.
script-dependencyA JavaScript file dependency
selectorA selector is a convinience widget based on the
dispatcher widget and selector-mixin interface....
selector-mixinA mixin for selectors that allows specifying a list
of panes which comprise of pane names and c...
sequence-scaffold
sequence-viewAn abstract class that should be subclassed by
views designed to present sequences of object in...
sequence-view-fieldAn abstract view field class representing a slot of
an item in a sequence of items. This class ...
stylesheet-dependencyA CSS stylesheet dependency
symbol-parserA parser designed to parse strings into
symbols.
table-scaffold
table-viewA view designed to present sequences of object in a
table to the user.
table-view-fieldA field class representing a column in the table
view.
text-parserA default parser for forms. Simply returns strings
obtained from the request.
text-presentationA default presentation that renders values as
text.
textarea-presentationPresent values in a text area HTML control.
url-dependency-mixinAny dependency which can be represented by an external URL.
url-presentationPresents text as a url.
us-state-parserA parser designed to parse strings into
a US state.
us-state-presentation
viewA meta description of the user interface.
view-fieldContains a meta description of a given field in the
view.
view-field-sorting-mixinThis is a class that can be mixed into field
definitions in order to provide functionality nece...
webapp-classThe class of all webapp classes.
weblocks-default
weblocks-webappA class that encapsulates a unique web application and all relevant rnesources.
A webapp is a uni...
widgetBase class for all widget objects.
widget-classA metaclass used for all widget classes. A
custom metaclass is necessary to specialize
'slot-...
widget-direct-slot-definitionAllows specifying custom widget properties.
widget-effective-slot-definitionAllows specifying custom widget properties.
widget-slot-definition-mixinA mixin class used in
'widget-direct-slot-definition' and
'widget-effective-slot-definition' ...

Variable

*action-string*A string used to pass actions from a client to the server. See
'get-request-action'.
*active-webapps*A list of running applications. Applications are only available
after they have been started.
*application-request-hooks*A request hook object used in the application scope.
*authentication-key*A key used to store the authentication object in the session.
*autostarting-webapps*A list of webapps to start when start-weblocks is called
*cancel-control-name*The name of the control responsible for cancellation of form
submission.
*custom-view-field-argument-compilers*A hash map of keywords, each mapped to a compilation
function. When a keyword is encountered ...
*datalist-selection-attempt-error-message*This message will be presented to the programmer if there is an
attempt to set 'allow-select-p' o...
*default-cascade-delete-mixins-p*Default value for 'dataedit-cascade-delete-mixins-p'. See its
documentation for more details.
*default-login-failure-error*Default message in case of login failure.
*default-login-title*Default title to be used in 'do-login'.
*default-store*The default store to which objects are persisted.
*dirty-widgets*Contains a list of dirty widgets at the current point in rendering
cycle. This is a special var...
*dropdown-welcome-message*A welcome message used by dropdowns as the first entry.
*expired-action-handler*Must be bound to a designator of a function with a single optional
argument - the application. Th...
*form-default-error-summary-threshold*When the number of fields in a form is longer than this threshold,
an error summary is rendered a...
*form-submit-dependencies*Dynamic javascript dependencies -- code that form elements need to
run before form submission, ...
*isearch-input-delay*Delay in seconds after keystrokes a client should wait before it
sends an isearch request.
*isearch-max-input-length*Maximum input length allowed in an isearch.
*json-content-type*A content type sent to the client to identify json data.
*last-session*Bound to a session object associated with the last handled
request. Note, this variable is only...
*maintain-last-session*Determines whether *last-session* variable will be maintained at
each request. Note, this varia...
*max-password-length*Default maximum for the length of the password field
*max-raw-input-length*Default maximum allowed input length for input fields.
*max-textarea-input-length*Maximum number of characters that can be entered before the server complains.
*menu-empty-message*A default message shown by 'render-menu' if no entries are
available.
*override-parent-p*Allow parent overriding in (SETF COMPOSITE-WIDGETS).
*pagination-items-per-page*Default number of items visible on a page.
*registered-webapps*A list of applications that the system knows about
*render-empty-sequence-string*The default string used by the sequence view to signify that there
is no information available.
*required-field-message*This message will be passed to 'format' along with the humanized
name of the field to inform user...
*store-names*A list of store names in the order in which they were defined.
*stores*A hashmap of stores, where each item has store name as key, and
structure of type 'store-info' as...
*submit-control-name*The name of the control responsible for form submission.
*text-data-cutoff-threshold*In the excerpt mode, the number of characters to be rendered
before the text is cut off and an el...
*textarea-cols*Default number of columns rendered in textarea
*textarea-rows*Default number of rows rendered in textarea
*us-states*A alist of us state names and their abbreviations.
*us-states-abreviation->name*An alist of us state abbreviations mapped to state names.
*use-suggest-for-us-states*If true, suggest snippet will be used to render us-state types in
forms. A simple dropdown will b...
*views*A hashtable that stores view instances keyed by their name.
*webapp-permanent-actions*
*weblocks-output-stream*Output stream for Weblocks framework created for each request
and available to code executed with...
*weblocks-server*If the server is started, bound to hunchentoot server
object. Otherwise, nil.

Function

%jsHelper function for WITH-JAVASCRIPT macros.
action-txn-hookThis is a dynamic action hook that wraps POST actions using the
weblocks transaction function...
active-sessionsReturns a list of currently active sessions.
add-get-param-to-urlBased on Edi's code in URL-REWRITE but uses & instead of &
which is more appropriate for our ...
add-webapp-permanent-actionRemove an action from a webapp. action-name should be a string, or it
will be converted to on...
ajax-request-pDetects if the current request was initiated via AJAX by looking
for 'X-Requested-With' http head...
alist->plistConverts an alist to plist.
anonymous-user-countReturns the number of anonymous users on the server.
answerReturns control to location saved in 'continuation', which may be a
callee widget or the continua...
append-custom-fieldsAppends 'custom-fields' to the end of custom fields that are
already defined in 'args'.
articlizePrepends a word with a proper indefinite article. Returns 'an
apple' for 'apple' and 'a table' fo...
asdf-system-directoryComputes the directory in which the .asdf file for a given ASDF
system resides.
attributize-presentationAttributizes presentation name.
authenticated-server-usersReturns authentication information found in each session on the
server. Sessions without authenti...
authenticatedpReturns nil if the current user is not authenticated. If the user
is authenticated, authenticatio...
build-local-dependenciesUtility function: convert a list of either dependency objects or an
alist of dependencies into a ...
call
check-webappEnsure that the we have a valid webapp class
cl-escape-stringForce quoting of special characters by cl-who for with-html.
class-visible-slotsConverts 'cls' to class object if it is a name, and calls
'class-visible-slots-impl'.
close-storesCloses all stores.
compile-view-fieldsCompiles declarative representation of view fields into CL code.
compose-uri-tokens-to-urlEncodes and concatenates uri tokens into a url string. Note that
the string will not contain sepa...
compute-public-files-pathComputes the directory of public files. The function uses the
following protocol: it finds the ca...
compute-webapp-public-files-uri-prefix-utilA wrapper around 'compute-webapp-public-files-uri-prefix' that
handles current app.
consonantpChecks if a character is a consonant.
copy-dialogReturn a copy of STRUCTURE with the same (EQL) slot values.
copy-field-infoReturn a copy of STRUCTURE with the same (EQL) slot values.
copy-pane-infoReturn a copy of STRUCTURE with the same (EQL) slot values.
copy-store-infoReturn a copy of STRUCTURE with the same (EQL) slot values.
count-view-fieldsCounts the number of fields in a given view.
current-webappReturns the currently invoked instance of a web application.
dataedit-add-items-flowInitializes the flow for adding items to the dataedit.
dataedit-delete-itemShould be called by dataedit widgets to delete a single
item. Deletes the item, and if 'dataedit-...
dataedit-delete-items-flow
dataedit-reset-stateResets the state of the dataedit. This function should be used by
in order to reset the state aft...
dataedit-update-operationsShould be used to update operations the widget supports.

'delete-fn' - a function to be called w...
datagrid-drilldown-styleReturns a style used in datagrid drilldown cells.
datalist-on-drilldown
datalist-render-sort-dropdown
datalist-update-opretaionsDatalist implements drilldown via an item-op. This function first
removes the drilldown operation...
dataseq-clear-selectionClears selected items.
dataseq-dataReturns the items in the sequence. If 'dataseq-on-query' is a
function designator, calls the func...
dataseq-data-countReturns the number of items in the sequence.
dataseq-field-sortable-pDetermines if a field is sortable.
dataseq-item-selected-pChecks if an item in the dataseq is marked as selected.
dataseq-operations-action
dataseq-persistent-query-functionReturns a function suitable for slot `on-query' on `dataseq' that
will call the persistent store ...
dataseq-select-itemMarks an item in the dataseq as selected.
dataseq-selection-empty-pReturns true if no items are selected, nil otherwise.
'selection-or-dataseq' should either be a d...
dataseq-sort-directionThe current sort direction in a given dataseq.
dataseq-sort-pathThe current sort path in a given dataseq.
dataseq-sort-slotThe current sort slot in a given dataseq.
dataseq-update-sort-columnThis function is called to ensure that a dataseq is sorted on
sortable column (if one is availabl...
default-expired-action-handlerDefault value of *expired-action-handler*. Redirects to application
root and sets a query paramet...
dependencies-by-symbolA utility function used to help in gathering dependencies. Determines
dependencies for a particul...
dialog-close
dialog-css-class
dialog-p
dialog-title
dialog-widget
disable-global-debuggingA manual method for resetting global debugging state
dispatcher-get-widgetLooks up and returns the widget in the cache based on the
tokens. If the widget is not in the cac...
do-choice
do-confirmation
do-dialog
do-information
do-login
do-modal
do-page
do-root-widget
do-widget
do-widget-aux
drop-lastReturns a copy of the list without the last element.
enable-global-debuggingSetup hooks for session maintenance and showing backtraces
enable-webappMake sure the app with the “” prefix is always the last one and that there
is only one!
entity-class-nameA helper function that generates a class name from an entity name
and a suffix.
escape-script-tagsEscape script blocks inside scripts.
eval-actionEvaluates the action that came with the request.
eval-dynamic-hooksA helper function that makes it easier to write dynamic hooks.

(defun my-hook (hooks)
(w...
field-info-field
field-info-object
field-info-p
field-info-parent-info
find-app
find-own-symbolLike `find-symbol', but reject symbols not really in PACKAGE.
find-slot-dsdReturns a direct-slot-definition object of a slot with 'slot-name'
in 'class'.
find-slot-esdReturns an effective-slot-definition object of a slot with
'slot-name' in 'class'.
find-viewFinds a view. If 'view' is a symbol, looks up the appropriate view
object. If 'view' is a view ob...
find-widget-by-path
flash-messageAdd a 'msg' to a list of messages to show on this request in the
'flash' object.
flash-messages-to-showReturns a list of messages that need to be shown or nil if there is
nothing to show. This functio...
form-field-intermediate-valueReturns an intermediate value for 'slot-name' from
'intermediate-values'. The second value is tru...
format-suggest-listFormats a list of results into HTML that can later be sent to a
suggest control on the client.
function-designator-pReturns true if the object is a function designator.
function-or-action->actionAccepts a function or an existing action. If the value is a
function, calls 'make-action' and ret...
gen-idGenerates an ID unique accross the session. The generated ID can be
used to create IDs for html e...
generate-action-codeGenerates unique, hard to guess action codes.
get-field-info-sort-pathGiven a field info, returns a sort path that can be passed to
backend stores. The return value ma...
get-object-view-fieldsReturns a list of 'field-info' structures. If 'include-invisible-p'
is set to true, fields declar...
get-request-actionGets an action from the request. If the request contains
*action-string* parameter, the action is...
get-request-action-nameGets the name of the action from the request.
get-webappGet a running web application
get-webapps-for-class
hash-keysReturns all keys in the hashtable.
hash-passwordReturns a one way hash of a plain-text password.
highlight-regex-matchesThis function highlights regex matches in text by wrapping them in
HTML 'string' tag. The complex...
humanize-sort-directionConverts a sort direction to a human readable name.
init-navigationA helper function to create a navigation widget

ex:

(init-navigation (make-instance 'my-navigat...
init-user-session
initial-request-pReturns true if the request is the first request for the session.
initialize-debug-actionsWhen weblocks is started in debug mode, called on session
initalization so that appropriate actio...
insert-afterDestructively inserts 'newelt' into 'list' after 'index'.
inspect-typespecConverts 'typespec' into a representation suitable for further
inspection. Returns two values. Th...
intersperseIntersperses a list with a delimeter.

If 'last' is specified, it will be used for the last delim...
list->assocNondestructively convert a list of elements to an association
list If an element of a list is a c...
list-starts-withDetermines if a list starts with the given elements.
log-formWrapper around log-ui-action for forms.
log-linkWrapper around log-ui-action for links.
log-ui-actionIf called during an active unit test, logs the UI action to the
test's temporary database so th...
logoutRemoves any authentication information from the session.
make-actionCoverts a function into an action that can be rendered into HTML. A
unique, hard to guess string ...
make-action-urlAccepts action code and returns a URL that can be used to render
the action. Used, among others, ...
make-classMakes an anonymous class with a number of slots.
'slots' - a list of symbols to be used as slot n...
make-dialog
make-dialog-jsReturns a string with JS code that shows a modal pop-up dialog with
the widget inside.
make-drilldown-fieldMakes a custom field for rendering drilldown controls.
make-field-info
make-isearch-regexCreate a regular expression from the user's input that tries to be
faithful to Emacs' isearch.
make-local-dependencyMake a local (e.g. residing on the same web server) dependency of
type :stylesheet or :script. Un...
make-navigationInstantiates the default navigation widget via 'make-instance'
and forwards it along with 'args' ...
make-pane-info
make-quickformReturns an instance of a dataform widget configured to quickly an
easily present forms. The advan...
make-select-fieldMakes a custom field for rendering select controls.
make-slot-writerReturns a function that accepts a value and object and stores the
value transformed by 'slot-read...
make-store-info
make-webapp-public-file-uriMakes a URI for a public file for a weblocks application (by
concatenating the app prefix, the pu...
make-webapp-uriMakes a URI for a weblocks application (by concatenating the app
prefix and the provided uri).
map-mixin-fields
map-view-fieldsActs like mapcar for view fields. FN should expect a structure of
type field-info.
mapstoresMaps a function over existing stores in the order in which they
were defined. Returns NIL.
maybe-add-trailing-slashSupply a trailing slash if needed.
negate-sort-directionReturns a negated direction of a sort (returns :asc
for :desc and vica versa).
ninsert
object-id-slot-nameReturns the slot name of the slot that holds the unique identifier
of 'obj'. This information is ...
object-storeReturns the store for the object by calling 'class-store'.
obtain-presentation-choicesAccepts a 'choices-presentation-mixin' and an object being rendered
and returns a list as specifi...
obtain-view-field-valueObtains the view field value of object. See documentation for
'reader' slot of 'field' for more d...
open-storesOpens and binds all stores.
pagination-call-on-changeCalls on-change callback for the pagination widget.
pagination-on-go-to-pageHandles client requests to go to a given page.
pagination-page-countReturns the total number of pages necessary to present the data
managed by a given pagination wid...
pagination-page-item-rangeReturns a range of items that belong to a currently selected
page. This function returns two valu...
pane-info-label
pane-info-name
pane-info-p
pane-info-uri-tokens
parse-symbol-from-requestParser a symbol from request, respecting the value returned
by (readtable-case *readtable*). This...
persist-objectsPersists all objects in 'objects' sequence into 'store'.
pluralizePluralizes word. Converts 'thing' to 'things'.
print-user-statsPrints user statistics to an optionally specified stream. If the
stream isn't specified, prints t...
proper-indefinite-articleReturns a proper indefinite article for a word. Returns 'an' for
'apple' and 'a' for 'table'.
proper-number-formTurns 'singular-word' into proper number form. If 'number' is 1,
leaves 'singular-word' as is, ot...
prune-dependenciesRemove duplicates from a list of dependencies.
public-file-relative-pathConstructs a relative path to a public file from the “/pub” directory.

'type' - currently either...
public-files-relative-pathsA helper function that returns a list of paths for files provided
in 'args'. Each argument must b...
pure-request-pDetects if the current request is declared as 'pure', i.e. affects
no widgets or internal applica...
quote-property-list-argumentsQuotes the arguments of a property list.
redirectSends a redirect response to the client. If 'redirect' is called on
a regular request, sends appr...
refresh-request-pDetermines if a request is a result of the user invoking a browser
refresh function. Note that a ...
remove-action-from-uriRemoves the action info from a URI.
remove-keyword-parameterRemoves a keyword parameter from a parameter-list.
(remove-keyword-parameter '(1 2 3 :a 1 :b 2 :c...
remove-keyword-parametersRemoves all parameters with keys in 'keywords' from
'parameter-list'.
remove-parameter-from-uriRemoves the given parameter from a URI.
remove-session-from-uriRemoves the session info from a URI.
remove-spurious-slashesCondense multiple consecutively occuring slashes in STR
into a single slash.

ex:

(remove-spurio...
remove-webapp-permanent-actionRemove a permanent action from a webapp
render-autodropdownRenders a dropdown along with a form. The dropdown automatically
submits on selection, or if JS i...
render-buttonRenders a button in a form.

'name' - name of the html control. The name is attributized before
b...
render-checkboxRenders a checkbox in a form.

'name' - name of the html control. The name is attributized before...
render-choices-getRenders the contents of a choice dialog with choices displayed as
links.
render-choices-postRenders the contents of a choice dialog with choices displayed as
form buttons in a POST form.
render-close-buttonRenders a close button. If the user clicks on the close button,
'close-action' is called back. If...
render-debug-toolbarWhen weblocks is started in debug mode, called on every request to
present the user with a toolba...
render-dirty-widgetsRenders widgets that have been marked as dirty into a JSON
association list. This function is nor...
render-dropdownRenders a dropdown HTML element (select).

'name' - the name of html control. The name is attribu...
render-form-and-buttonRenders a button within a form. This function can be used a short
cut to quickly render a sumbit ...
render-form-submit-dependencies
render-input-field
render-isearchRenders an input bar with 'input-name' that calls back 'isearch-fn'
in delayed manner. This is us...
render-linkRenders an action into an href link. If 'ajaxp' is true (the
default), the link will be rendered ...
render-listRenders a sequence of items 'seq' in an HTML list. If 'render-fn'
is provided, calls it with one ...
render-menuRenders a menu snippet based on given options and selected
option. An option may be a dotted pair...
render-messageRenders a message to the user with standardized markup.
render-object-viewA helper function that finds the view and calls
'render-object-view-impl'. Additionally, calls 'd...
render-passwordRenders a password in a form.
'name' - name of the html control. The name is attributized before ...
render-radio-buttonsRenders a group of radio buttons.

'name' - name of radio buttons.
'selections' - a list of selec...
render-select-barRenders commands relevant to item selection (select all, none,
etc.)
render-suggestRenders a block that provides functionality similar to google-suggest.

'input-name' - the 'name'...
render-textareaRenders a textarea in a form.
'name' - name of the html control. The name is attributized before ...
render-total-items-messageRenders the total items message.
render-viewA helper function that inspects the view, creates a fitting object
from it only the fly, and call...
request-parameterGet parameter 'name' from the request. If the request was
submitted via GET method, the parameter...
request-parametersGet parameters alist from the request. If the request was submitted
via GET method, the parameter...
request-parameters-for-object-viewReturns request parameters taking into account a particular view of
an object. This function is n...
request-uri-pathReturns the path component of the request URI. The path component
does not include the domain nam...
reset-webapp-sessionReset sessions on a per-webapp basis
restart-webapp
run-view-validatorsApplies all of the functions in the 'validators' list to
the 'fields-values' arglist. Returns eit...
safe-applyApply 'fn' if it isn't nil. Otherwise return nil.
safe-funcallFuncall 'fn' if it isn't nil. Otherwise return nil.
safe-subseqA safe alternative to subseq that automatically adjust indices.
selector-mixin-canonicalize-paneSame as selector-mixin-canonicalize-pane-info, but for convinience
operates on the dotted pair.
selector-mixin-canonicalize-pane-infoReturns a 'canonical' representation of a pane info - a pane-info
structure (this is because car ...
selector-mixin-find-pane-by-nameReturns a canonicalized pane (cons pair as defined by 'panes' slot
of selector-mixin with car bei...
selector-mixin-find-pane-by-tokensReturns a canonicalized pane (cons pair as defined by 'panes' slot
of selector-mixin, with car be...
send-script
server-type
server-version
session-name-string-pairReturns a session name and string suitable for URL rewriting. This
pair is passed to JavaScript b...
session-request-hooksA request hook object used in the session scope.
singularizeSingularizes word. Converts 'things' to 'thing'.
slot-readerReturns a reader, if one is defined, on the slot.
slot-value-by-pathRetrieves a value of a slot from a hierarchy of objects. A nil on
the path is ignored.

ex:
(slo...
sort-dependencies-by-type
sort-webapps
stable-set-differenceReturns a list of element of 'list-1' that do not appear in 'list-2'.
start-webappStarts the web application
start-weblocksStarts weblocks framework hooked into Hunchentoot server. Set
':debug' keyword to true in order f...
stop-webappStops the web application
stop-weblocksStops weblocks. Closes all stores declared via 'defstore'.
store-info-args
store-info-p
store-info-type
string-invert-case
string-remove-leftIf string 'str' starts with 'prefix', remove 'prefix' from the
start of 'str'.
string-remove-rightIf string 'str' ends with 'suffix', remove 'suffix' from the end of
'str'.
string-whitespace-pReturns true if every character in a string is a whitespace
character, nil otherwise.
strip-trailing-slashesRelentlessly strip all trailing slashes from STR.
A string solely consisting of slashes is no spe...
symbol-statusReturns a status of 'symbol' in its package (internal, external,
etc.)
symbol-to-keyword
text-input-present-pReturns true if the text input is to be considered non-empty.
tokenize-uriTokenizes an URI into a list of elements.

ex:
(tokenize-uri “/hello/world/blah\test\hala/world?h...
unattributized-nameCall `attributize-name' with NAME and modify the result to be a
variant that is still usable in a...
update-dialog-on-requestThis callback function is called by 'handle-client-request'. If a
request is a refresh and a dial...
uri-tokens-start-withReturns true if 'uri-tokens' start with 'match-tokens'. Returns
false otherwise.
us-state-pUsed by the type specifier 'us-state' to determine if a string is a
state.
vowelpChecks if a character is a vowel.
webapp-application-dependenciesReturns a list of dependencies on scripts and/or stylesheets that
will persist throughout the ...
webapp-descriptionReturns the description of the web application. Please note, this
description will be used for...
webapp-hostnamesReturns the hostnames this application will serve requests for.
webapp-init-user-sessionReturns the init function for the user session.
webapp-nameReturns the name of the web application (also see 'defwebapp'). Please
note, this name will be...
webapp-permanent-actionReturns the action function associated with this symbol in the current webapp
webapp-permanent-actions
webapp-prefixReturns the URL prefix of the application.
webapp-public-files-uri-prefix
webapp-serves-hostnameDoes APP serve requests for HOSTNAME?
webapp-session-valueGet a session value from the currently running webapp
weblocks-dispatcherDispatcher function suitable for inclusion into hunchentooth dispatch table.
The function serves ...
widget-dirty-pReturns true if the widget 'w' has been marked dirty.
yield->do-widgetWalks the expression tree and converts calls to 'yield' to
appropriate calls to 'do-widget'.

Generic-Function

attributize-nameConvert objects to a format suitable for
serialization (in particular for markup languages like H...
class-from-view
class-id-slot-nameMust return the symbol that identifies the slot name which
represents the unique ID of the class ...
class-storeReturns the store where objects of class name
should be persisted. This function should be used b...
class-visible-slots-implReturns a list of 'standard-direct-slot-definition'
objects for a class and its subclasses. Slots...
compact-dependenciesProvides a hook for dependency processing. The
default implementation just removes duplicates a...
composite-widgets
compute-webapp-public-files-pathIf 'weblocks-webapp-public-files-path' is
nil (default), tries a number of strategies to determ...
compute-webapp-public-files-uri-prefixComputes a virtual uri for public files of an
app. Default implementation concatenates webapp-p...
dataedit-create-drilldown-widgetMust instantiate and return a widget to be used to present a
drilldown of a dataedit item. Specia...
dataedit-create-new-item-widgetMust instantiate and return a dataform that allows adding a new
entry. Note, in order for this fu...
dataedit-drilldown-actionThis callback function will be called by the dataedit when the user
attempts to drill down on a g...
dataedit-item-widget-dataReturns the item held by the dataedit-item-widget.
dataform-data-view
dataform-form-view
dataform-submit-actionCalled when the user invokes a submit action on a dataform
widget. The default implementation upd...
datalist-item-data-view
datalist-render-itemRenders a given item of a datalist object.
dataseq-data-form-class
dataseq-render-mining-barThis function renders the data mining bar for widgets deriving
from dataseq. The data mining bar ...
dataseq-render-operationsThis function is responsible for rendering the operations for the
widget deriving from dataseq. S...
dataseq-render-operations-defaultThe default implementation of operation rendering. It renders item-ops
and common-ops as buttons...
dataseq-render-pagination-widgetThis function is responsible for rendering the pagination widget
for the dataseq.
dataseq-render-pagination-widget-defaultThis function renders the default the pagination widget for the dataseq.
dataseq-view
dataseq-wrap-body-in-form-pDetermines whether 'render-widget-body- wraps the
body in a form. This behavior is occassionally ...
dependenciesReturn a list of dependencies for a particular
object.

Whenever a widget is rendered by webl...
dependencies-equalpDetermine whether two dependencies are equal. We need
to be able to compare dependencies in order...
dependencies-lesspUsed for ordering dependencies, determines which ones
will come first in the page header.
dependency-url
dom-classesReturns a string that represents all applicable CSS
classes for an object (usually a widget). Nor...
dom-idProvides a consistent interface to identifying widgets
by their DOM id. Returns a string or nil i...
ensure-dom-idEnsure that the object has a 'dom-id' and return
it. 'dom-id' is lazily generated on first read...
expired-action-handlerWebapp specific protocol now used in action
handler. This method provides backwards compatab...
finalize-webappCalled when the app has been pulled off the running list to perform any
webapp specific clean...
find-widget-by-path*Returns a widget object located at 'path', where 'path' is a list
of widget names starting from r...
generate-scaffold-viewGenerates and returns a scaffold view of a given
scaffold type for a given object class. Scaffold...
generate-scaffold-view-fieldGenerates a sensible view field from a direct slot
definition. Specialize this function to genera...
handle-client-requestThis method handles each request as it comes in from the
server. It is a hunchentoot handler and ...
humanize-nameConvert objects to a human-readable string suitable
for presentation. Default implementations bea...
initialize-webappA protocol for performing any special initialization on the creation of a webapp object.
mark-dirtyDefault implementation adds a widget to a list of dirty
widgets. Normally used during an AJAX req...
mixin-form-view-field-persist-p
object-class-nameReturns an object's class name (i.e. “Employee”). This method is
be used to present the name of a...
object-idReturns a value that uniquely identifies an object in memory or in
a backend store. The default i...
page-not-found-handlerThis function is called when the current widget
heirarchy fails to parse a URL. The default ...
page-title
pagination-render-total-item-countThis function is responsible for rendering the total number of
items if 'show-total-items' is set...
parse-view-field-valueParse a string 'value' obtained from a request
using a specified 'parser' and save it into an app...
parser-class-nameGiven a type of the parser, returns its class
name. Default implementation adds '-parser' to the ...
parser-error-message
per-class-dependenciesReturn a list of dependencies for an object of a
particular class. For widgets, this method is ...
presentation-choices-default-label-keyDefault key for choice labels. See
'presentation-choices-label-key' for more details.
presentation-choices-default-value-keyDefault key for choice values. See
'presentation-choices-value-key' for more details.
presentation-class-nameGiven a type of the presentation, returns its class
name. Default implementation adds '-presentat...
print-view-field-valueConverts a value to a textual representation.
Specialize this function to change the way a value ...
render-dataformRenders the dataform widget in its current state. Normally called
by 'render-widget-body'. Overri...
render-dataform-dataRenders the dataform widget when it's in ':data'
state. Normally called by 'render-dataform'. Ove...
render-dataform-data-buttonsRender the buttons and links appearing with the
data view on a dataform.
render-dataform-formRenders the dataform widget when it's in ':form'
state. Normally called by 'render-dataform'. Ove...
render-dataseq-bodyRenders the actual data of the dataseq without any controls before
or after. Widgets deriving fro...
render-dependency-in-ajax-response
render-dependency-in-form-submit
render-dependency-in-page-body-bottom
render-dependency-in-page-body-top
render-dependency-in-page-head
render-extra-tags
render-form-view-buttonsRenders buttons specified view 'buttons' slot of the 'form-view'
object. By default, this method ...
render-navigation-menuRenders HTML menu for the navigation widget.
render-object-view-implRenders 'obj' using 'view'.
render-pageTakes the widget and application dependency information and wraps
the HTML already rendered to *w...
render-page-bodyRenders the body of the page (exluding the <body>
tag). The default implementation wraps the alre...
render-page-headers
render-table-view-body-rowRenders the rows in the 'tbody' element of the table. The
default implementation uses 'render-tab...
render-table-view-header-rowRenders the row in the 'thead' element of the table. The default
implementation uses 'render-view...
render-validation-summaryRenders a summary of validation errors on top of
the form. This function can be redefined to rend...
render-view-fieldRenders a given view field. This function should
render appropriate structural markup, and call r...
render-view-field-headerRenders a table header cell.
render-view-field-header-valueRenders a table header cell value.
render-view-field-valueRenders 'value' obtained from 'field' using
'presentation'. If this function requires a textual r...
render-widgetRenders a widget ('render-widget-body') wrapped in a
header ('with-widget-header'). If 'inlinep' ...
render-widget-bodyA generic function that renders a widget in its current state. In
order to actually render the wi...
request-parameter-for-presentationAnswer HTTP request parameter NAME, but
preprocessed for PRESENTATION.
scaffold-class-nameGiven a scaffold 'type', converts it to the class
name of the scaffold. Default implementation ad...
scaffold-view-field-typeGiven a scaffold object, returns its view field
type. Default implementation removes '-scaffold' ...
scaffold-view-typeGiven a scaffold object, returns its view
type. Default implementation removes '-scaffold' from t...
selector-mixin-current-paneReturns a default pane to select in case no uri
tokens are specified. Default implementation retu...
selector-mixin-current-pane-widgetReturns a default pane to select in case no uri
tokens are specified. Default implementation retu...
selector-mixin-default-paneReturns a default pane to select in case no uri
tokens are specified. Default implementation retu...
selector-on-dispatchThis function implements dispatcher's 'on-dispatch'
for the selector. It selects from one of th...
typespec->form-view-field-parserConverts a typespec to a parser argument. See
'typespec->view-field-presentation' for more inform...
typespec->view-field-presentationExpects a scaffold type, a typespec and the
typespec's arguments arguments (obtained via
'inspect...
update-object-view-from-requestParses view fields from request into a given
object. The 'form-view-field-parser' slot of each fi...
validate-form-view-fieldCalled by 'validate-object-form-view' during form
deserialization to validate a form view field. ...
validate-object-form-viewCalled by the framework during form deserialization
to validate a form view. Default implementati...
view-argument-quoting-strategyA quoting strategy for an argument of a given
name. Possible values are :quote, in which case...
view-caption
view-class-nameGiven a view 'type', converts it to the class name
of the view. Default implementation adds '-vie...
view-default-field-typeGiven 'view-type' and 'field-type', returns the
type of the fields of the view. Default implement...
view-field-class-nameGiven a type of the field, returns its class
name. Default implementation adds '-view-field' to t...
widget-continuation
widget-nameAn interface to the DOM id of a widget. Provides
access to the underlying implementation, can r...
widget-parent
widget-prefix-fn
widget-rendered-p
widget-suffix-fn
with-table-view-body-rowUsed by table view to render body rows. Specialize this function
to modify HTML around a given ro...
with-table-view-headerTable specific header responsible for rendering
table, thead, and tbody HTML.
with-table-view-header-rowUsed by table view to render header rows. This functions calls
'render-table-view-header-row' to ...
with-view-headerRenders header and footer around the body of the
view. Specialize this function to customize rend...
with-widget-headerRenders a header and footer for the widget and calls 'body-fn'
within it. Specialize this functio...

Macro

current-dialogExpands to code that signifies a place that contains information
about the currently active dialo...
define-permanent-actionAdds a permanent action to the class's set of permanent actions
define-permanent-action/ccAdds a permanent action to the class's set of permanent actions
defstoreA macro that helps define a store. A global variable 'name' is
defined, and 'open-store' is calle...
defviewA macro used to easily define user interface views in a declarative
manner.

(defview (NAME [:ty...
defview-anonA macro used to easily define anonymous user interface views in a
declarative manner.
defwebappThis macro defines the key parameters for a stand alone web application.
It defines both a clas...
defwidgetA macro used to define new widget classes. Behaves exactly as
defclass, except adds 'widget-class...
eval-hookEvaluates the appropriate hook. See 'request-hook'.
extract-view-property-from-typeHelper macro to obtain view properties from typespecs.
hook-by-scopeReturns a place which contains the hook object for the specified
scope.
insert-atDestructively inserts 'newelt' into 'list' before 'index'.
noscriptOutputs HTML in a way that it takes effect on the client only if
client-side scripting is disable...
request-hookAllows access to a series of hooks exposed by 'handle-client-request'.

scope - the scope of the ...
root-compositeExpands to code that can be used as a place to access to the root
composite.
scriptonlyOutputs HTML defined in the body in such a way that it takes effect
on the client only if client-...
with-dynamic-hooksPerforms nested calls of all the hooks of type, the innermost call is
a closure over the body ...
with-extra-tagsA macro used to wrap html into extra tags necessary for
hacking CSS formatting. The macro wraps t...
with-flowEases the burden of creating flows. Instead of using 'do-widget' in
the body, one can use 'yield'...
with-htmlA wrapper around cl-who with-html-output macro.
with-html-formTransforms to cl-who (:form) with standard form code (AJAX support, actions, etc.)
with-html-to-stringA wrapper around cl-who with-html-output-to-string macro.
with-javascriptPlaces 'source' between script and CDATA elements. Used to avoid
having to worry about special ch...
with-javascript-to-stringPlaces 'source' between script and CDATA elements. Used to avoid
having to worry about special ch...