HOWTO use Storage API in your content. Include the following JavaScript function in your content: --------------------javascript code-------------------- function FindSTAPI(win) { var g_nFindAPITries = 0; while ((win.STAPI == null) && (win.parent != null) && (win.parent != win)) { g_nFindAPITries ++; if (g_nFindAPITries > 500) { return null; } win = win.parent; } return win.STAPI; } --------------------javascript code-------------------- This function returns a facade object which has the following methods : - testCall(message) : outputs message in an alertbox, you can use it to make sure the API is reachable - getAllUsers : get a list of users info (user ids, usernames, firstnames, lastnames) Basic storage: - setValue(sv_key, sv_value): set the given value for the given key for the current user - getValue(sv_key): get the value stored for the key sv_key for the current user - getAll(): get all stored key/values pair for the current user Stack storage (you can store a stack of values instead of a single value for each key): - stack_push(sv_key, sv_value): push a new value in the stack for sv_key for the current user - stack_pop(sv_key): pop the most recently pushed value from the sv_key stack for the current user - stack_length(sv_key): get the number of stacked values for the key sv_key for the current user - stack_clear(sv_key): erase all values from the storage stack for the key sv_key for the current user - stack_getAll(sv_key): get all values from the storage stack for the key sv_key for the current user These storage values have superuser counterparts which allow platform administrators to alter values for any user : - setValue_user(sv_key, sv_value, user_id) - getValue(sv_key, user_id) - getAll(user_id) - stack_push(sv_key, sv_value, user_id) - stack_pop(sv_key, sv_value, user_id) - stack_length(sv_key, user_id) - stack_clear(sv_key, user_id) - stack_getAll(sv_key, user_id)