System Template
session.write()
Stores application specific information against the current visitors session data
See Also
rb.page.session.read() Syntax
void = rb.page.session.write(section, SessionData)
Parameters
The 'session.write' method takes 2 parameters:
Name | Type/Value | Range/Length | Description | section | string | | Optional. The name of the section in which to store this session data Available from version : 1.3.5 | SessionData | MetaData | | Required. The object to store in the session data. The is any arbitrarily complex JavaScript object |
Results
The 'session.write' method returns no useful information.
Remarks Note: This method now takes an optional parameter identifying the session data section to read.
Previous versions had a single session data object. The advantage of multiple sections is that data can
be partitioned into separate application specific areas. For example authentication state can be stored separately to
temporary stored form data. This method allows the web designer to store application specific data against
the current session. That information can be subsequently retrieved using the
rb.page.session.read. Note that calling this method over-writes any information currently stored against
the session within this named section but will not change any data stored
under a different section name. Generally most common way of using the session data is to first
read the current contents of a section (which may be empty), make modifications to the
object and then write that section's data back to the system. In this way each page can store
information against session without loosing any information being stored by other areas of the
application. It is recommended for complex applications that the session data object be partitioned into
a number of separate silos identified by section name.
So for example: 'user' | Stores information about the user. Eg during a sequence of
user registration forms. | 'basket' | Simple data representing accumulated shopping information. | 'prefs' | Session preferences. |
This method will always return a JavaScript object. If no data has been stored with the
session for the requested section name then the object will contain no properties. You cannot test for the presence of
session data by testing whether or not the result is undefined! Example This example reads the session data, checks for a 'userInfo' are and if not present creates
it. Finally it writes the modifications back to the system template so they are available the
next time the a page in the site is accessed.
<rb:script>
// Read any existing session data.
var sessionData = rb.page.session.read("auth");
// Check to see whether there is a 'user' object already.
if (!sessionData.userInfo) {
// No data - create it
sessionData.userInfo = {;
name:"Fred";
id:"44523";
}
// Finally store the session data ready for the next access.
rb.page.session.write("auth",sessionData);
}
</rb:script>
Note this is the recommended way of using session data.
- Read the current contents of the object.
- Make modifications for this page.
- Finally write the data back to the template.
|