Re: [Zope] ERP5 World Forum in Paris
On Fri, Nov 07, 2008 at 08:33:23PM +0100, Yusei TAHARA spake thusly: > We are developing ERP5 which is a open source ERP application powered by Zope, > and we are going to organise in Paris, on the 1st of December 2008 the > first ERP5 World Forum. I remain very unimpressed with ERP5 despite the enormous potential of an open source ERP project. I feel miffed every time someone from nexedi says it is open source. Has anything changed since I wrote this a year and a half ago: http://article.gmane.org/gmane.comp.python.zope.erp5.general/738 ? -- Tracy Reed http://tracyreed.org pgpBrsfAGQlUb.pgp Description: PGP signature ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] Google apps and SAML 2.0 authenticating using Zope
I need a SAML 2.0 solution for authenticating into Google Apps from a SAML 2.0 request from Google Apps. There are Java, PHP, Perl, Drupal, and other solutions but I didn't want to build from scratch if there was already a Zope solution available. I haven't found a Zope product that does SAML authentication and the closest thing I found was the acas product but looks like it is specifically for authenticating into Zope only. If there doesn't already exist a Zope solution, I've found a Python SAML library and plan to use it with Python LDAP in external methods to authenticate against my Fedora Directory Server. That is unless there are better suggestions in reply to this email. Any suggestions would be appreciated. Thanks, Thomas -- Thomas McMillan Grant Bennett Appalachian State University Operations & Systems AnalystP O Box 32026 University Library Boone, North Carolina 28608 (828) 262 6587 "If a vendor shipped a Windows notebook without the drivers, I'd venture to guess it would be even less useful than your Linux laptop" [without drivers]. - Shawn Powers, Linux Journal November 2008 Library Systems Help Desk: https://www.library.appstate.edu/help/ ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Call PageTemplateFile class instances
+---[ Peter Bengtsson ]-- | I've kind of work it out. The trick is to write some boiler plate in | the class definition like this:: Does it work when you talk to it through Zope proper instead of trying to call it via the test harness? -- Andrew Milton [EMAIL PROTECTED] ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Call PageTemplateFile class instances
2008/11/13 Andreas Jung <[EMAIL PROTECTED]>: > On 13.11.2008 17:53 Uhr, Peter Bengtsson wrote: >> >> This used to work in zope 2.8 but not now in zope 2.10 (actually zope >> 2.10.7 to be exact) >> >> from Products.PageTemplates.PageTemplateFile import PageTemplateFile >> class MyProduct(Folder): >> meta_type = "bla" >> page = PageTemplateFile('zpt/foo.pt', globals()) >> >> def render_page(self): >> html = self.page(self.REQUEST) # ERROR!! > > Are you sure that you don't have to pass the REQUEST as a keyword parameter? > No difference if I pass REQUEST or not. :( > -aj > > ___ > Zope maillist - Zope@zope.org > http://mail.zope.org/mailman/listinfo/zope > ** No cross posts or HTML encoding! ** > (Related lists - > http://mail.zope.org/mailman/listinfo/zope-announce > http://mail.zope.org/mailman/listinfo/zope-dev ) > > -- Peter Bengtsson, work www.fry-it.com home www.peterbe.com hobby www.issuetrackerproduct.com ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Call PageTemplateFile class instances
2008/11/13 Andrew Milton <[EMAIL PROTECTED]>: > +---[ Peter Bengtsson ]-- > | I've kind of work it out. The trick is to write some boiler plate in > | the class definition like this:: > | > | from zope import traversing, component, interface > | from zope.interface import implements > | from zope.traversing.interfaces import ITraversable > | > | from Products.PageTemplates.PageTemplateFile import PageTemplateFile > | class MyProduct(Folder): > | > |implements(ITraversable) > |component.provideAdapter( > | traversing.adapters.DefaultTraversable, > | (interface.Interface,),ITraversable) > | > |meta_type = "bla" > |page = PageTemplateFile('zpt/foo.pt', globals()) > | > |def render_page(self): > | html = self.page(self.REQUEST) # ERROR!! > > > why do you do this double shuffle anyway, when you can directly call > "page" and protect it if necessary... > > I certainly don't have the issue you're describing and I don't need to > do all that implements garbage either. > > Are you sure you don't have some Product installed that's messing with > it? No I'm not sure. Truth is that my product is more complicated than that but so I took a risk thinking it'll be the same as the pseudo product code I wrote. > > -- > Andrew Milton > [EMAIL PROTECTED] > ___ > Zope maillist - Zope@zope.org > http://mail.zope.org/mailman/listinfo/zope > ** No cross posts or HTML encoding! ** > (Related lists - > http://mail.zope.org/mailman/listinfo/zope-announce > http://mail.zope.org/mailman/listinfo/zope-dev ) > -- Peter Bengtsson, work www.fry-it.com home www.peterbe.com hobby www.issuetrackerproduct.com ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Call PageTemplateFile class instances
On 13.11.2008 17:53 Uhr, Peter Bengtsson wrote: This used to work in zope 2.8 but not now in zope 2.10 (actually zope 2.10.7 to be exact) from Products.PageTemplates.PageTemplateFile import PageTemplateFile class MyProduct(Folder): meta_type = "bla" page = PageTemplateFile('zpt/foo.pt', globals()) def render_page(self): html = self.page(self.REQUEST) # ERROR!! Are you sure that you don't have to pass the REQUEST as a keyword parameter? -aj begin:vcard fn:Andreas Jung n:Jung;Andreas org:ZOPYX Ltd. & Co. KG adr;quoted-printable:;;Charlottenstr. 37/1;T=C3=BCbingen;;72070;Germany email;internet:[EMAIL PROTECTED] title:CEO tel;work:+49-7071-793376 tel;fax:+49-7071-7936840 tel;home:+49-7071-793257 x-mozilla-html:FALSE url:www.zopyx.com version:2.1 end:vcard ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Call PageTemplateFile class instances
+---[ Peter Bengtsson ]-- | I've kind of work it out. The trick is to write some boiler plate in | the class definition like this:: | | from zope import traversing, component, interface | from zope.interface import implements | from zope.traversing.interfaces import ITraversable | | from Products.PageTemplates.PageTemplateFile import PageTemplateFile | class MyProduct(Folder): | |implements(ITraversable) |component.provideAdapter( | traversing.adapters.DefaultTraversable, | (interface.Interface,),ITraversable) | |meta_type = "bla" |page = PageTemplateFile('zpt/foo.pt', globals()) | |def render_page(self): | html = self.page(self.REQUEST) # ERROR!! why do you do this double shuffle anyway, when you can directly call "page" and protect it if necessary... I certainly don't have the issue you're describing and I don't need to do all that implements garbage either. Are you sure you don't have some Product installed that's messing with it? -- Andrew Milton [EMAIL PROTECTED] ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Call PageTemplateFile class instances
I've kind of work it out. The trick is to write some boiler plate in the class definition like this:: from zope import traversing, component, interface from zope.interface import implements from zope.traversing.interfaces import ITraversable from Products.PageTemplates.PageTemplateFile import PageTemplateFile class MyProduct(Folder): implements(ITraversable) component.provideAdapter( traversing.adapters.DefaultTraversable, (interface.Interface,),ITraversable) meta_type = "bla" page = PageTemplateFile('zpt/foo.pt', globals()) def render_page(self): html = self.page(self.REQUEST) # ERROR!! I don't understand how it works and I wish there was a way to apply these settings from a function instead of having to copy and paste it into every instance creating class. 2008/11/13 Peter Bengtsson <[EMAIL PROTECTED]>: > This used to work in zope 2.8 but not now in zope 2.10 (actually zope > 2.10.7 to be exact) > > from Products.PageTemplates.PageTemplateFile import PageTemplateFile > class MyProduct(Folder): >meta_type = "bla" >page = PageTemplateFile('zpt/foo.pt', globals()) > >def render_page(self): > html = self.page(self.REQUEST) # ERROR!! > > The error is ridiculously large so I've truncated it: > > > Error in test test_foo > (Products.MoneyVillage2.tests.test_creditconfusion.TestCreditCheck) > Traceback (most recent call last): > File > "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/Testing/ZopeTestCase/profiler.py", > line 98, in __call__ >testMethod() > File > "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/Products/MoneyVillage2/tests/test_creditconfusion.py", > line 20, in test_foo >print cc.advice2(self.app.REQUEST) > File > "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/Shared/DC/Scripts/Bindings.py", > line 313, in __call__ >return self._bindAndExec(args, kw, None) > File > "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/Shared/DC/Scripts/Bindings.py", > line 350, in _bindAndExec >return self._exec(bound_data, args, kw) > File > "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/Products/PageTemplates/PageTemplateFile.py", > line 129, in _exec >return self.pt_render(extra_context=bound_names) > File > "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/Products/PageTemplates/PageTemplate.py", > line 98, in pt_render >showtal=showtal) > File > "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/zope/pagetemplate/pagetemplate.py", > line 117, in pt_render >strictinsert=0, sourceAnnotations=sourceAnnotations)() > File > "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/zope/tal/talinterpreter.py", > line 271, in __call__ >self.interpret(self.program) > File > "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/zope/tal/talinterpreter.py", > line 346, in interpret >handlers[opcode](self, args) > File > "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/zope/tal/talinterpreter.py", > line 870, in do_useMacro >macro = self.engine.evaluateMacro(macroExpr) > File > "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/zope/tales/tales.py", > line 696, in evaluate >return expression(self) > File > "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/zope/tales/expressions.py", > line 217, in __call__ >return self._eval(econtext) > File > "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/Products/PageTemplates/Expressions.py", > line 153, in _eval >ob = self._subexprs[-1](econtext) > File > "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/zope/tales/expressions.py", > line 124, in _eval >ob = self._traverser(ob, element, econtext) > File > "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/Products/PageTemplates/Expressions.py", > line 83, in boboAwareZopeTraverse >request=request) > File > "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/zope/traversing/adapters.py", > line 161, in traversePathElement >raise TraversalError('No traversable adapter found', obj) > TraversalError: ('No traversable adapter found', {'master': > [('version', '1.6'), ('mode', 'html'), ('setPosition', (1, 0)), > ('setSourceFile', 'main_template'), ('beginScope', {'define-macro': > 'master'}), ('optTag', ('metal:block', None, 'metal', 0, [('startTag', > ('metal:block', [('define-macro', 'master', 'metal')]))], [('rawtextCo > ...MANY MANY MORE > LINES.. > > > > -- > Peter Bengtsson, > work www.fry-it.com > home www.peterbe.com > hobby www.issuetrackerproduct.com > -- Peter Bengtsson, work www.fry-it.com home www.peterbe.com hobby www.issuetrackerproduct.com ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cros
[Zope] Call PageTemplateFile class instances
This used to work in zope 2.8 but not now in zope 2.10 (actually zope 2.10.7 to be exact) from Products.PageTemplates.PageTemplateFile import PageTemplateFile class MyProduct(Folder): meta_type = "bla" page = PageTemplateFile('zpt/foo.pt', globals()) def render_page(self): html = self.page(self.REQUEST) # ERROR!! The error is ridiculously large so I've truncated it: Error in test test_foo (Products.MoneyVillage2.tests.test_creditconfusion.TestCreditCheck) Traceback (most recent call last): File "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/Testing/ZopeTestCase/profiler.py", line 98, in __call__ testMethod() File "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/Products/MoneyVillage2/tests/test_creditconfusion.py", line 20, in test_foo print cc.advice2(self.app.REQUEST) File "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/Shared/DC/Scripts/Bindings.py", line 313, in __call__ return self._bindAndExec(args, kw, None) File "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/Shared/DC/Scripts/Bindings.py", line 350, in _bindAndExec return self._exec(bound_data, args, kw) File "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/Products/PageTemplates/PageTemplateFile.py", line 129, in _exec return self.pt_render(extra_context=bound_names) File "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/Products/PageTemplates/PageTemplate.py", line 98, in pt_render showtal=showtal) File "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/zope/pagetemplate/pagetemplate.py", line 117, in pt_render strictinsert=0, sourceAnnotations=sourceAnnotations)() File "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/zope/tal/talinterpreter.py", line 271, in __call__ self.interpret(self.program) File "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/zope/tal/talinterpreter.py", line 346, in interpret handlers[opcode](self, args) File "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/zope/tal/talinterpreter.py", line 870, in do_useMacro macro = self.engine.evaluateMacro(macroExpr) File "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/zope/tales/tales.py", line 696, in evaluate return expression(self) File "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/zope/tales/expressions.py", line 217, in __call__ return self._eval(econtext) File "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/Products/PageTemplates/Expressions.py", line 153, in _eval ob = self._subexprs[-1](econtext) File "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/zope/tales/expressions.py", line 124, in _eval ob = self._traverser(ob, element, econtext) File "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/Products/PageTemplates/Expressions.py", line 83, in boboAwareZopeTraverse request=request) File "/home/peterbe/virtualenvzope/MoneyVillage2/zope2107/lib/python/zope/traversing/adapters.py", line 161, in traversePathElement raise TraversalError('No traversable adapter found', obj) TraversalError: ('No traversable adapter found', {'master': [('version', '1.6'), ('mode', 'html'), ('setPosition', (1, 0)), ('setSourceFile', 'main_template'), ('beginScope', {'define-macro': 'master'}), ('optTag', ('metal:block', None, 'metal', 0, [('startTag', ('metal:block', [('define-macro', 'master', 'metal')]))], [('rawtextCo ...MANY MANY MORE LINES.. -- Peter Bengtsson, work www.fry-it.com home www.peterbe.com hobby www.issuetrackerproduct.com ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )