I was thinking of that... How would you do that? Do you know formulator enough to say? I don't know your use case good enough. Is this just changing attributes of formulator fields?
Put the whole thing in the EM, or something simpler? An EM I could just hand off the field object to, to get "persisted"? I don't understand what you mean. Field objects already are persistent. EM gives you no security restrictions in comparision to Script Python.
In general to simply change field.values['required'] to false I'd write function to traverse through ZODB to find all FormulatorForm objects and it's fields.
(I find it a bit cumbersome to develop in EMs, reloading and all, so I tend to avoid it.) With ExternalMethod you only have to hit save button again to refresh it.
Simple external method code that you may use to traverse through ZODB: def checkFolder(self, fld): for obj_name, obj in fld.objectItems( 'FormulatorForm' ): # get form fields here etc for fld_name,fld_obj in fld.objectItems( 'Folder' ): checkFolder( fld_obj ) for fld_name,fld_obj in fld.objectItems( 'Folder (Ordered)' ): checkFolder( fld_obj ) I'm not sure about 'FormulatorForm', this may be 'Formulator Form' or something like that. -- Maciej Wisniowski