Hi, I'm new to this mailing list, I hope is the right place to ask for such questions. I'm writing a module for drupal which implements a jabber client and hooks in the appbar module. The issue i'm having now is regarding the data used for jabber communication. I'm using a jabber class and I need to store this object somewhere so that the _init code is just executed one time. I thought about sessions and I found a couple of ways, both don't works properly for me. First is using the global $user: function jwclient_jabberclass_init() { global $user; if (!isset($user->jabclient) && $user->uid) { require_once('jabber.php'); ... $jab = New Jabber($debug); $jabclient = New JabberClient($jab); $jabclient->jabber_client_set_user($user); ... user_save($user, array('jabclient' => $jabclient)); } } function jwclient_init() { jwclient_jabberclass_init(); ... } function theme_jwclient_chat () { global $user; return $user->jabclient->status; } This solution gives me an errors of __PHP_Incomplete_Class Object. Googling in understood that a proper way to save classes in session is to fistly define the class and than call session_start. I don't see ways to achieve this since the class I'm using is defined in a module and the drupal session is already initiated. A workaround i found on drupal.org is by using serialize/unserialize but it doesn't work around for this case. I changed the code in this way: function jwclient_jabberclass_init() { global $user; if (!isset($user->jabclient) && $user->uid) { require_once('jabber.php'); ... $jab = New Jabber($debug); $jabclient = New JabberClient($jab); $jabclient->jabber_client_set_user($user); ... $jabclient = serialize($jabclient); user_save($user, array('jabclient' => $jabclient)); } } function jwclient_init() { jwclient_jabberclass_init(); ... } function theme_jwclient_chat () { global $user; $jabclient = $user->jabclient; $jabclient = unserialize($jabclient); return $user->jabclient->status; } The result is: warning: unserialize() expects parameter 1 to be string, object given After this, i give away $user and tried with $_SESSION function jwclient_jabberclass_init() { global $user; if (is_null($_SESSION['jabclient']) && $user->uid) { require_once('jabber.php'); ... $jab = New Jabber($debug); $jabclient = New JabberClient($jab); $jabclient->jabber_client_set_user($user); ... $_SESSION['jabclient'] = serialize($jabclient); } } function jwclient_init() { jwclient_jabberclass_init(); ... } function theme_jwclient_chat () { $jabclient = unserialize($_SESSION['jabclient']); return $jabclient->status; } This attempt works on the first call. On the second call I get again the error about __PHP_Incomplete_Class Object. I'm out of clue now. Anyone know how to manage the case of storing objects in session with drupal? Thanks, Salvatore