Using the Session

The functions and macros to manipulate the session are defined in the REBLOCKS/SESSION package.

Session initialization

When a new user opens the site in the browser, Reblocks does these steps:

The method you define for init generic-function should return a root widget. This widget may include children and render them in it's reblocks/widget:render generic-function implementation.

You will find an example of init in the Quickstart section.

Storing data

You can store any kind of data in a session.

To set a value, use (SETF GET-VALUE) function.

For example, you might want to store information about the current user if he logged in:

API

Sets dynamic binding for session and env

Get a session value from the currently running webapp. KEY is compared using EQUAL.

Clear the session value for the currently running app.

KEY is compared using EQUAL.

function
&OPTIONAL (PREFIX "dom")

Generates an ID unique accross the session. The generated ID can be used to create IDs for html elements, widgets, etc.

Checks if session is active and data can be safely retrived or stored.

A method for this generic function should be defined to initialize application for a new user session.

It should return a widget which become a root widget.

Returns current session id or signals an error if no current session.

Reset current session.

Deletes current session id for the browser.

On the next HTTP request a new session will be created.