I'm using some example code that defines an External Method to process a form. That External Method calls another utility function to log some data. I'm not quite sure what choices I have for creating that utility function, so I created another External Method for it. Both functions are in the same Python source file in the Extensions folder. Anyway, the main external function calls the utility function like this: self.function2(arg1=valuex, arg2=valuey) I expected that function2 would have to be defined like this: def function2(self, **kwargs) but it turned out that that fails at runtime with a complaint about a mismatch between the number of arguments sent and expected (0 and 1, respectively). The following does work: def function2(**kwargs) So, why isn't function2 called as a method function? Was there some better way I could have implemented function2, rather than as an external method? Where is reference documentation on External Methods? I couldn't find anything other than a very cursory overview in one of the PDF'ed documents (I forget which). -- Fred Yankowski [EMAIL PROTECTED] tel: +1.630.879.1312 Principal Consultant www.OntoSys.com fax: +1.630.879.1370 OntoSys, Inc 38W242 Deerpath Rd, Batavia, IL 60510, USA _______________________________________________ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )