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.

Reply via email to