<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: What Zope can learn from Mozilla</title>
	<atom:link href="http://philikon.wordpress.com/2008/09/17/what-zope-can-learn-from-mozilla/feed/" rel="self" type="application/rss+xml" />
	<link>http://philikon.wordpress.com/2008/09/17/what-zope-can-learn-from-mozilla/</link>
	<description>Philipp on software and other interesting things</description>
	<lastBuildDate>Thu, 01 Oct 2009 18:05:34 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Chameleon: byte compiler for ZPT and Genshi &#171; philiKON - a journal</title>
		<link>http://philikon.wordpress.com/2008/09/17/what-zope-can-learn-from-mozilla/#comment-179</link>
		<dc:creator>Chameleon: byte compiler for ZPT and Genshi &#171; philiKON - a journal</dc:creator>
		<pubDate>Wed, 22 Oct 2008 10:40:28 +0000</pubDate>
		<guid isPermaLink="false">http://philikon.wordpress.com/?p=97#comment-179</guid>
		<description>[...] match for Alex Limi&#8217;s proclaimed faster and lighter Plone 4, next to ditching Archetypes, reducing the Component Architecture overdose and going more [...]</description>
		<content:encoded><![CDATA[<p>[...] match for Alex Limi&#8217;s proclaimed faster and lighter Plone 4, next to ditching Archetypes, reducing the Component Architecture overdose and going more [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tres Seaver</title>
		<link>http://philikon.wordpress.com/2008/09/17/what-zope-can-learn-from-mozilla/#comment-159</link>
		<dc:creator>Tres Seaver</dc:creator>
		<pubDate>Fri, 19 Sep 2008 19:54:53 +0000</pubDate>
		<guid isPermaLink="false">http://philikon.wordpress.com/?p=97#comment-159</guid>
		<description>The CA is used once, at the start of the request, to look up the traversal policy:  the default
implementation for &quot;graph-like&quot; sites is the __getitem__-only one I described to you. See:

  http://svn.repoze.org/repoze.bfg/trunk/repoze/bfg/traversal.py (in ModelGraphTraverser&#039;s
     __call__)

for the implementation, and:

  http://svn.repoze.org/repoze.bfg/trunk/repoze/bfg/router.py  (in Router.__call__)

for the point at which it is looked up.</description>
		<content:encoded><![CDATA[<p>The CA is used once, at the start of the request, to look up the traversal policy:  the default<br />
implementation for &#8220;graph-like&#8221; sites is the __getitem__-only one I described to you. See:</p>
<p>  <a href="http://svn.repoze.org/repoze.bfg/trunk/repoze/bfg/traversal.py" rel="nofollow">http://svn.repoze.org/repoze.bfg/trunk/repoze/bfg/traversal.py</a> (in ModelGraphTraverser&#8217;s<br />
     __call__)</p>
<p>for the implementation, and:</p>
<p>  <a href="http://svn.repoze.org/repoze.bfg/trunk/repoze/bfg/router.py" rel="nofollow">http://svn.repoze.org/repoze.bfg/trunk/repoze/bfg/router.py</a>  (in Router.__call__)</p>
<p>for the point at which it is looked up.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robin</title>
		<link>http://philikon.wordpress.com/2008/09/17/what-zope-can-learn-from-mozilla/#comment-157</link>
		<dc:creator>Robin</dc:creator>
		<pubDate>Wed, 17 Sep 2008 23:49:14 +0000</pubDate>
		<guid isPermaLink="false">http://philikon.wordpress.com/?p=97#comment-157</guid>
		<description>Mono is mentioned in the quote. What does Mozilla have to do with Mono?</description>
		<content:encoded><![CDATA[<p>Mono is mentioned in the quote. What does Mozilla have to do with Mono?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Martijn Faassen</title>
		<link>http://philikon.wordpress.com/2008/09/17/what-zope-can-learn-from-mozilla/#comment-155</link>
		<dc:creator>Martijn Faassen</dc:creator>
		<pubDate>Wed, 17 Sep 2008 20:06:54 +0000</pubDate>
		<guid isPermaLink="false">http://philikon.wordpress.com/?p=97#comment-155</guid>
		<description>Chris, Tres gave me the understanding that repoze.bfg doesn&#039;t use an adapter lookup during traversal at all. Sounds like I need to look at the code. :)</description>
		<content:encoded><![CDATA[<p>Chris, Tres gave me the understanding that repoze.bfg doesn&#8217;t use an adapter lookup during traversal at all. Sounds like I need to look at the code. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Pratt</title>
		<link>http://philikon.wordpress.com/2008/09/17/what-zope-can-learn-from-mozilla/#comment-153</link>
		<dc:creator>David Pratt</dc:creator>
		<pubDate>Wed, 17 Sep 2008 13:06:02 +0000</pubDate>
		<guid isPermaLink="false">http://philikon.wordpress.com/?p=97#comment-153</guid>
		<description>Hi Phillip. I agree with much of what you have to say here about zope. If you are serious about  this direction, it may be better to lend support to repoze or set up a repoze track in zope&#039;s repository for this purpose. It is possible Zope&#039;s future may be best a library of packages than as a framework itself.

Consistent with your post, I also felt some urgency to change course with my own work as a result.  Zope is becoming non competitive with other frameworks comparatively on resource utilization. This is a key motivator for me.  Much of this is due to the large number of dependences of zope which can only be sorted but will require some considerable time. 

I see the publisher,  global registry and dependencies as the major (but not impossible) changes to zope. In fact, it would create a new zope if undertaken. Keeping backwards compatibility  would be a real concern for pure zope consumers. Given zope3 is also readily consumed by zope2,  I can see any real changes being a real mess for the Plone folks (that already straddle two incarnations of zope). Reducing dependencies helps zope and other frameworks consume zope packages.  At some point, with the framework notion, you have to start over again. This is what Chris has done with repoze.bfg in an innovative way.

At the same time, repoze.bfg does not throw out the baby with the bath water with CA. You can fully use Component Architecture of zope which is important to me. It also takes advantage of martian (the important development of grok) as an alternative means for registering views. I am using repoze for a project and what I like about it is the following:

1. Component Architecture: Full use of CA
2. Publisher:  provides alternative routes traversal mechanism
3. Reworked Global Registry:  Multiple apps are able to operate within a single process. You can forget about sites concept in zope to provide full isolation between apps or sites.
4. Development Speed: Development speed is fairly fast and an alternative decorator available to register views.
5. Simplicity: It offers development simplicity and decreased volume of everything decreases. Its like breathing fresh air.
6. Footprint: Without the dependency issues associated with zope. A app will start in the 20MB range or less (less than half  footprint of a basic zope install)

I guess the biggest question is really what zope should be in the future. Personally, I think you would need a zope4 to pull existing zope components together into another notion of a framework. If this were done it would look alot like repoze.bfg.</description>
		<content:encoded><![CDATA[<p>Hi Phillip. I agree with much of what you have to say here about zope. If you are serious about  this direction, it may be better to lend support to repoze or set up a repoze track in zope&#8217;s repository for this purpose. It is possible Zope&#8217;s future may be best a library of packages than as a framework itself.</p>
<p>Consistent with your post, I also felt some urgency to change course with my own work as a result.  Zope is becoming non competitive with other frameworks comparatively on resource utilization. This is a key motivator for me.  Much of this is due to the large number of dependences of zope which can only be sorted but will require some considerable time. </p>
<p>I see the publisher,  global registry and dependencies as the major (but not impossible) changes to zope. In fact, it would create a new zope if undertaken. Keeping backwards compatibility  would be a real concern for pure zope consumers. Given zope3 is also readily consumed by zope2,  I can see any real changes being a real mess for the Plone folks (that already straddle two incarnations of zope). Reducing dependencies helps zope and other frameworks consume zope packages.  At some point, with the framework notion, you have to start over again. This is what Chris has done with repoze.bfg in an innovative way.</p>
<p>At the same time, repoze.bfg does not throw out the baby with the bath water with CA. You can fully use Component Architecture of zope which is important to me. It also takes advantage of martian (the important development of grok) as an alternative means for registering views. I am using repoze for a project and what I like about it is the following:</p>
<p>1. Component Architecture: Full use of CA<br />
2. Publisher:  provides alternative routes traversal mechanism<br />
3. Reworked Global Registry:  Multiple apps are able to operate within a single process. You can forget about sites concept in zope to provide full isolation between apps or sites.<br />
4. Development Speed: Development speed is fairly fast and an alternative decorator available to register views.<br />
5. Simplicity: It offers development simplicity and decreased volume of everything decreases. Its like breathing fresh air.<br />
6. Footprint: Without the dependency issues associated with zope. A app will start in the 20MB range or less (less than half  footprint of a basic zope install)</p>
<p>I guess the biggest question is really what zope should be in the future. Personally, I think you would need a zope4 to pull existing zope components together into another notion of a framework. If this were done it would look alot like repoze.bfg.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alec Munro</title>
		<link>http://philikon.wordpress.com/2008/09/17/what-zope-can-learn-from-mozilla/#comment-152</link>
		<dc:creator>Alec Munro</dc:creator>
		<pubDate>Wed, 17 Sep 2008 12:49:19 +0000</pubDate>
		<guid isPermaLink="false">http://philikon.wordpress.com/?p=97#comment-152</guid>
		<description>I would be very interested to see where this goes, and help out. I&#039;ve spent a lot of time on both sides of the CA fence. I appreciate it&#039;s elegance conceptually, but I&#039;ve often been bitten by implementation details.</description>
		<content:encoded><![CDATA[<p>I would be very interested to see where this goes, and help out. I&#8217;ve spent a lot of time on both sides of the CA fence. I appreciate it&#8217;s elegance conceptually, but I&#8217;ve often been bitten by implementation details.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: chrism</title>
		<link>http://philikon.wordpress.com/2008/09/17/what-zope-can-learn-from-mozilla/#comment-151</link>
		<dc:creator>chrism</dc:creator>
		<pubDate>Wed, 17 Sep 2008 12:33:55 +0000</pubDate>
		<guid isPermaLink="false">http://philikon.wordpress.com/?p=97#comment-151</guid>
		<description>I&#039;ll venture this suggestion.. the bfg &quot;router&quot; (aka publisher) allows for traversal customization via a single interface indirection (ITraverser).  It would be very simple to plug an alternate traversal policy into it.  It&#039;s also not at a point where it can&#039;t change (unlike the z3 publisher), so even if it didn&#039;t quite do what grok needed, it could be made to do so.</description>
		<content:encoded><![CDATA[<p>I&#8217;ll venture this suggestion.. the bfg &#8220;router&#8221; (aka publisher) allows for traversal customization via a single interface indirection (ITraverser).  It would be very simple to plug an alternate traversal policy into it.  It&#8217;s also not at a point where it can&#8217;t change (unlike the z3 publisher), so even if it didn&#8217;t quite do what grok needed, it could be made to do so.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Martijn Faassen</title>
		<link>http://philikon.wordpress.com/2008/09/17/what-zope-can-learn-from-mozilla/#comment-150</link>
		<dc:creator>Martijn Faassen</dc:creator>
		<pubDate>Wed, 17 Sep 2008 12:08:55 +0000</pubDate>
		<guid isPermaLink="false">http://philikon.wordpress.com/?p=97#comment-150</guid>
		<description>Note also that my intended &quot;neo traverser&quot; doesn&#039;t actually forgo the use of the component architecture completely. I think it&#039;s still very useful to have an adapter lookup for each traversal step for instance. The code that does all this can however hopefully be a lot simpler to comprehend, and not be quite the scattered ravioli code that the current Zope 3 publisher is.

http://c2.com/cgi/wiki?RavioliCode</description>
		<content:encoded><![CDATA[<p>Note also that my intended &#8220;neo traverser&#8221; doesn&#8217;t actually forgo the use of the component architecture completely. I think it&#8217;s still very useful to have an adapter lookup for each traversal step for instance. The code that does all this can however hopefully be a lot simpler to comprehend, and not be quite the scattered ravioli code that the current Zope 3 publisher is.</p>
<p><a href="http://c2.com/cgi/wiki?RavioliCode" rel="nofollow">http://c2.com/cgi/wiki?RavioliCode</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris McDonough</title>
		<link>http://philikon.wordpress.com/2008/09/17/what-zope-can-learn-from-mozilla/#comment-149</link>
		<dc:creator>Chris McDonough</dc:creator>
		<pubDate>Wed, 17 Sep 2008 12:07:19 +0000</pubDate>
		<guid isPermaLink="false">http://philikon.wordpress.com/?p=97#comment-149</guid>
		<description>i think philiKON was referring to the middleware parts and not bfg... bfg sort of violates the repoze &quot;share with other people and let other people share with us&quot; repoze mission statement (in our defense we did need some very small core on which to build apps ourselves).. but the actual repoze focus is pretty much still the same.. make libraries that all python programmers can use without buying in to the CA.</description>
		<content:encoded><![CDATA[<p>i think philiKON was referring to the middleware parts and not bfg&#8230; bfg sort of violates the repoze &#8220;share with other people and let other people share with us&#8221; repoze mission statement (in our defense we did need some very small core on which to build apps ourselves).. but the actual repoze focus is pretty much still the same.. make libraries that all python programmers can use without buying in to the CA.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: philikon</title>
		<link>http://philikon.wordpress.com/2008/09/17/what-zope-can-learn-from-mozilla/#comment-148</link>
		<dc:creator>philikon</dc:creator>
		<pubDate>Wed, 17 Sep 2008 11:59:20 +0000</pubDate>
		<guid isPermaLink="false">http://philikon.wordpress.com/?p=97#comment-148</guid>
		<description>You&#039;re right, repoze.bfg uses the Component Architecture for a specific usecase, looking up views for models. This is still a very useful application of the CA.

Note that I actually didn&#039;t mention bfg at all in the text because it&#039;s not much of interest for Zope. Bfg is a minimalistic web framework while Zope and Grok want to be mega-frameworks.</description>
		<content:encoded><![CDATA[<p>You&#8217;re right, repoze.bfg uses the Component Architecture for a specific usecase, looking up views for models. This is still a very useful application of the CA.</p>
<p>Note that I actually didn&#8217;t mention bfg at all in the text because it&#8217;s not much of interest for Zope. Bfg is a minimalistic web framework while Zope and Grok want to be mega-frameworks.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
