Package Documentation

Object: SESSION-CONTROL-MIXIN (The :GWL Package)
Mixins: VANILLA-MIXIN

Author

Brian Sorg, Liberating Insight LLC (revised Dave Cooper, Genworks)

Description

Mixin to the root object of the part which you wish to have session control over


Input Slots (optional)

HIDDEN? [from VANILLA-MIXIN*] boolean

Indicates whether the object should effectively be a hidden-object even if specified in :objects. Default is nil.


ORG-TYPE

Type of original object, useful when viewing session report log


RECOVERY-EXPIRES-AT expiration time of the recovery object

After the recovery object has replaced the orginal instance at what time should the recovery instance expire?


RECOVERY-URL

Url to which a user will be redirected if requesting a session that has been cleared


ROOT [from VANILLA-MIXIN*] gdl instance

The root-level node in this object's ``tree'' (instance hierarchy).


SAFE-CHILDREN [from VANILLA-MIXIN*] list of gdl instances

All objects from the :objects specification, including elements of sequences as flat lists. Any children which throw errors come back as a plist with error information


SESSION-DURATION

Length of time a session should last without activity in minutes


STRINGS-FOR-DISPLAY [from VANILLA-MIXIN*] string or list of strings

Determines how the name of objects of this type will be printed in most places. This defaults to the name-for-display (generally the part's name as specified in its parent), followed by an index number if the part is an element of a sequence.


USE-RECOVERY-OBJECT? boolean

Determines whether expired sessions are replaced by recovery object. Default is nil.


VISIBLE-CHILDREN [from VANILLA-MIXIN*] list of gdl instances

Additional objects to display in Tatu tree. Typically this would be a subset of hidden-children. Defaults to NIL.



Input Slots (optional, settable)

EXPIRES-AT

Universal time after which the session should expire



GDL Functions

CLEAR-EXPIRED-SESSION

This is the function called to check for and handle session control

keyword arguments:
debug? Boolean, Default Value: NIL
Prints debug statement if needed

CLEAR-NOW? boolean

Test to run to see if this session has expired and needs to be cleared now.


SESSION-CLEAN-UP gets called right before the instance is going to get cleared

Is intended to be used to stop any instance states that may not be elequently handled by the garbage collector. ie database connections, multiprocessing locks, open streams etc.


SET-EXPIRES-AT

Method which will set the expires-at slot to the current time + the session-duration


Package Documentation