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"
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.
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.