Re: [Zope3-dev] z3c.formjs-0.2 and z3c.formjsdemo-0.2 released!

2007-07-19 Thread Darryl Cousins
Hi Paul,

Hey, very smooth. Congratulations.

I've committed a change to buildout.cfg removing z3c.form* develop eggs
which kinda spoilt the buildout.

Best regards,
Darryl Cousins

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



[Zope3-dev] Problems with ZODB3-3.9.0_dev_r77011

2007-07-19 Thread Tobias Rodäbel

Hi,

zope.app.keyreference-3.5.0_dev_r77018-py2.4.egg requires  
ZODB3=3.9.0-dev-r77011


But there might be a caching problem within ZODB3-3.9.0 dev r77011,  
my debug session tells:


 /development/Zope3/MyProject/eggs/ZODB3-3.9.0_dev_r77011-py2.4- 
macosx-10.4-ppc.egg/ZODB/Connection.py(644)_store_objects()

- raise
(Pdb) obj
zope.app.file.image.Image object at 0x3faadb0
(Pdb) oid
'\x00\x00\x00\x00\x00\x00\x00\xc6'
(Pdb) self._cache[oid]
*** KeyError: '\x00\x00\x00\x00\x00\x00\x00\xc6'
(Pdb) self._cache[oid] = obj
*** TypeError: Cache values must be persistent objects.

But zope.app.file.image.Image should be persistent.

(Pdb) dir (obj)
['__annotations__', '__class__', '__delattr__', '__dict__',  
'__doc__', '__getattribute__', '__getstate__', '__hash__',  
'__implemented__', '__init__', '__module__', '__new__',  
'__providedBy__', '__provides__', '__reduce__', '__reduce_ex__',  
'__repr__', '__setattr__', '__setstate__', '__slotnames__',  
'__str__', '__weakref__', '_data', '_getData', '_height',  
'_p_activate', '_p_changed', '_p_deactivate', '_p_delattr',  
'_p_getattr', '_p_invalidate', '_p_jar', '_p_mtime', '_p_oid',  
'_p_serial', '_p_setattr', '_p_state', '_setData', '_size', '_width',  
'contentType', 'data', 'getImageSize', 'getSize']


Looking forward to some hints or help,
Tobias
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



AW: [Zope3-dev] Re: Problems with zope3 on windows

2007-07-19 Thread Roger Ineichen
Hi Hanno

 -Ursprüngliche Nachricht-
 Von: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] Im 
 Auftrag von Hanno Schlichting

[...]

 Full tracebacks are available in the thread from May/June at 
 http://mail.zope.org/pipermail/zope3-dev/2007-June/022752.html
 
 The problem is still that zc.zope3recipes uses zopectl and in 
 turn zdaemon which don't work on Windows. As outlined in the 
 old thread this is a known problem and not that hard to fix.

Right it uses zdaemon which doens't fit for windows.

 Currently it justs needs someone to sit down and do the work. 
 I myself won't do it, as I only use Zope 3 through Zope 2 
 where all this has already been fixed ;)

Can you point me to the right repos/place of this allready fixed
issue in Zope2. So I can take a look at that and fix it if I find
out how this eggs work.

Regards
Roger Ineichen

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

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



Re: [Zope3-dev] Problems with zope3 on windows

2007-07-19 Thread Benji York

João Paulo Fernandes Farias wrote:

Steps to reproduce:


Thanks.  I'm sure this information will help whomever works on this issue.
--
Benji York
Senior Software Engineer
Zope Corporation
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



[Zope3-dev] Re: [ZODB-Dev] Problems with ZODB3-3.9.0_dev_r77011

2007-07-19 Thread Gary Poster


On Jul 19, 2007, at 7:11 AM, Tobias Rodäbel wrote:


Hi,

zope.app.keyreference-3.5.0_dev_r77018-py2.4.egg requires  
ZODB3=3.9.0-dev-r77011


But there might be a caching problem within ZODB3-3.9.0 dev r77011,  
my debug session tells:


 /development/Zope3/MyProject/eggs/ZODB3-3.9.0_dev_r77011-py2.4- 
macosx-10.4-ppc.egg/ZODB/Connection.py(644)_store_objects()

- raise
(Pdb) obj
zope.app.file.image.Image object at 0x3faadb0
(Pdb) oid
'\x00\x00\x00\x00\x00\x00\x00\xc6'
(Pdb) self._cache[oid]
*** KeyError: '\x00\x00\x00\x00\x00\x00\x00\xc6'
(Pdb) self._cache[oid] = obj
*** TypeError: Cache values must be persistent objects.

But zope.app.file.image.Image should be persistent.

(Pdb) dir (obj)
['__annotations__', '__class__', '__delattr__', '__dict__',  
'__doc__', '__getattribute__', '__getstate__', '__hash__',  
'__implemented__', '__init__', '__module__', '__new__',  
'__providedBy__', '__provides__', '__reduce__', '__reduce_ex__',  
'__repr__', '__setattr__', '__setstate__', '__slotnames__',  
'__str__', '__weakref__', '_data', '_getData', '_height',  
'_p_activate', '_p_changed', '_p_deactivate', '_p_delattr',  
'_p_getattr', '_p_invalidate', '_p_jar', '_p_mtime', '_p_oid',  
'_p_serial', '_p_setattr', '_p_state', '_setData', '_size',  
'_width', 'contentType', 'data', 'getImageSize', 'getSize']


Looking forward to some hints or help,


Hi Tobias.  The ZODB 3.9 dev version is only different from 3.8 in  
some conflict resolution code, for which I am responsible.  Some  
thoughts.


- I haven't seen any errors like this yet.  That's just a data point,  
and certainly does not necessarily invalidate your report.
- Is this consistently reproduceable, or intermittent?  Unless you  
are intentionally creating a conflict in a test, any errors in the  
changes in 3.9 would be more likely to be intermittent.
- Even better, can you construct a small, distributable test case?   
That would certainly invite more help.
- Have you tried to reproduce with the most recent  
zope.app.keyreference in the 3.4 line and the most recent ZODB 3.8  
line?  If so, that might get Jim's attention, and would rule out the  
relatively small changes in the 3.9 dev egg.  Unless you like riding  
the bleeding edge, I might suggest using those earlier versions for  
now anyway.


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



[Zope3-dev] Re: AW: Re: Problems with zope3 on windows

2007-07-19 Thread Tres Seaver
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Roger Ineichen wrote:

 -Ursprüngliche Nachricht-
 Von: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] Im 
 Auftrag von Hanno Schlichting
 
 [...]
 
 Full tracebacks are available in the thread from May/June at 
 http://mail.zope.org/pipermail/zope3-dev/2007-June/022752.html

 The problem is still that zc.zope3recipes uses zopectl and in 
 turn zdaemon which don't work on Windows. As outlined in the 
 old thread this is a known problem and not that hard to fix.
 
 Right it uses zdaemon which doens't fit for windows.
 
 Currently it justs needs someone to sit down and do the work. 
 I myself won't do it, as I only use Zope 3 through Zope 2 
 where all this has already been fixed ;)
 
 Can you point me to the right repos/place of this allready fixed
 issue in Zope2. So I can take a look at that and fix it if I find
 out how this eggs work.


  http://svn.zope.org/Zope/?rev=75066view=rev


Tres.
- --
===
Tres Seaver  +1 540-429-0999  [EMAIL PROTECTED]
Palladion Software   Excellence by Designhttp://palladion.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGn3aV+gerLs4ltQ4RAorJAKC+ha97jGbjdQsALG4s0WcTg10fjgCdHKvz
SVXpo3mHa8tXoWt/UL1+Z5k=
=9t6d
-END PGP SIGNATURE-
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



AW: [Zope3-dev] Re: [ZODB-Dev] Problems with ZODB3-3.9.0_dev_r77011

2007-07-19 Thread Roger Ineichen
Hi Tobias

 Auftrag von Gary Poster
 Gesendet: Donnerstag, 19. Juli 2007 15:53
 An: Tobias Rodäbel

[...]

 
  zope.app.keyreference-3.5.0_dev_r77018-py2.4.egg requires
  ZODB3=3.9.0-dev-r77011
 
  But there might be a caching problem within ZODB3-3.9.0 dev 
 r77011,  
  my debug session tells:
 
   /development/Zope3/MyProject/eggs/ZODB3-3.9.0_dev_r77011-py2.4- 
  macosx-10.4-ppc.egg/ZODB/Connection.py(644)_store_objects()
  - raise
  (Pdb) obj
  zope.app.file.image.Image object at 0x3faadb0
  (Pdb) oid
  '\x00\x00\x00\x00\x00\x00\x00\xc6'
  (Pdb) self._cache[oid]
  *** KeyError: '\x00\x00\x00\x00\x00\x00\x00\xc6'
  (Pdb) self._cache[oid] = obj
  *** TypeError: Cache values must be persistent objects.
 
  But zope.app.file.image.Image should be persistent.

[...]

  Looking forward to some hints or help,
 
 Hi Tobias.  The ZODB 3.9 dev version is only different from 3.8 in  
 some conflict resolution code, for which I am responsible.  Some  
 thoughts.

I'm pretty shure you ve got a LocationProxy arround your object
because the zope.app.file doesn't implement ILocation.

I've had this issue too and removed the location before I stored
the object.With e.g.

@apply
def photo():
See interfaces.IPersonalData
def get(self):
photo = self._photo
if zope.proxy.isProxy(photo):
photo = zope.proxy.getProxiedObject(photo)
if photo is not None:
proxy = LocationProxy(photo)
proxy.__name__ = 'photo'
proxy.__parent__ = self
return proxy
def set(self, photo):

if photo is not None:
# remove location proxy because the ZODB doesn't like it anymore
photo = zope.proxy.getProxiedObject(photo)
self._photo = photo

return property(get, set)

Note:
This sample only works in our project because the name is allways
``photo``.


Gary
-

This happens because of the call in 

ZODB.Connection.py
$Id: Connection.py 75693 2007-05-11 22:18:37Z jim $ 
cool that we have the revision info in the file header ;-)
line: 627

except:
# Dang, I bet it's wrapped:
# TODO:  Deprecate, then remove, this.
if hasattr(obj, 'aq_base'):
self._cache[oid] = obj.aq_base
else:
raise

My question is, can we improve the method:
if hasattr(obj, 'aq_base')
and remove the proxy with a method that works?


Tobias 
--
Can you agree this? And probably tell us if the 
obj is a proxy?

You can check this by get the type of the object.
e.g.
type(obj)


Regards
Roger Ineichen

 
 Gary___
 Zope3-dev mailing list
 Zope3-dev@zope.org
 Unsub: 
 http://mail.zope.org/mailman/options/zope3-dev/dev%40projekt01.ch
 
 

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



Re: AW: [Zope3-dev] Re: [ZODB-Dev] Problems with ZODB3-3.9.0_dev_r77011

2007-07-19 Thread Gary Poster


On Jul 19, 2007, at 10:36 AM, Roger Ineichen wrote:


Hi Tobias


Auftrag von Gary Poster
Gesendet: Donnerstag, 19. Juli 2007 15:53
An: Tobias Rodäbel


[...]



zope.app.keyreference-3.5.0_dev_r77018-py2.4.egg requires
ZODB3=3.9.0-dev-r77011

But there might be a caching problem within ZODB3-3.9.0 dev

r77011,

my debug session tells:


/development/Zope3/MyProject/eggs/ZODB3-3.9.0_dev_r77011-py2.4-

macosx-10.4-ppc.egg/ZODB/Connection.py(644)_store_objects()
- raise
(Pdb) obj
zope.app.file.image.Image object at 0x3faadb0
(Pdb) oid
'\x00\x00\x00\x00\x00\x00\x00\xc6'
(Pdb) self._cache[oid]
*** KeyError: '\x00\x00\x00\x00\x00\x00\x00\xc6'
(Pdb) self._cache[oid] = obj
*** TypeError: Cache values must be persistent objects.

But zope.app.file.image.Image should be persistent.


[...]


Looking forward to some hints or help,


Hi Tobias.  The ZODB 3.9 dev version is only different from 3.8 in
some conflict resolution code, for which I am responsible.  Some
thoughts.


I'm pretty shure you ve got a LocationProxy arround your object
because the zope.app.file doesn't implement ILocation.


Hey Roger.  I bet you are right.

...


Gary
-

This happens because of the call in

ZODB.Connection.py
$Id: Connection.py 75693 2007-05-11 22:18:37Z jim $
cool that we have the revision info in the file header ;-)
line: 627

except:
# Dang, I bet it's wrapped:
# TODO:  Deprecate, then remove, this.
if hasattr(obj, 'aq_base'):
self._cache[oid] = obj.aq_base
else:
raise

My question is, can we improve the method:
if hasattr(obj, 'aq_base')
and remove the proxy with a method that works?



I mentioned this to Jim.  If the masking of the original exception  
doesn't appear to lose any useful information, he'd prefer something  
like


if type(obj) is not obj.__class__:
raise ValueError('object appears to be proxied', obj)
else:
raise

IOW, don't guess, but give a more helpful error message

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



[Zope3-dev] Re: zc.table.column.GetterColumn does not encode

2007-07-19 Thread Adam Groszer
Wednesday, July 18, 2007, 6:55:50 PM, I wrote:

 Hello,

 Seems like zc.table.column.GetterColumn does not encode the characters
  to the usual amp, lt, gt.
 Is that OK this way?
 I usually insert the result of the Formatter() with
 div tal:content=structure view/renderTable. That breaks havoc if a
 table cell's data contains any .
 Am I missing something?

OK, silence is consent. I'll go ahead write a test and the fix and
commit tomorrow.


-- 
Best regards,
 Adammailto:[EMAIL PROTECTED]

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



[Zope3-dev] Re[2]: problem with zope.testbrowser

2007-07-19 Thread Adam Groszer
Hello Philipp,

I decided to keep the trunk consistent this time as I'm still not
using the eggs.
I'll wait for you (and Jim) to decide how to deal with the externals
at the satellites.

Monday, July 16, 2007, 10:49:38 PM, you wrote:

 On 16 Jul 2007, at 08:59 , Adam Groszer wrote:
 Yep, had the same idea just yesterday. But how to keep the trunk also
 in a good-consistent shape (if it needs to be kept in a good shape)?

 Well, that's a good question. If you'd like to update  
 zope.testbrowser on the trunk, I suppose you'd have to do vendor  
 imports of ClientForm and mechanize again. I think we'll pretty soon  
 realize that the Zope3 trunk will become irrelevant, if not even a  
 hindrance like in this case with vendor imports...

-- 
Best regards,
 Adammailto:[EMAIL PROTECTED]

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



Re: [Zope3-dev] Re: zc.table.column.GetterColumn does not encode

2007-07-19 Thread Gary Poster


On Jul 19, 2007, at 11:31 AM, Adam Groszer wrote:


Wednesday, July 18, 2007, 6:55:50 PM, I wrote:


Hello,


Seems like zc.table.column.GetterColumn does not encode the  
characters

 to the usual amp, lt, gt.
Is that OK this way?
I usually insert the result of the Formatter() with
div tal:content=structure view/renderTable. That breaks havoc  
if a

table cell's data contains any .
Am I missing something?


OK, silence is consent. I'll go ahead write a test and the fix and
commit tomorrow.


+1

Gary



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



[Zope3-dev] Re[2]: problem with zope.testbrowser

2007-07-19 Thread Adam Groszer
Hello Philipp,

Just realized that the mechanize and Clientform of the _satellite_ is
pointing as external to the trunk...
That looks not so good, does it?

Monday, July 16, 2007, 10:49:38 PM, you wrote:

 On 16 Jul 2007, at 08:59 , Adam Groszer wrote:
 Yep, had the same idea just yesterday. But how to keep the trunk also
 in a good-consistent shape (if it needs to be kept in a good shape)?

 Well, that's a good question. If you'd like to update  
 zope.testbrowser on the trunk, I suppose you'd have to do vendor  
 imports of ClientForm and mechanize again. I think we'll pretty soon  
 realize that the Zope3 trunk will become irrelevant, if not even a  
 hindrance like in this case with vendor imports...

-- 
Best regards,
 Adammailto:[EMAIL PROTECTED]

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



Re: [Zope3-dev] Re[2]: problem with zope.testbrowser

2007-07-19 Thread Fred Drake

On 7/19/07, Adam Groszer [EMAIL PROTECTED] wrote:

Just realized that the mechanize and Clientform of the _satellite_ is
pointing as external to the trunk...
That looks not so good, does it?


Not good at all.  :-(


 -Fred

--
Fred L. Drake, Jr.fdrake at gmail.com
Chaos is the score upon which reality is written. --Henry Miller
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Re[2]: problem with zope.testbrowser

2007-07-19 Thread Philipp von Weitershausen

On 19 Jul 2007, at 18:16 , Fred Drake wrote:

On 7/19/07, Adam Groszer [EMAIL PROTECTED] wrote:

Just realized that the mechanize and Clientform of the _satellite_ is
pointing as external to the trunk...
That looks not so good, does it?


Not good at all.  :-(


Adam's email was a bit misleading, I think. Yes, the externals point  
to a trunk, but it's the Zope 3 trunk and they're also using fixed  
revisions:


$ svn propget svn:externals svn+ssh://svn.zope.org/repos/main/ 
zope.testbrowser/trunk/src
mechanize -r 69378 svn://svn.zope.org/repos/main/Zope3/trunk/src/ 
mechanize
ClientForm -r 70384 svn://[EMAIL PROTECTED]/repos/main/Zope3/trunk/ 
src/ClientForm


While this isn't great obviously, it's not as dramatic either.

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



Re: [Zope3-dev] Re[2]: problem with zope.testbrowser

2007-07-19 Thread Fred Drake

On 7/19/07, Philipp von Weitershausen [EMAIL PROTECTED] wrote:

Adam's email was a bit misleading, I think. Yes, the externals point
to a trunk, but it's the Zope 3 trunk and they're also using fixed
revisions:


I got the Zope 3 trunk aspect, but didn't check the externals to see
that they used specific revisions.  This is certainly better.

Adding an external egg to the install_requires would be even better,
if anyone has time to work on this.


 -Fred

--
Fred L. Drake, Jr.fdrake at gmail.com
Chaos is the score upon which reality is written. --Henry Miller
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



[Zope3-dev] Re: Dealing with external dependencies

2007-07-19 Thread Philipp von Weitershausen

On 19 Jul 2007, at 00:43 , Jim Fulton wrote:

On Jul 18, 2007, at 5:24 PM, Philipp von Weitershausen wrote:

Up until now we've been a bit sloppy when it came to egg  
dependencies. Not specifying a version number or range basically  
means that the code in question assumes it will work with any  
future version of its dependency. Admittedly, setuptools doesn't  
exactly make it easy to say I depend on ZODB 3.8.x. Jim has  
proposed to add a syntax to setuptools to support this nicely but  
it's not there yet. So I guess we'll have to wait for that.


Heads up: I've come to think that depending on major revisions/ 
series isn't going to work.  I'll say more about that in a separate  
thread though.


Now you tell us :).

This was basically the equivalent of depending on a specific, well- 
known working version of the external package.


I'm not sure what you mean here.  The equivalent to what we did  
before is to depend on specific versions at the *application*  
level, by fixing a version in a application meta package or in a  
buildout.


I guess.

I propose to do the same for the external dependencies we have. So  
far I only count docutils as an actual egg dependency because  
mechanize, ClientForm and twisted are still packaged up in the egg  
that uses them (we should change that, too). I will therefore  
change zope.app.renderer to depend on docutils==0.4, unless there  
are objections.


Depending on specific versions in library packages (as opposed to  
application packages or buildouts) is a recipe for disaster IMO.   
As soon as 2 packages depend on different externals, then those 2  
packages won't be usable together.


Good point.

In the long run, it might be better to only reuse packages that  
offer some backward compatibility promises. Depending on a specific  
version will make the dependent packages less reusable.


That makes sense. So, coming back to the real world: we have two  
issues at hand. One is docutils, one is zope.testbrowser which  
depends on mechanize and ClientForm (Adam is working on that, CCing  
him as well).


With docutils I understand that it makes much sense to do this at  
application level. With mechanize and ClientForm I'm not so sure.  
What I *do* know is that the current situation (packaging them  
*inside* the zope.testbrowser egg) isn't ideal (same goes for  
twisted, btw).


Should the next zope.testbrowser simply depend on any version of  
mechanize and ClientForm?


[1] This problem has bitten us over at Grok because apparently  
Ubuntu has decided to deploy docutils 0.4.1 which doesn't seem to  
actually exist anywhere and therefore confuses zc.buildout. See  
https://bugs.launchpad.net/grok/+bug/126742.


I'm fairly sure that this has nothing to do with version numbers.   
I suspect instead that it has something to do with the fact that  
all distributions are now installed as develop eggs on ubuntu.   
The locations of these eggs is actually site-packages. This sounds  
very wonky to me, but Phillip Eby says it is normal.


It's actually necessary (to install these things as eggs) because  
many packages nowadays depend on entry points. One could argue,  
obviously, that their location (site-packages) isn't ideal...



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



Re: [Zope3-dev] RFC: zopeproject

2007-07-19 Thread Dieter Maurer
Philipp von Weitershausen wrote at 2007-7-18 22:59 +0200:
On 18 Jul 2007, at 21:13 , Dieter Maurer wrote:
 ...
 I prefer the standard approach:

   I see a framework -- Zope
   and a large number of application components that plug themself
   into the common framework.
   The application, in fact a complete collection of mini-applications
   is configured via objects in the ZODB and can be extended TTW.

Right. This is what Martijn Faassen aptly calls the Zope 2000  
development model. And it's probably about the farthest away from  
working together with other Python web frameworks

I agree with this.

and toning down  
Zope for an easier entry.

But, Zope is quite easy on entry.

I expect that the traditional Zope-the-application was easier
to install and to build applications with than your new approach
which requires:

  *  paste

  *  WSGI

  *  zopeproject

  *  the application package

  *  one instance per application


True, experts can combine different Python web frameworks -- but what
part of the Zope audience will need this?

True, Python experts can be more economic with their knowledge.
But, it appears the things become more difficult for non-experts.



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



Re: [Zope3-dev] Dealing with external dependencies

2007-07-19 Thread Dieter Maurer
Philipp von Weitershausen wrote at 2007-7-18 23:24 +0200:
Up until now we've been a bit sloppy when it came to egg dependencies. 
Not specifying a version number or range basically means that the code 
in question assumes it will work with any future version of its 
dependency.

Which often is not so bad.

Many of my modules have been developped for ancient Zope versions
and kept running for several Zope releases -- even major ones.

Thus, unless I do not know whether a given package will *not* work
will a given future version of a dependancy,
I will not want to state the dependancy for the current version -- as
chances are high that it will indeed work with the next few
future versions.

 ...
Things are a bit different with external dependencies (docutils, 
mechanize, ClientForm, twisted, etc.), I think. They bear a higher risk 
of breaking stuff for us in future releases, even if they're just minor 
releases, because we don't control them and their developers probably 
don't test their stuff with our code [1]. Back in the old days, we would 
do vendor imports or use revision tags for the externals. This was 
basically the equivalent of depending on a specific, well-known working 
version of the external package.

I propose to do the same for the external dependencies we have. So far I 
only count docutils as an actual egg dependency because mechanize, 
ClientForm and twisted are still packaged up in the egg that uses them 
(we should change that, too). I will therefore change zope.app.renderer 
to depend on docutils==0.4, unless there are objections.

Don't you drastically increase the risk of conflicts?

As I understood in a different thread, you want to mix Zope eggs
with other eggs from the complete Python community. Such eggs may
have a dependency on the same external package than Zope -- 
and fixing the precise version by Zope can easily lead to conflicts.

Please keep dependency requirements weak -- restrict only when
you know it is necessary...



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



[Zope3-dev] Re: Dealing with external dependencies

2007-07-19 Thread Tres Seaver
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Philipp von Weitershausen wrote:

 On 19 Jul 2007, at 00:43 , Jim Fulton wrote:

 Depending on specific versions in library packages (as opposed to  
 application packages or buildouts) is a recipe for disaster IMO.   
 As soon as 2 packages depend on different externals, then those 2  
 packages won't be usable together.
 
 Good point.

But not necessarily avoidable:  if version 3 of library A depends on a
feature provided by version 5 of library B, but version 7 of library C
is incompatible with versions of library B  4, then those versions of A
and C really *are* incompatible;  that isn't an accidental clash.

Library authors need to *minimize* their own depdendencies if they want
to maximize their library's usefulness:  that means avoiding depending
on newer versions of libraries without *very( strong need (degrading
gracefully, if possible).

Another problem:  the folks who manage your dependencies may not be very
good at it:

  - They may remove old release versions, making it impossible to
satisfy your dependency.

  - They may *replace* a release version (even more evil than removing
it).

  - They may screw up SVN or CVS repository history (e.g., 'svn rename'
will cause even a revision-specific external / checkout to break).

 In the long run, it might be better to only reuse packages that  
 offer some backward compatibility promises. Depending on a specific  
 version will make the dependent packages less reusable.
 
 That makes sense. So, coming back to the real world: we have two  
 issues at hand. One is docutils, one is zope.testbrowser which  
 depends on mechanize and ClientForm (Adam is working on that, CCing  
 him as well).
 
 With docutils I understand that it makes much sense to do this at  
 application level. With mechanize and ClientForm I'm not so sure.  
 What I *do* know is that the current situation (packaging them  
 *inside* the zope.testbrowser egg) isn't ideal (same goes for  
 twisted, btw).

That situation is a fork, which may be the lesser of evils, depending
on how things work out, especially in the face of poor upstream release
hygeine.

 Should the next zope.testbrowser simply depend on any version of  
 mechanize and ClientForm?
 
 [1] This problem has bitten us over at Grok because apparently  
 Ubuntu has decided to deploy docutils 0.4.1 which doesn't seem to  
 actually exist anywhere and therefore confuses zc.buildout. See  
 https://bugs.launchpad.net/grok/+bug/126742.
 I'm fairly sure that this has nothing to do with version numbers.   
 I suspect instead that it has something to do with the fact that  
 all distributions are now installed as develop eggs on ubuntu.   
 The locations of these eggs is actually site-packages. This sounds  
 very wonky to me, but Phillip Eby says it is normal.
 
 It's actually necessary (to install these things as eggs) because  
 many packages nowadays depend on entry points. One could argue,  
 obviously, that their location (site-packages) isn't ideal...

System pythons be damned.


Tres.
- --
===
Tres Seaver  +1 540-429-0999  [EMAIL PROTECTED]
Palladion Software   Excellence by Designhttp://palladion.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGn6EQ+gerLs4ltQ4RAnJpAKCRI034pHc1a7MVLzblcS9Jegpn3QCfZgoW
lE838s0c37QPT7GOuXTDM0M=
=OW0w
-END PGP SIGNATURE-
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



[Zope3-dev] Re: Dealing with external dependencies

2007-07-19 Thread Jim Fulton


On Jul 19, 2007, at 1:09 PM, Philipp von Weitershausen wrote:


On 19 Jul 2007, at 00:43 , Jim Fulton wrote:

On Jul 18, 2007, at 5:24 PM, Philipp von Weitershausen wrote:

Up until now we've been a bit sloppy when it came to egg  
dependencies. Not specifying a version number or range basically  
means that the code in question assumes it will work with any  
future version of its dependency. Admittedly, setuptools doesn't  
exactly make it easy to say I depend on ZODB 3.8.x. Jim has  
proposed to add a syntax to setuptools to support this nicely but  
it's not there yet. So I guess we'll have to wait for that.


Heads up: I've come to think that depending on major revisions/ 
series isn't going to work.  I'll say more about that in a  
separate thread though.


Now you tell us :).


I just realized this over the weekend and even then wanted to discuss  
it with some folks.


...



In the long run, it might be better to only reuse packages that  
offer some backward compatibility promises. Depending on a  
specific version will make the dependent packages less reusable.


That makes sense. So, coming back to the real world: we have two  
issues at hand. One is docutils, one is zope.testbrowser which  
depends on mechanize and ClientForm (Adam is working on that, CCing  
him as well).


With docutils I understand that it makes much sense to do this at  
application level. With mechanize and ClientForm I'm not so sure.  
What I *do* know is that the current situation (packaging them  
*inside* the zope.testbrowser egg) isn't ideal (same goes for  
twisted, btw).


Agreed.



Should the next zope.testbrowser simply depend on any version of  
mechanize and ClientForm?


I hope so. :)



[1] This problem has bitten us over at Grok because apparently  
Ubuntu has decided to deploy docutils 0.4.1 which doesn't seem to  
actually exist anywhere and therefore confuses zc.buildout. See  
https://bugs.launchpad.net/grok/+bug/126742.


I'm fairly sure that this has nothing to do with version numbers.   
I suspect instead that it has something to do with the fact that  
all distributions are now installed as develop eggs on ubuntu.   
The locations of these eggs is actually site-packages. This sounds  
very wonky to me, but Phillip Eby says it is normal.


It's actually necessary (to install these things as eggs) because  
many packages nowadays depend on entry points. One could argue,  
obviously, that their location (site-packages) isn't ideal...


My objection isn't to install them as eggs, I'm a big fan of eggs,  
I'm just mystified by installing them as develop eggs.  In any case,  
PJE tells me this is correct, so I need to deal with it.


Jim

--
Jim Fulton  mailto:[EMAIL PROTECTED]Python 
Powered!
CTO (540) 361-1714  
http://www.python.org
Zope Corporationhttp://www.zope.com http://www.zope.org



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



[Zope3-dev] Fwd: Prototype setuptools-specific PyPI index.

2007-07-19 Thread Jim Fulton
See the forwarded message. I just added the following in the buildout  
section of my ~/.buildout/default.cfg:


index = http://download.zope.org/ppix

Without it, refreshing a small buildout of mine takes 2m44s. With it,  
it takes about 15 seconds.


Jim

Begin forwarded message:


From: Jim Fulton [EMAIL PROTECTED]
Date: July 19, 2007 7:06:34 AM EDT
To: [EMAIL PROTECTED], [EMAIL PROTECTED]
Subject: Prototype setuptools-specific PyPI index.

Over the past few months, we've struggled quite a bit with Python  
Package Index (PyPI) performance and stability.  Thanks to the  
heroic efforts of Martin v. Löwis and others, performance and  
especially stability have improved quite a bit. Martin has  
demonstrated that, at least when running well, PyPI seems to answer  
most requests on the order of 7 miliseconds (around 150 requests  
per second) internally.  That's not bad.  Unfortunately for users,  
actual times can be quite a bit longer.  For me at work, request  
take around 300 milliseconds.  For Martin, they seem to take  
somewhat longer.  300 milliseconds isn't so bad for a request or  
two, however, easy install can easily make 10s or even hundreds of  
requests to satisfy a user request for a package.  zc.buildout,  
when verifying that a large system with many tens of packages has  
the most up to date versions of each package can easily make  
thousands of requests.


Why do setuptools and buildout make so many requests?  If a package  
exposes more than one release, then setuptools checks the package's  
main PyPI page and the pages for each release.  We need to be able  
to easily use older releases, so we can't hide old releases.   
Typical projects of ours have many old releases exposed.  If  
setuptools was more clever in the way it searched PyPI, but it  
would still have to make a minimum of 2 requests per package for  
packages with multiple versions exposed.


Another potential issue is that PyPI pages can be large.  I've  
found it convenient to use PyPI package pages as the home page for  
many of my projects.  I like to include package documentation in my  
project pages.  Perhaps this is an abuse of PyPI, but it is very  
convenient for me and no one has complained. :)  The zc.buildout  
pages are around 200K.  That's a fair bit of data for setuptools to  
download and scan for download URLs.


In the course of this discussion, I've realized that it doesn't  
make sense for setuptools to use the same interface that humans  
use.  setuptools doesn't need to see all of the data that is useful  
to humans. Similarly, humans generally don't need to see all of the  
historical releases for a project.  I suggested a simple page  
format designed just for setuptools.  An alternative would be an  
xmlrpc API.  I prefer pages because I think that, over time, the  
amount of requests from automated tools like easy_install and  
zc.buildout will increase substantially and ultimately, will  
overwhelm dynamic servers, even ones like PyPI that are reasonably  
fast.  I also think that a simple static collection of pages will  
be easier to mirror and I think some number of geographic mirrors  
is likely to help some people.  I promised to prototype the format  
I suggested.


I've created and experimental prototype setuptools-specific package  
index at


  http://download.zope.org/ppix

Going to that page gives brief instructions for using it with  
easy_install and zc.buildout.  To see an individual package page,  
add the package name to the URL, as in:


  http://download.zope.org/ppix/setuptools/

A few things to note about this:

- I don't expose a long package list at http://download.zope.org/ 
ppix/.  The long package list would be expensive to download and  
supports a use case that I consider to be of negative value, which  
is installing packages with case-insensitive package names,  I  
think it is important for humans to be able to search for packages  
using case-insensitive search terms, but I think that, after  
identifying a package, precise package names should be used.  I  
think it is especially important that precise package names be used  
in package requirements.


- There is a single page per package.  This can greatly reduce the  
number of requests.  Packages that store all of their distributions  
in PyPI and that don't have off-site home pages or download URLs  
can be scanned with a single request.  Note that I excluded home  
page and download URLs that pointed back to the packages PyPI page,  
as that wouldn't provide any new information to setuptools.


- Download URLs for *hidden* packages are included.  Humans don't  
need to see old revisions, but setuptools-based tools do.  If we  
used an index like this for setuptools, we could stop unhiding old  
releases when we created new releases in PyPI.  This would make  
PyPI more useful to humans and less of a pain for developers.


- Download URLs are the same as they are in PyPI.  Using this new  
index, 

Re: [Zope3-dev] RFC: zopeproject

2007-07-19 Thread Lennart Regebro

On 7/19/07, Dieter Maurer [EMAIL PROTECTED] wrote:

But, Zope is quite easy on entry.


Zope2, yes.
Zope3? Not at all.

Will modularizing Zope 3 make it easier for newbies? Not really, but
with zopeproject or similar it shouldn't be more complicated either.
In fact, the installation process might end up being simpler:

Compare:

wget http://www.zope.org/whatevah/Zope.tgz
tar xvfz thetgz
./configure
make
make install
make instance directory

With:

easy_install zopeproject
zopeproject directory
cd directory
bin/buildout

Or something similar to that. Doesn't really look more complicated to me. :-)
Sure, it uses paste and stuff, but you don't have to know about that to use it.

--
Lennart Regebro: Zope and Plone consulting.
http://www.colliberty.com/
+33 661 58 14 64
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



[Zope3-dev] Re: RFC: zopeproject

2007-07-19 Thread Tres Seaver
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Lennart Regebro wrote:
 On 7/19/07, Dieter Maurer [EMAIL PROTECTED] wrote:
 But, Zope is quite easy on entry.
 
 Zope2, yes.
 Zope3? Not at all.
 
 Will modularizing Zope 3 make it easier for newbies? Not really, but
 with zopeproject or similar it shouldn't be more complicated either.
 In fact, the installation process might end up being simpler:
 
 Compare:
 
 wget http://www.zope.org/whatevah/Zope.tgz
 tar xvfz thetgz
 ./configure
 make
 make install
 make instance directory
 
 With:
 
 easy_install zopeproject
 zopeproject directory
 cd directory
 bin/buildout
 
 Or something similar to that. Doesn't really look more complicated to me. :-)
 Sure, it uses paste and stuff, but you don't have to know about that to use 
 it.

I think we need to leave soem space for people who want to customize the
site, without wanting to do full-on Zope3 package-based development.
If zopeproject makes it obvious where to put filesystem pages, people
will use them, probably.


Tres.
- --
===
Tres Seaver  +1 540-429-0999  [EMAIL PROTECTED]
Palladion Software   Excellence by Designhttp://palladion.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGn86a+gerLs4ltQ4RAhhaAKCKHbmXXHyYHRrLfmNwSntE+sxrOwCeI0Mq
zbxxqSUrW10QZEsfSy0/pts=
=ZHFW
-END PGP SIGNATURE-
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Dealing with external dependencies

2007-07-19 Thread Philipp von Weitershausen

On 19 Jul 2007, at 19:36 , Dieter Maurer wrote:

...
Things are a bit different with external dependencies (docutils,
mechanize, ClientForm, twisted, etc.), I think. They bear a higher  
risk
of breaking stuff for us in future releases, even if they're just  
minor

releases, because we don't control them and their developers probably
don't test their stuff with our code [1]. Back in the old days, we  
would

do vendor imports or use revision tags for the externals. This was
basically the equivalent of depending on a specific, well-known  
working

version of the external package.

I propose to do the same for the external dependencies we have. So  
far I

only count docutils as an actual egg dependency because mechanize,
ClientForm and twisted are still packaged up in the egg that uses  
them
(we should change that, too). I will therefore change  
zope.app.renderer

to depend on docutils==0.4, unless there are objections.


Don't you drastically increase the risk of conflicts?


Yes, probably. I've been convinced now that making libraries depend  
on specific versions isn't such a good idea.


Thanks for the input.

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



Re: [Zope3-dev] RFC: zopeproject

2007-07-19 Thread Philipp von Weitershausen

On 19 Jul 2007, at 19:15 , Dieter Maurer wrote:

and toning down Zope for an easier entry.


But, Zope is quite easy on entry.


To some, probably many, it is easy. At first. Then they discover the  
limits of TTW development and hit the wall of having to learn this  
completely new and different way of doing Zope development  
(products instead of TTW).


I also know a fair number of people who were simply so confused by  
this ZMI thing and the whole concept of TTW development (mostly  
because it's so different than *anything* else out there, and they  
couldn't use their favourite tools) that they swore never to do  
anything with Zope. They didn't even get to the good stuff  
(filesystem-based development).



I expect that the traditional Zope-the-application was easier
to install and to build applications with than your new approach
which requires:

  *  paste

  *  WSGI


These two are not only used by many other web frameworks, they're  
also documented by them. That means we can share not only code and  
knowledge but also documentation efforts.


Having standards like these two is good. Look at Java. The Servlet or  
Portlet APIs are probably not the prettiest ones, but sure everybody  
who ever has to do anything with them will find tons of docs on them.  
And s/he will be able to use that knowledge, once gained, pretty much  
everywhere.



  *  zopeproject

  *  the application package

  *  one instance per application

True, experts can combine different Python web frameworks -- but what
part of the Zope audience will need this?


A great consequence of WSGI are middlewares. They're general purpose  
applications that plug between a server gateway and a WSGI  
application, be it Pylons, TurboGears or Zope. These are not really  
frameworks, but more filters that are easy to re-use.


In my talk Zope on a Paste at the DZUG and EuroPython conferences,  
I've demonstrated a number of general purpose middlewares that are  
completely third-party to Zope. They include simple things like  
logging and gzipping as well as very useful things like interactive  
debugging and XSLT-based theming. And the best thing is that they can  
be plugged in by a mere 2-4 lines of configuration.


So basically they're useful and easy to use. I think *lots* of people  
in the Zope audience will find them useful. At least the audiences  
both times I've given the talk seemed to welcome the idea quite a lot.



True, Python experts can be more economic with their knowledge.
But, it appears the things become more difficult for non-experts.


In a blog post [1] that I wrote a while ago, I've collected my  
thoughts on why I think TTW development is a failed model,  
*especially* for beginners. Instead of posting these thoughts here,  
I'll simply link to it and invite you to read it.


In a follow up to that post [2], I was able to report proof, so to  
speak, that the standard, down to earth Python approach (in the form  
of Grok) actually fitted people's brains much better. It fitted so  
well that we had people contributing to Grok that hadn't worked with  
Zope3 or Grok at all a few months or even weeks before that. At the  
EuroPython sprint last week, we could again observe the same happening.



[1] http://www.z3lab.org/sections/blogs/philipp-weitershausen/ 
2007_03_27_meet-grok-successor
[2] http://www.z3lab.org/sections/blogs/philipp-weitershausen/ 
2007_04_19_why-zclasses-dead-why



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



Re: [Zope3-dev] problem with zope.testbrowser

2007-07-19 Thread Philipp von Weitershausen

On 19 Jul 2007, at 19:10 , Fred Drake wrote:
On 7/19/07, Philipp von Weitershausen [EMAIL PROTECTED]  
wrote:

Adam's email was a bit misleading, I think. Yes, the externals point
to a trunk, but it's the Zope 3 trunk and they're also using fixed
revisions:


I got the Zope 3 trunk aspect, but didn't check the externals to see
that they used specific revisions.  This is certainly better.

Adding an external egg to the install_requires would be even better,
if anyone has time to work on this.


Well Adam seems to want to work on this. It's what I suggested he  
should do.

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



[Zope3-dev] Re: RFC: zopeproject

2007-07-19 Thread Philipp von Weitershausen

On 19 Jul 2007, at 22:50 , Tres Seaver wrote:

Lennart Regebro wrote:

On 7/19/07, Dieter Maurer [EMAIL PROTECTED] wrote:

But, Zope is quite easy on entry.


Zope2, yes.
Zope3? Not at all.

Will modularizing Zope 3 make it easier for newbies? Not really, but
with zopeproject or similar it shouldn't be more complicated either.
In fact, the installation process might end up being simpler:

Compare:

wget http://www.zope.org/whatevah/Zope.tgz
tar xvfz thetgz
./configure
make
make install
make instance directory

With:

easy_install zopeproject
zopeproject directory
cd directory
bin/buildout

Or something similar to that. Doesn't really look more complicated  
to me. :-)
Sure, it uses paste and stuff, but you don't have to know about  
that to use it.


I think we need to leave soem space for people who want to  
customize the

site, without wanting to do full-on Zope3 package-based development.
If zopeproject makes it obvious where to put filesystem pages,  
people

will use them, probably.


I would actually like to leave the customizeable/pluggable app  
story to another project, mostly because it's a concern that's  
orthogonal to zopeproject.


zopeproject is actually general enough (or at least it tries to be)  
so that it can be used to bootstrap applications that build on top of  
Zope. Grok is a good example, grokproject uses zopeproject under the  
hood. (Grok, in a way, makes things a lot easier for the middleclass  
programmer anyway, perhaps enough for people to feel comfortable  
with it as a means for customizing existing apps, e.g. Plone)


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



Re: [Zope3-dev] RFC: zopeproject

2007-07-19 Thread Philipp von Weitershausen

On 19 Jul 2007, at 22:35 , Lennart Regebro wrote:

On 7/19/07, Dieter Maurer [EMAIL PROTECTED] wrote:

But, Zope is quite easy on entry.


Zope2, yes.
Zope3? Not at all.

Will modularizing Zope 3 make it easier for newbies? Not really, but
with zopeproject or similar it shouldn't be more complicated either.


That's *exactly* the point of zopeproject. You get more for the same  
price :).



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



[Zope3-dev] Re: Dealing with external dependencies

2007-07-19 Thread Philipp von Weitershausen

On 19 Jul 2007, at 20:12 , Jim Fulton wrote:


On Jul 19, 2007, at 1:09 PM, Philipp von Weitershausen wrote:


On 19 Jul 2007, at 00:43 , Jim Fulton wrote:

On Jul 18, 2007, at 5:24 PM, Philipp von Weitershausen wrote:

Up until now we've been a bit sloppy when it came to egg  
dependencies. Not specifying a version number or range basically  
means that the code in question assumes it will work with any  
future version of its dependency. Admittedly, setuptools doesn't  
exactly make it easy to say I depend on ZODB 3.8.x. Jim has  
proposed to add a syntax to setuptools to support this nicely  
but it's not there yet. So I guess we'll have to wait for that.


Heads up: I've come to think that depending on major revisions/ 
series isn't going to work.  I'll say more about that in a  
separate thread though.


Now you tell us :).


I just realized this over the weekend and even then wanted to  
discuss it with some folks.


Fair enough.



Should the next zope.testbrowser simply depend on any version of  
mechanize and ClientForm?


I hope so. :)


Ok. Adam, those seem like clear instructions :).
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] problem with zope.testbrowser

2007-07-19 Thread Fred Drake

On 7/19/07, Philipp von Weitershausen [EMAIL PROTECTED] wrote:

Well Adam seems to want to work on this. It's what I suggested he
should do.


Three cheers for Adam!


 -Fred

--
Fred L. Drake, Jr.fdrake at gmail.com
Chaos is the score upon which reality is written. --Henry Miller
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: AW: [Zope3-dev] Re: Problems with zope3 on windows

2007-07-19 Thread Darryl Cousins
Hi,

On Thu, 2007-07-19 at 14:05 +0200, Roger Ineichen wrote:
 Hi Hanno
 
  -Ursprüngliche Nachricht-
  Von: [EMAIL PROTECTED] 
  [mailto:[EMAIL PROTECTED] Im 
  Auftrag von Hanno Schlichting
 
 [...]
 
  Full tracebacks are available in the thread from May/June at 
  http://mail.zope.org/pipermail/zope3-dev/2007-June/022752.html
  
  The problem is still that zc.zope3recipes uses zopectl and in 
  turn zdaemon which don't work on Windows. As outlined in the 
  old thread this is a known problem and not that hard to fix.
 
 Right it uses zdaemon which doens't fit for windows.
 
  Currently it justs needs someone to sit down and do the work. 
  I myself won't do it, as I only use Zope 3 through Zope 2 
  where all this has already been fixed ;)
 
 Can you point me to the right repos/place of this allready fixed
 issue in Zope2. So I can take a look at that and fix it if I find
 out how this eggs work.

This just got a mention too on the grok-dev list [1]. Tres pointed to:

http://svn.zope.org/Zope/?rev=75066view=rev

[1] http://mail.zope.org/pipermail/grok-dev/2007-July/001645.html

Regards,
Darryl

 
 Regards
 Roger Ineichen
 
  Hanno
  
  ___
  Zope3-dev mailing list
  Zope3-dev@zope.org
  Unsub: 
  http://mail.zope.org/mailman/options/zope3-dev/dev%40projekt01.ch
  
  
 
 ___
 Zope3-dev mailing list
 Zope3-dev@zope.org
 Unsub: 
 http://mail.zope.org/mailman/options/zope3-dev/darryl%40darrylcousins.net.nz

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



Re: [Zope3-dev] RFC: zopeproject

2007-07-19 Thread Philipp von Weitershausen

On 18 Jul 2007, at 19:25 , Kent Tenney wrote:

on my W2K machine

zopeproject MyZopeProject


fails because I don't have Visual Studio installed and it wants
to compile extensions for ZODB


Right. Something seems to depend on ZODB 3.9.0-xyz now and we have no  
binary for that (yet). Sadly enough, I recently asked Jim to make  
Windows eggs and they've all become useless because at least half of  
the packages now have newer releases (which buildout insists on using).


I've heard that mingw can substitute, but I've never succeeded in  
configuring it.


Well, I managed to install it (you need cygwin, then install the gcc- 
mingw-core package from the 'devel' section). And with 'python  
setup.py build -c mingw32', it seems I can even build Windows eggs,  
though I can't get them to work. I get some a DLL error (Access  
denied.)


What's more, there seems to be now way to tell zc.buildout to pass  
the '-c mingw32' option to setup.py when building eggs.



I wonder, if done correctly (and I believe some people, e.g. Andreas  
Jung, have managed to get mingw to build binary eggs for them), are  
mingw-based eggs any worse than Visual C ones?


If not, then there's a good chance that we can actually get a setup  
for Windows people that won't require Jim or Adam having to build  
Windows eggs all the time.


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



[Zope3-dev] Re: RFC: zopeproject

2007-07-19 Thread Hanno Schlichting
Hi,

Philipp von Weitershausen wrote:
 On 18 Jul 2007, at 19:25 , Kent Tenney wrote:
 on my W2K machine
 zopeproject MyZopeProject

 fails because I don't have Visual Studio installed and it wants
 to compile extensions for ZODB
 
 Right. Something seems to depend on ZODB 3.9.0-xyz now and we have no
 binary for that (yet). Sadly enough, I recently asked Jim to make
 Windows eggs and they've all become useless because at least half of the
 packages now have newer releases (which buildout insists on using).
 
 I've heard that mingw can substitute, but I've never succeeded in
 configuring it.

Have you seen my instructions for a Plone 3.0 buildout at
http://svn.plone.org/svn/plone/ploneout/trunk/WINDOWS.txt ? This is the
most reliable and easiest way I could find to compile C extensions on
Windows without having to have any special M$ compiler.

 Well, I managed to install it (you need cygwin, then install the
 gcc-mingw-core package from the 'devel' section). And with 'python
 setup.py build -c mingw32', it seems I can even build Windows eggs,
 though I can't get them to work. I get some a DLL error (Access denied.)
 
 What's more, there seems to be now way to tell zc.buildout to pass the
 '-c mingw32' option to setup.py when building eggs.

My instructions tell you to use MinGW directly without all that Cygwin
junk which only tends to make things more complicated and often
introduces an undesired runtime dependency on Cygwin. The nice thing as
noted in my howto is that you can change a distutils option to say all
build commands should use mingw32 and so all buildout recipes will pick
this up.

 I wonder, if done correctly (and I believe some people, e.g. Andreas
 Jung, have managed to get mingw to build binary eggs for them), are
 mingw-based eggs any worse than Visual C ones?

A few years ago, MinGW (the native port is still based on GCC 3.4)
compiled C extensions were a bit slower than those compiled with Visual
C. But I haven't tried this in recent years.

My knowledge of C compilation is too limited to judge if there are some
hidden pitfalls here, though.

Hanno

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



[Zope3-dev] Re: RFC: zopeproject

2007-07-19 Thread Hanno Schlichting
Hi again.

Hanno Schlichting wrote:
 Philipp von Weitershausen wrote:
 I wonder, if done correctly (and I believe some people, e.g. Andreas
 Jung, have managed to get mingw to build binary eggs for them), are
 mingw-based eggs any worse than Visual C ones?
 
 A few years ago, MinGW (the native port is still based on GCC 3.4)
 compiled C extensions were a bit slower than those compiled with Visual
 C. But I haven't tried this in recent years.
 
 My knowledge of C compilation is too limited to judge if there are some
 hidden pitfalls here, though.

In order to let some people judge the result of eggs built based on my
howto I made one example egg for zope.interface 3.4.0.

The egg is available from
http://www.hannosch.de/zope.interface-3.4.0-py2.4-win32.egg

The relevant log from the bdist_egg looks like this:

running build_ext
building '_zope_interface_coptimizations' extension
creating build\temp.win32-2.4
creating build\temp.win32-2.4\Release
creating build\temp.win32-2.4\Release\src
creating build\temp.win32-2.4\Release\src\zope
creating build\temp.win32-2.4\Release\src\zope\interface
C:\MinGW\bin\gcc.exe -mno-cygwin -mdll -O -Wall -IC:\Python24\include
-IC:\Python24\PC -c src\zope\interface\_zope_interface_coptimizations.c
-o
build\temp.win32-2.4\Release\src\zope\interface\_zope_interface_coptimizations.o
writing
build\temp.win32-2.4\Release\src\zope\interface\_zope_interface_coptimizations.def
C:\MinGW\bin\gcc.exe -mno-cygwin -shared -s
build\temp.win32-2.4\Release\src\zope\interface\_zope_interface_coptimizations.o
build\temp.win32-2.4\Release\src\zope\interface\_zope_interface_coptimizations.def
-LC:\Python24\libs -LC:\Python24\PCBuild -lpython24 -lmsvcr71 -o
build\lib.win32-2.4\zope\interface\_zope_interface_coptimizations.pyd

Python is version 2.4.4, GCC is 3.4.2 (mingw-special).

If someone tells me, that the eggs I generate this way are valid and of
some use, I'm happy to help to build some more ;)

Hanno

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



Re: [Zope3-dev] RFC: zopeproject

2007-07-19 Thread Gary Poster


On Jul 19, 2007, at 6:46 PM, Philipp von Weitershausen wrote:


On 18 Jul 2007, at 19:25 , Kent Tenney wrote:

on my W2K machine

zopeproject MyZopeProject


fails because I don't have Visual Studio installed and it wants
to compile extensions for ZODB


Right. Something seems to depend on ZODB 3.9.0-xyz now


zope.app.keyreference 3.5.0dev xxx.  stick to the 3.4 line to keep away.

and we have no binary for that (yet). Sadly enough, I recently  
asked Jim to make Windows eggs and they've all become useless  
because at least half of the packages now have newer releases  
(which buildout insists on using).


(Well, not if you give it constraints.)

Gary


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