Hi Steve [...] > > We'll be moving soon to having minimal ZCML configuration for pages, > just pointing at the module and class to use for a set pages. Within > the class there will be methods decorated with @page('name'), and > attributes for page templates. So, a typical view class in Launchpad > will look like: > > <browser:register-pages > module="canonical.launchpad.browser.distribution" > classes="DistributionView SpecialOtherDistributionView" > /> > > class DistributionView(LaunchpadView): > > def initialize(self): > # here, set up data before the page is rendered, > # do redirections and avoid the page being rendered, > # and process form POSTs. > > foo_page = page('foo.html', LaunchpadTemplate('foo.pt')) > > bar_template = LaunchpadTemplate('bar.bt') > > @page('bar.html') > def render_bar_page(self): > # do stuff, maybe using self.bar_template > > > The advantage of all this is that you need to look in just > one place to > understand a view class. You don't need to look in both the ZCML and > the Python code, just the Python code. The ZCML becomes simpler, and > more focused on glueing pieces of Python code together, and less about > what is to be displayed at what URLs.
Let my say somthing about that. I like it and I think it's a good way for simplifie view registration for a well defined project but not a fremawork where has to offer a more open API for views. Why not useable in frameworks; because this means you have to use PageTemplates for such a API. But Im OK with this as long we don't propagate this as a reusable concept for the zope3 core or 3rd party applications. I like it more to see real Pyhton view API's where can be used with different templating systems in the future. btw, I think this isn't really possible since it exist two base templating pattern (push and pull). But a python view class can always offer a API with the right set of methods and permissions. (MVC) If we think about MVC then I would say that such a pattern isn't the right way to mix it with PageTemplate implementation. But that's another part. But I agree with you Steve, I think its a good concept if you use it in project which uses PageTemplates and doesn't need to offer a generic API. Regards Roger Ineichen > > -- > Steve Alexander > > _______________________________________________ > Zope3-dev mailing list > Zope3email@example.com > Unsub: > http://mail.zope.org/mailman/options/zope3-dev/dev%40projekt01.ch > > _______________________________________________ Zope3-dev mailing list Zope3firstname.lastname@example.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com