First, thanks to Jeff Watkins and all those who contributed to Identity. I'm looking forward to using it in my applications.
When beginning to use Identity, I discovered I would need some additional attributes for TG_User. I did some searching to find out how to create my own User class and got things working. The classes defined in soprovider.py inherit from InheritableSQLObject instead of SQLObject. I'm guessing this is to encourage subclassing these, but I think subclassing would work better if the soprovider.py classes just inherited from SQLObject. As it is currently written, subclassing will create additional tables that contain the "extra" attributes, so each class (User, Group, Permission) requires two tables instead of one. It will work, but it is ugly. Also, in my experience, setting properties on the subclass (e.g. _set_password) does not work. My solution was to create User, Group and Permission classes that don't inherit from the soprovider classes. The downside to this is that I don't inherit anything and I would bet the jsonify stuff doesn't work because my classes don't inherit from TG_*. I propose that the TG_User, TG_Group and TG_Permission inherit from SQLObject. This way, only one table will be created for a subclass and setting properties should work. Also, everything else in the module (jsonify_group) should keep working.

