"ModuleSecurityInfo" is really convoluted and difficult to grasp.
Try to replace:
security=ModuleSecurityInfo() security.declarePublic('checkTranslationService')
by:
security=ModuleSecurityInfo('Products.JMUtils.TranslationUtils') security.declarePublic('checkTranslationService')
If necessary, also add
ModuleSecurityInfo('Products').declarePublic('JMUtils')
ModuleSecurityInfo('Products.JMUtils').declarePublic('TranslationUtils')
Ensure that "TranslationUtils" is imported by your "__init__". Otherwise, security declaration defined inside "TranslationUtils.py" are not executed and therefore do not take effect. Hi Dieter,
Thanks for your reply. Finally I got working. I did everything what you said, but it didn't work either. So, I just replace: <span tal:define="TranslationUtils modules/Products/JMUtils/TranslationUtils;"> Something comes here </span> by its python equivalent: <span tal:define="TranslationUtils python:modules['Products.JMUtils.TranslationUtils'];"> Something comes here </span> and guess what, it worked. I find this behaviour wird because according to the Zope book both statements should do the same. I will try to do a small test file and submit it again here, so, we can see either it's my error or a bug on zope. Regards, Josef _________________________________________________________________ STOP MORE SPAM with the new MSN 8 and get 2 months FREE* http://join.msn.com/?page=features/junkmail