[Zope-dev] LM and user objects

Bill Anderson bill@libc.org
Tue, 06 Jun 2000 16:03:50 -0600


"Phillip J. Eby" wrote:
> 
> At 02:21 PM 6/6/00 -0600, Bill Anderson wrote:
> >
> >I beleive I have the basic LM concept grasped. I understand that I need
> >a 'User' Object, ostensibly can be done in Python or ZClasses. For now,
> >I will look at ZClasses for experimentation.
> >
> >So, I beleive that to set up a ZODB-based User for LM, I need to create
> >the UserObject's ZClass. What do I need to subclass, if any, from?
> 
> >From Python: Products.LoginManager.LoginUser
> >From Zope:   "ZClass_for_LoginUser"


Cool. I tried the ZClass route (less restarts ;) gave it Fname,Lname,and
zpasswd as fields. (ISTR something about the password needing to be a
field)


> >Once I get that set up, I add property sheets for the user where? The
> >ZClass?
> 
> To add sheets for the class, do it in the ZClass.  You will then need
> AttributeProvider support for the properties (which if you're doing a
> Persistent user source, means simply that you leave the default "Persistent
> Internal Attribute Provider" active for all attributes).  Alternatively,
> you can programmatically add a propertysheet to an individual user at
> "runtime", but you will have to create the schema for it at the same time.

OK.
 
> >Once I get that set up, how do I add a user? Would one method be to go
> >into the acl_users(LM) and add a User? What about adding them
> >programmatically? I looled at the API.txt, but it wasn't helpful in this
> >regard. :(
> 
> I think if you derive your UserSource from the BasicUserSource or
> UserSource class in LoginManager, you should be able to simply call the
> usersource's newItem(id) method to get a new, empty user object.
> Manipulating propertysheets on it will then let you set properties.


I am using the deafult UserSource that comes with LM for the moment (one
step at a time ;)

When I try to add through the manage interface, I get:
Error Type: KeyError
Error Value: _v_rack

So I judge that this interface to be a no-workie.

So I tried the form->method method, and I get:
Error Type: NotFound
Error Value: None

And no help in the traceback. :(


What am I missing?