#create a file in the /Extensions directory called member_csv.py def write_csv(self, file='/tmp/memberdata.csv'): ''' writes the memberdata of a portal to a csv ascii file ''' props = [] membership = getattr(self, 'portal_membership') for p in dir(self.portal_memberdata): if p[:1]!='_': props.append(p) fd = open(file, 'w') props.insert(0, 'id') for prop in props: fd.write(prop + ',') fd.write ('\n') for id in membership.listMemberIds(): for prop in props: user = membership.getMemberById(id) if hasattr(user, prop): fd.write( str(getattr(user, prop)) + ',') else: write (' ,') fd.write('\n') fd.close() #create a External Method inside the CMF portal called exportDataToCSV #Id: exportDataToCSV #module name: member_csv #function name: write_csv #create a Script (Python) called exportMemberData exportDataToCSV(context) return 'exported successfully' #you can just 'Test' your exportMemberData Script for it to execute #the External Method. It creates a file in /tmp called memberdata.csv