Furnace conversation scope
Furnace framework ยป Furnace persistence layer

Prev:Furnace sessions
Next:Furnace asides

The furnace.conversations vocabulary implements conversation scope, which allows data to be passed between requests on a finer level of granularity than session scope.

Conversation scope is used by form validation to pass validation errors between requests.

To use conversation scope, wrap your responder in an conversation responder:
<conversations> ( responder -- responder' )

The conversations responder must be wrapped inside a session responder (<sessions>), which in turn must be wrapped inside a database persistence responder (<db-persistence>). The furnace.alloy vocabulary combines all of these responders into one.

Managing conversation scopes:
begin-conversation ( -- )

end-conversation ( -- )

<continue-conversation> ( url -- response )

Reading and writing conversation variables:
cget ( key -- value )

cset ( value key -- )

cchange ( key quot -- )

Note that conversation scope is serialized as part of the session, which means that only serializable objects can be stored there. See Session state serialization for details.