I can't seem to find the straight dope on this one in the documentation. I have a Python product, named Volunteer. It has several classes defined within it (VolunteerUserFolder, Opportunity, etc.). Each class defines constructors e.g., manage_addOpportunity and manage_addOpportunityForm. In order to instantiate one of these classes programmatically, I know I need to do something like: context.manage_addProduct['Volunteer'].manage_addOpportunity(title="hi") but this doesn't seem to work -- manage_addOpportunity is not found. I know that context.manage_addProduct['Volunteer'] is some sort of proxy for my product, but what is the list of attributes I can access from this point (not counting acquisition, obviously)? If I wanted to add a static product-level function (for example, run_background_check(ssn)), where would I put that function? Thanks to anyone who can shed some light on all of this or direct me toward a snippet of documentation I haven't found :-) Dustin -- Dustin Mitchell dustin@ywlcs.org/djmitche@alumni.uchicago.edu http://people.cs.uchicago.edu/~dustin/ PGP Key: http://people.cs.uchicago.edu/~dustin/pubkey.txt