Re: [Zope3-dev] Re: Who would use this crazy thing called Zope 3?

2006-02-11 Thread Lennart Regebro
 things. Extreme example: In Plone the core Plone product is called
 CMFPlone. It pisses Alexander off. Should we rename it 'Plone' and thus
 break every product that ever imported from CMFPlone? Should we make a
 jungle of aliases and deprecation warnings? Or should we live with our
 mistakes? In this case, the benefit is marginal and the potential
 confusion and breakage is high. That trade-off point moves with time,
 though, as the more major parts of the framework become right and as the
 user base increases. However, that same user base will not increase beyond
 those who are so well-informed that they know what they're getting
 themselves into, if the software gets a reputation for breaking your code.

 I guess the question is, how far along that curve is Zope 3? How far along
 does it want to be?

It's curvature point is  6.3 milliMartins. ;-)
There are methods for neatly deprecating things like this, and they
have been employed consitently in Zope 3, and quite consistetly in
later versions of Zope2. For example,  in Zope 2.8 the whole Zope
package was renamed Zope2. The Zope.py backwards compatibility handler
will be removed in Zope 2.11.  I'm not aware of this causing any
problems.

So to answer your question: If you make do not update your Zope
version for more than a year, then you may find that your products is
no longer compatible. The solution to that will be to jump two major
versions at a time, and remove any deprecation warnings you see.

For example. If you now use Zope 3.2 to write an application, and you
in the beginnig of 2008 decide to install Zope 3.6, which should come
out in November 2007, you may find that you get an import error, or
that a zcml statement you do is no longer recognized. The solution is
to instead try with Zope 3.4. It should work, but the import errors
and unkown statements should now instead be converted to deprecation
warnings, conveniently telling you what to do instead. You fix those,
and when there are no more deprecation warnings in your code, you
switch to 3.6. Maybe you have more deprecation warnings, so then you
fix them too. Then after that, you are all set for 3.6, 3.7 and 3.8.

That's the idea. But who know how things will look in 2008!? We could
all have been wiped out by an interplanetary virus or something... :-)


Rule #1 in computing: Things never go as you plan and the future
changes to fast for you to keep up. So don't try to do things to
accomodate the future, because it is never gonna look as you thought
it would. This is the basis of the YAGNI rule in XP development, and
this is the basis of my rule in computer management: Do what works
today. Don't wait for something that might work tomorrow, because it
ain't gonna.

--
Lennart Regebro, Nuxeo http://www.nuxeo.com/
CPS Content Management http://www.cps-project.org/
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



[Zope3-dev] Re: Who would use this crazy thing called Zope 3?

2006-02-11 Thread Philipp von Weitershausen
Chris McDonough wrote:
 I'm told that the ZODB is the de-facto way of storing content.  Maybe
 soon the default may be a filesystem. Mmm...
 
 
 My feelings are that there should be a classic Zope 3 release which 
 is exactly what exists now (it should make the assumption that ZODB  is
 present and the root object of the publication lives there,  present a
 management interface, etc.) and there should be a light  Zope 3
 release which is really just BoboNG which makes no  assumptions about
 the publication object.  Jim did some work on this  last year.  IMO,
 this would be Zope 3 without anything that currently  lives in zope.app.
 
 The reason for the light version would be to make it easier for 
 people who don't necessarily buy in to the ZODB or schema-based  content
 or through the web management, etc. to start using Zope  gradually
 without needing to bite all of it off at once.

+1

In fact, I would go as far as calling the light version Zope 3. If you
want more (the ZODB, etc.) then you just need to install those extension
packages to Zope 3. As said in a different post to the list, I think the
use of eggs would make this a lot easier and could help justifying the
additional step you need to take go get a classic Zope 3 installation.

I'm not entirely convinced that the line we'd have to draw between
classic and light Zope is exactly at the zope.app border now.
zope.app also contains non-ZODB specific things that Zope 3 should
still ship with. Which again shows how stupid the zope vs zope.app
distinction is.

Death to zope.app!

Philipp
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



[Zope3-dev] Re: Who would use this crazy thing called Zope 3?

2006-02-10 Thread Martin Aspeli



Forward compatibility is a myth, it doesn't exist.


I would tend to agree. However, the degree of compatability and the time  
spans in questions are under the development team's control. It may, at  
some point, become more important to ensure continuity than to perfect  
things. Extreme example: In Plone the core Plone product is called  
CMFPlone. It pisses Alexander off. Should we rename it 'Plone' and thus  
break every product that ever imported from CMFPlone? Should we make a  
jungle of aliases and deprecation warnings? Or should we live with our  
mistakes? In this case, the benefit is marginal and the potential  
confusion and breakage is high. That trade-off point moves with time,  
though, as the more major parts of the framework become right and as the  
user base increases. However, that same user base will not increase beyond  
those who are so well-informed that they know what they're getting  
themselves into, if the software gets a reputation for breaking your code.


I guess the question is, how far along that curve is Zope 3? How far along  
does it want to be?


Martin


--
(muted)

___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com