[Zope-Annce] [ANN] Zope 2.10.2 released

2007-01-25 Thread Andreas Jung

The Zope developer community I is pleased to announce the release
of Zope 2.10.2.

You can download Zope 2.10.2 from:

 http://www.zope.org/Products/Zope/2.10.2/

This release uses unicode as internal representation for ZPT. For this 
reason you are strongly encouraged to read


http://www.zope.org/Products/Zope/2.10.2b1/Zope-2.10.2_released

carefully.


Some new features of Zope 2.10:

 - ZPT implementation based on Zope 3

 - experimental WSGI and Twisted integration

 - Zope 3.3, Five 1.5 integration

 - clock server

 - lots of minor improvements and fixes

 - replaced several Zope 2 modules with their sister implementation
   of Zope 3


For more information on what is new in this release, see the
CHANGES.txt files for the release:

  http://www.zope.org/Products/Zope/2.10.2/CHANGES.txt

Please bring all the bugs you have found to the Zope bugtracker:

  http://collector.zope.org/Zope

For more information on the available Zope releases, guidance for selecting
the right distribution and installation instructions, please see:

 http://www.plope.com/Books/2_7Edition/InstallingZope.stx


Supported Python versions:

 Zope 2.10 requires Python 2.4.3+ (Python 2.4.2 is still acceptable).
 Older Python versions are no longer supported. Using Python 2.5
 is also *unsupported*.


- --
Andreas Jung

--
ZOPYX Ltd.  Co. KG - Charlottenstr. 37/1 - 72070 Tübingen - Germany
Web: www.zopyx.com - Email: [EMAIL PROTECTED] - Phone +49 - 7071 - 793376
E-Publishing, Python, Zope  Plone development, Consulting


pgpAVQee5MJkV.pgp
Description: PGP signature
___
Zope-Announce maillist  -  Zope-Announce@zope.org
http://mail.zope.org/mailman/listinfo/zope-announce

  Zope-Announce for Announcements only - no discussions

(Related lists - 
 Users: http://mail.zope.org/mailman/listinfo/zope
 Developers: http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope-Annce] [ANN] Zope 2.10.2 released

2007-01-25 Thread Andreas Jung



--On 25. Januar 2007 18:37:03 +0100 Andreas Jung [EMAIL PROTECTED] wrote:


The Zope developer community I is pleased to announce the release
of Zope 2.10.2.

You can download Zope 2.10.2 from:

  http://www.zope.org/Products/Zope/2.10.2/

This release uses unicode as internal representation for ZPT. For this
reason you are strongly encouraged to read

http://www.zope.org/Products/Zope/2.10.2b1/Zope-2.10.2_released

carefully.


Sorry for posting a broken link. The correct one is:

  http://www.zope.org/Products/Zope/2.10.2/Zope-2.10.2-released

Andreas

pgpdTwgs9Ebs5.pgp
Description: PGP signature
___
Zope-Announce maillist  -  Zope-Announce@zope.org
http://mail.zope.org/mailman/listinfo/zope-announce

  Zope-Announce for Announcements only - no discussions

(Related lists - 
 Users: http://mail.zope.org/mailman/listinfo/zope
 Developers: http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope-Checkins] SVN: Zope/branches/2.10/ preparing 2.10.2

2007-01-25 Thread Andreas Jung
Log message for revision 72221:
  preparing 2.10.2
  

Changed:
  U   Zope/branches/2.10/doc/CHANGES.txt
  U   Zope/branches/2.10/inst/WinBuilders/mk/zope.mk
  U   Zope/branches/2.10/inst/versions.py

-=-
Modified: Zope/branches/2.10/doc/CHANGES.txt
===
--- Zope/branches/2.10/doc/CHANGES.txt  2007-01-24 23:45:25 UTC (rev 72220)
+++ Zope/branches/2.10/doc/CHANGES.txt  2007-01-25 16:54:30 UTC (rev 72221)
@@ -4,7 +4,7 @@
   Change information for previous versions of Zope can be found in the
   file HISTORY.txt.
 
-  Zope 2.10.2 (unreleased)
+  Zope 2.10.2 (2007/01/26)
 
 Bugs fixed
 

Modified: Zope/branches/2.10/inst/WinBuilders/mk/zope.mk
===
--- Zope/branches/2.10/inst/WinBuilders/mk/zope.mk  2007-01-24 23:45:25 UTC 
(rev 72220)
+++ Zope/branches/2.10/inst/WinBuilders/mk/zope.mk  2007-01-25 16:54:30 UTC 
(rev 72221)
@@ -1,4 +1,4 @@
-ZOPEVERSION = 2.10.2-beta-1
+ZOPEVERSION = 2.10.2-final
 ZOPEDIRNAME := Zope-$(ZOPEVERSION)
 
 ZOPE_REQUIRED_FILES=tmp/$(ZOPEDIRNAME).tgz

Modified: Zope/branches/2.10/inst/versions.py
===
--- Zope/branches/2.10/inst/versions.py 2007-01-24 23:45:25 UTC (rev 72220)
+++ Zope/branches/2.10/inst/versions.py 2007-01-25 16:54:30 UTC (rev 72221)
@@ -4,4 +4,4 @@
 
 # always start prerelease branches with '0' to avoid upgrade
 # issues in RPMs
-VERSION_RELEASE_TAG = 'b1'
+VERSION_RELEASE_TAG = 'final'

___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Zope/tags/2.10.2/ Zope 2.10.2

2007-01-25 Thread Andreas Jung
Log message for revision 7:
  Zope 2.10.2
  

Changed:
  A   Zope/tags/2.10.2/

-=-
Copied: Zope/tags/2.10.2 (from rev 72221, Zope/branches/2.10)

___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-dev] Zope Tests: 7 OK

2007-01-25 Thread Zope Tests Summarizer
Summary of messages to the zope-tests list.
Period Wed Jan 24 12:00:00 2007 UTC to Thu Jan 25 12:00:00 2007 UTC.
There were 7 messages: 7 from Zope Unit Tests.


Tests passed OK
---

Subject: OK : Zope-2.6 Python-2.1.3 : Linux
From: Zope Unit Tests
Date: Wed Jan 24 21:07:46 EST 2007
URL: http://mail.zope.org/pipermail/zope-tests/2007-January/007111.html

Subject: OK : Zope-2.6 Python-2.3.6 : Linux
From: Zope Unit Tests
Date: Wed Jan 24 21:09:17 EST 2007
URL: http://mail.zope.org/pipermail/zope-tests/2007-January/007112.html

Subject: OK : Zope-2.7 Python-2.3.6 : Linux
From: Zope Unit Tests
Date: Wed Jan 24 21:10:47 EST 2007
URL: http://mail.zope.org/pipermail/zope-tests/2007-January/007113.html

Subject: OK : Zope-2.8 Python-2.3.6 : Linux
From: Zope Unit Tests
Date: Wed Jan 24 21:12:17 EST 2007
URL: http://mail.zope.org/pipermail/zope-tests/2007-January/007114.html

Subject: OK : Zope-2.9 Python-2.4.4 : Linux
From: Zope Unit Tests
Date: Wed Jan 24 21:13:47 EST 2007
URL: http://mail.zope.org/pipermail/zope-tests/2007-January/007115.html

Subject: OK : Zope-2.10 Python-2.4.4 : Linux
From: Zope Unit Tests
Date: Wed Jan 24 21:15:17 EST 2007
URL: http://mail.zope.org/pipermail/zope-tests/2007-January/007116.html

Subject: OK : Zope-trunk Python-2.4.4 : Linux
From: Zope Unit Tests
Date: Wed Jan 24 21:16:47 EST 2007
URL: http://mail.zope.org/pipermail/zope-tests/2007-January/007117.html

___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] RFC: Eggifying Zope's extension mechanism (Products)

2007-01-25 Thread Martin Aspeli



Philipp von Weitershausen wrote:
 
 For their upcoming versions, Zope 2 consuming platforms such as Plone
 are creating standard Zope3-style Python packages while still having
 Zope 2 products around.  This proposal aims at unifying the deployment
 of products and Python packages into a Zope 2 instance alike by using
 Python eggs and their entry point system.
 
 See 
 http://wiki.zope.org/zope2/EggifyingZopesExtensionMechanismQuotProductsQuot 
 for the full proposal. Comments are appreciated. I plan on implementing 
 it at the Camp5 BBQ sprint (http://www.openplans.org/projects/bbq-sprint)
 

So, to be clear:

 - You would have lib/python/Products/CMFCore as an alternative to
Products/CMFCore
 - Products in lib/python would be picked up by entry point rather than
scanning Products/
 - The entry points would work with non-products as well, e.g. if
lib/python/plone/foobar had the entry point, it could be a project
 - This would supersede the five:registerProduct directive we have now

If so, this sounds great, so +1 :)

I do wonder what would happen if you had both lib/python/Products/CMFCore
and Products/CMFCore, though. Would there be an explicit preference or would
Zope fail to start up with a conflict? I think I'd prefer the latter, in
fact, so that people don't end up modifying/upgrading the wrong code by
accident!

Martin
-- 
View this message in context: 
http://www.nabble.com/RFC%3A-Eggifying-Zope%27s-extension-mechanism-%28%22Products%22%29-tf3077929.html#a8612115
Sent from the Zope - Dev mailing list archive at Nabble.com.

___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] RFC: Acquisition and __parent__ pointers

2007-01-25 Thread Martin Aspeli



Philipp von Weitershausen wrote:
 
 This proposal aims at bringing Zope 2 a bit closer to Zope 3 by making 
 the widely used Acquisition API aware of Zope 3's __parent__ pointers. 
 This will alleviate the need of using Acquisition base classes in Zope 2 
 for every security-sensitive object, be it persistent or just a 
 dynamically looked up component such as a view. The goal is to enable 
 the use of Zope 3 components in Zope 2 straight away without creating 
 subclasses that mix in Acquisition for security's sake.
 
 See http://wiki.zope.org/zope2/AcquisitionAndParentPointers for the full 
 proposal. Comments are appreciated. I expect little resistance to this 
 as it pretty much doesn't change any existing semantics and just makes 
 all of our lives much simpler. Also, if it helps, this has been blessed 
 by Jim in discussion at the EuroPython 2006 sprint.
 

Very strong +1 from me

The biggest pain in my ass when coding for Zope 2 these days is that I want
to use views and I have to understand a lot of detail about how acquisition
works to avoid strange and hard-to-debug errors. If I could stop mixing
Acquisition.Explicit into my views, life would be so much better.


As for the implementation, I gave it my best shot in the 
philikon-aq-and-__parent__ branch. My experience with C is limited, 
especially when it comes to debugging. Help is therefore highly 
appreciated. There's a reward waiting for whoever fixes the problem and 
helps getting the branch merged to the trunk (see the proposal text).


I guess this is the challenge. Who wants to code C? :) Who even understand
this code? (looking at people like Jim and Dieter...)

Martin
-- 
View this message in context: 
http://www.nabble.com/RFC%3A-Acquisition-and-__parent__-pointers-tf3078248.html#a8612767
Sent from the Zope - Dev mailing list archive at Nabble.com.

___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] Re: RFC: Eggifying Zope's extension mechanism (Products)

2007-01-25 Thread Rocky Burt
On Thu, 2007-25-01 at 05:07 -0800, Martin Aspeli wrote:
 I do wonder what would happen if you had both lib/python/Products/CMFCore
 and Products/CMFCore, though. Would there be an explicit preference or would
 Zope fail to start up with a conflict? I think I'd prefer the latter, in
 fact, so that people don't end up modifying/upgrading the wrong code by
 accident!

Well, we could probably add conflict-detection to the entry point
handlers for Zope (ie so any two packages that try to register as the
same project would cause an error).  But regarding Products/CMFCore and
lib/python/Products/CMFCore conflicting... that would be up to the
standard pythonpath mechanism of the python interpreter (whichever is
first on the path wins).

- Rocky

-- 
Rocky Burt
ServerZen Software -- http://www.serverzen.com
News About The Server (blog) -- http://www.serverzen.net


signature.asc
Description: This is a digitally signed message part
___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] Re: RFC: Eggifying Zope's extension mechanism (Products)

2007-01-25 Thread Philipp von Weitershausen

Rocky Burt wrote:

On Thu, 2007-25-01 at 05:07 -0800, Martin Aspeli wrote:

I do wonder what would happen if you had both lib/python/Products/CMFCore
and Products/CMFCore, though. Would there be an explicit preference or would
Zope fail to start up with a conflict? I think I'd prefer the latter, in
fact, so that people don't end up modifying/upgrading the wrong code by
accident!


Well, we could probably add conflict-detection to the entry point
handlers for Zope (ie so any two packages that try to register as the
same project would cause an error).  But regarding Products/CMFCore and
lib/python/Products/CMFCore conflicting... that would be up to the
standard pythonpath mechanism of the python interpreter (whichever is
first on the path wins).


Zope 2 itself manipulates Products.__path__ to add INSTANCE/Products (or 
any other directory specified in zope.conf) as a directory which can 
contain further products (the original Products package lives at 
ZOPE/lib/python/Products). pkg_resources uses the same mechanism for 
namespace packages (that's what the 
pkg_resources.declare_namespace('Products') call is all about); it 
appends to __path__.


Therefore, Zope will treat /path/to/the/CMFCore-egg/Products as another 
directory that contains a product (in this case just one, CMFCore). Thus 
the standard product override rules apply when the same product is 
installed in multiple directories.


I updated the proposal text with this information.

--
http://worldcookery.com -- Professional Zope documentation and training
Next Zope 3 training at Camp5: http://trizpug.org/boot-camp/camp5
___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] Re: ploneout - Or how using zc.buildout for a common Zope2 project might look like

2007-01-25 Thread Philipp von Weitershausen

whit wrote:

Martin Aspeli wrote:

Philipp von Weitershausen wrote:

This is awesome, and by that I don't mean the fact that we have a 
plone buildout, but that we actually have Zope 2 recipes for 
buildout. I hope they can be moved to svn.zope.org for further 
development to benefit the whole Zope 2 community.


I believe this is just a matter of contrib agreements being sorted out 
(Hanno?). I guess I need to get mine sorted out as well if I'm going 
to keep working on this when it moves... :-/


I also see that workingenv was abandoned. That's very good to hear 
because buildout has a lot of machinery for installing eggs already, 
it would just've been duplicated with workingenv...


is there some advantage to the way that buildout handles eggs over 
workingenv. as I understand it, workingenv *only* handles python setup 
and does that well and transparently.


The point is that buildout *already* handles eggs. There's really no 
point for having an extra layer on top of buildout. The zc.recipe.egg 
recipe can install any egg (as a development one or not) in an automated 
fashion, which is exactly what you'd want from a buildout.


the source bin/activate dance is the only thing I see being a 
detriment here(and with the latest workingenv, your shell prompt lets

you know you are in an env).


Not everybody likes the activate dance. With buildout, you don't need 
it. The recipes make sure that the scripts that get installed into the 
buildout's 'bin' directory have the right PYTHONPATH set and have access 
to the eggs you requested for the buildout.


Workingenv made it more complex than it needed to be (or buildout did, 
depending on which perspective you look at it from). I believe Hanno 
wanted to rescue the recipe in case others found it useful, but it's 
not used for now.


what about if I'm already using workingenv... and want to use zope or 
plone in my workingenv?


I see no problem with that. zc.buildout is one way of deploying Python 
software like Zope. As long as you've got eggs, you could install them 
manually into your workingenv just fine. buildout just does it an 
automated fashion (and, of course, it can do more than just installing 
eggs).


currently, I don't see an easy way to use buildouts inside a workingenv, 
whereas the rest of python world works great.  I will have alot of 
trouble explaining to my developer who already think zope smells that 
they have to change the way they work to use zc.buildout recipes.


for example, I can't use the deliverance or lxml buildout with an 
existing topp.deploy workingenv because of buildout's arbitrary egg 
handling scheme.  If zc.buildout didn't try to do so much, the python 
would be installed transparently like everything else I easy_install.


I'm not too fond of zc.buildout's directory scheme eiher. In particular, 
I wish that it would use 'lib/python' instead of 'eggs' and 'src' 
instead of 'develop-eggs'. I don't know enough zc.buildout details to be 
able to say whether that can be chagned by remimplementing the egg 
installation recipe. I would sure hope it is.


as stated before, I don't mind using zc.buildout, but I don't want to 
have to learn zc.buildout to use it meaningfully in my existing setup. 
If a buildout recipes could be executed by themselves(like 
buildout-zope2, buildout-deliverance, buildout-squid) as well as by 
aggregated recipes.  This would make buildout a killer tool inside my 
workingenv rather than a choice I had to make between two technologies.


As said already, I think once you've got buildout, there's no need for 
workingen, except if you think that Zope stinks ;)


--
http://worldcookery.com -- Professional Zope documentation and training
Next Zope 3 training at Camp5: http://trizpug.org/boot-camp/camp5
___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] Re: ploneout - Or how using zc.buildout for a common Zope2 project might look like

2007-01-25 Thread Martin Aspeli

Philipp von Weitershausen wrote:

The point is that buildout *already* handles eggs. There's really no 
point for having an extra layer on top of buildout. The zc.recipe.egg 
recipe can install any egg (as a development one or not) in an automated 
fashion, which is exactly what you'd want from a buildout.


At least it's what I want. That is, easy_install may as well put things 
in the ether as far as I'm concerned, and I'm more comfortable with a 
single file (buildout.cfg) that gives me an overview of which eggs my 
application consists of.


Very open to be persuaded otherwise, though. ;-)

the source bin/activate dance is the only thing I see being a 
detriment here(and with the latest workingenv, your shell prompt lets

you know you are in an env).


Not everybody likes the activate dance. With buildout, you don't need 
it. The recipes make sure that the scripts that get installed into the 
buildout's 'bin' directory have the right PYTHONPATH set and have access 
to the eggs you requested for the buildout.


On the one hand, this patching is a bit odd, but probably just a result 
of the fact that Zope itself isn't terribly egg/pythonpath friendly. On 
the other hand, I don't like the stateful nature of the activate dance 
to point where it feels hacky to me. I know others disagree, though.


I see no problem with that. zc.buildout is one way of deploying Python 
software like Zope. As long as you've got eggs, you could install them 
manually into your workingenv just fine. buildout just does it an 
automated fashion (and, of course, it can do more than just installing 
eggs).


... and I've come to like its approach to stringing together recipes and 
passing options. It fits my brain. :)


I'm not too fond of zc.buildout's directory scheme eiher. In particular, 
I wish that it would use 'lib/python' instead of 'eggs' and 'src' 
instead of 'develop-eggs'. I don't know enough zc.buildout details to be 
able to say whether that can be chagned by remimplementing the egg 
installation recipe. I would sure hope it is.


in buildout.cfg, I did:

[buildout]
eggs-directory = lib/python
develop-eggs-directory = lib/python

Eggs are now in ${buildout}/lib/python, and it seems to work fine (but I 
had to stop short of testing in detail). I imagine that if workingenv 
was told of the same directory, the two would co-exist.


I want to play with the zope 2 recipies to make filesystem layout a bit 
more flexible in these.


as stated before, I don't mind using zc.buildout, but I don't want to 
have to learn zc.buildout to use it meaningfully in my existing setup. 
If a buildout recipes could be executed by themselves(like 
buildout-zope2, buildout-deliverance, buildout-squid) as well as by 
aggregated recipes.  This would make buildout a killer tool inside my 
workingenv rather than a choice I had to make between two technologies.


As said already, I think once you've got buildout, there's no need for 
workingen, except if you think that Zope stinks ;)


Plone stinks!

Martin

___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] Re: ploneout - Or how using zc.buildout for a common Zope2 project might look like

2007-01-25 Thread Rob Miller

Philipp von Weitershausen wrote:

whit wrote:

Martin Aspeli wrote:

Philipp von Weitershausen wrote:

This is awesome, and by that I don't mean the fact that we have a 
plone buildout, but that we actually have Zope 2 recipes for 
buildout. I hope they can be moved to svn.zope.org for further 
development to benefit the whole Zope 2 community.


I believe this is just a matter of contrib agreements being sorted 
out (Hanno?). I guess I need to get mine sorted out as well if I'm 
going to keep working on this when it moves... :-/


I also see that workingenv was abandoned. That's very good to hear 
because buildout has a lot of machinery for installing eggs already, 
it would just've been duplicated with workingenv...


is there some advantage to the way that buildout handles eggs over 
workingenv. as I understand it, workingenv *only* handles python setup 
and does that well and transparently.


The point is that buildout *already* handles eggs.   There's really no
point for having an extra layer on top of buildout. The zc.recipe.egg 
recipe can install any egg (as a development one or not) in an automated 
fashion, which is exactly what you'd want from a buildout.


honestly, it seems to me that buildout tries to do too much.  it's trying to 
handle both repeatable deployment recipes AND providing a sandbox within which 
to run things.  there may not be a point to having an extra layer on top of 
buildout, but buildout sure does seem to me a bit heavy if all i want is a 
sandbox.  so now i have to learn the workingenv way if i just need a sandbox, 
but i have to learn the buildout way if i also want repeatable deployments?


  Workingenv made it more complex than it needed to be (or buildout
as stated before, I don't mind using zc.buildout, but I don't want to 
have to learn zc.buildout to use it meaningfully in my existing setup. 
If a buildout recipes could be executed by themselves(like 
buildout-zope2, buildout-deliverance, buildout-squid) as well as by 
aggregated recipes.  This would make buildout a killer tool inside my 
workingenv rather than a choice I had to make between two technologies.


As said already, I think once you've got buildout, there's no need for 
workingen, except if you think that Zope stinks ;)


this is shortsighted, IMO.  i know zope quite well, but i bounced off of 
buildout b/c it required too much knowledge to even get started.  i think it's 
much more likely that people from the greater python community will pick up 
and start using workingenv than they will zc.buildout.


personally, i like chris mcdonough's approach with his buildit package.  it 
does two things:


- it retrieves files from anywhere on the 'net (cvs, svn, tarball, whatever) 
and puts them where you want them on your target machine(s)


- it launches external scripts that then perform whatever final configuration 
you may want to perform.


buildit is also recipe driven, and it's smart enough to pick up where it left 
off on a previous run, a'la make.  i'd guess that you could use buildit and 
workingenv to accomplish pretty much everything you can do w/ zc.buildout, and 
you wouldn't have to bend your brain so much to do so.


-r

___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] Re: ploneout - Or how using zc.buildout for a common Zope2 project might look like

2007-01-25 Thread Alexander Limi

On Thu, 25 Jan 2007 12:45:26 -0800, Martin Aspeli [EMAIL PROTECTED] wrote:


Plone stinks!


It's like a fine cheese.

--
Alexander Limi · http://limi.net

___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] Re: ploneout - Or how using zc.buildout for a common Zope2 project might look like

2007-01-25 Thread whit

Philipp von Weitershausen wrote:

whit wrote:

Martin Aspeli wrote:

Philipp von Weitershausen wrote:

This is awesome, and by that I don't mean the fact that we have a 
plone buildout, but that we actually have Zope 2 recipes for 
buildout. I hope they can be moved to svn.zope.org for further 
development to benefit the whole Zope 2 community.


I believe this is just a matter of contrib agreements being sorted 
out (Hanno?). I guess I need to get mine sorted out as well if I'm 
going to keep working on this when it moves... :-/


I also see that workingenv was abandoned. That's very good to hear 
because buildout has a lot of machinery for installing eggs 
already, it would just've been duplicated with workingenv...


is there some advantage to the way that buildout handles eggs over 
workingenv. as I understand it, workingenv *only* handles python 
setup and does that well and transparently.


The point is that buildout *already* handles eggs. There's really no 
point for having an extra layer on top of buildout. The zc.recipe.egg 
recipe can install any egg (as a development one or not) in an 
automated fashion, which is exactly what you'd want from a buildout.



well that's awesome that buildout has duplicated this effort
the source bin/activate dance is the only thing I see being a 
detriment here(and with the latest workingenv, your shell prompt lets

you know you are in an env).


Not everybody likes the activate dance. With buildout, you don't need 
it. The recipes make sure that the scripts that get installed into the 
buildout's 'bin' directory have the right PYTHONPATH set and have 
access to the eggs you requested for the buildout.
is there really a difference between zopectl and source bin/activate?  I 
guess the main difference here is where PYTHONPATH gets set and how 
people work with it.   for example, if you just start python and want to 
play with code sounds like with zc.buildout you are out of luck for 
things installed in the buildout.


In our situation, we might have multiple versions of software running on 
different processes started in different workingenv (often not even 
using zope).being able to contextualize the python path is a useful 
development tool; this is understandable for buildout to avoid(as a 
deployment tool), but if we are considering using buildout as a 
prescribed way for people to manage their development environments, it 
seems lacking.


Workingenv made it more complex than it needed to be (or buildout 
did, depending on which perspective you look at it from). I believe 
Hanno wanted to rescue the recipe in case others found it useful, 
but it's not used for now.


what about if I'm already using workingenv... and want to use zope or 
plone in my workingenv?


I see no problem with that. zc.buildout is one way of deploying Python 
software like Zope. As long as you've got eggs, you could install them 
manually into your workingenv just fine. buildout just does it an 
automated fashion (and, of course, it can do more than just installing 
eggs).


which I could automate in my env (workingenv takes recipes also). for 
that matter, eggs automate the installation of eggs...


I'm not sure what it would take to make buildout just automate install 
eggs into my  env... but not putting them in special directories would 
be a start. 

currently, I don't see an easy way to use buildouts inside a 
workingenv, whereas the rest of python world works great.  I will 
have alot of trouble explaining to my developer who already think 
zope smells that they have to change the way they work to use 
zc.buildout recipes.


for example, I can't use the deliverance or lxml buildout with an 
existing topp.deploy workingenv because of buildout's arbitrary egg 
handling scheme.  If zc.buildout didn't try to do so much, the python 
would be installed transparently like everything else I easy_install.


I'm not too fond of zc.buildout's directory scheme eiher. In 
particular, I wish that it would use 'lib/python' instead of 'eggs' 
and 'src' instead of 'develop-eggs'. I don't know enough zc.buildout 
details to be able to say whether that can be chagned by 
remimplementing the egg installation recipe. I would sure hope it is.

+1

this may be all that is required to make the two play well together(or 
have buildout respect an existing workingenv when doing it's local 
install of eggs).  Maybe it's just a matter of zc.buildout seeing 
workingenv is in effect and not composing special pythonpaths.


harmony is my interest here. workingenv is pretty low-level and works 
hard to work well with python. there is no reason that zc.buildout 
should have a problem with that.. it just needs to do less when appropriate.


as stated before, I don't mind using zc.buildout, but I don't want to 
have to learn zc.buildout to use it meaningfully in my existing 
setup. If a buildout recipes could be executed by themselves(like 
buildout-zope2, buildout-deliverance, buildout-squid) as 

[Zope-dev] Re: ploneout - Or how using zc.buildout for a common Zope2 project might look like

2007-01-25 Thread Ian Bicking

whit wrote:
Not everybody likes the activate dance. With buildout, you don't need 
it. The recipes make sure that the scripts that get installed into the 
buildout's 'bin' directory have the right PYTHONPATH set and have 
access to the eggs you requested for the buildout.
is there really a difference between zopectl and source bin/activate?  I 
guess the main difference here is where PYTHONPATH gets set and how 
people work with it.   for example, if you just start python and want to 
play with code sounds like with zc.buildout you are out of luck for 
things installed in the buildout.


In our situation, we might have multiple versions of software running on 
different processes started in different workingenv (often not even 
using zope).being able to contextualize the python path is a useful 
development tool; this is understandable for buildout to avoid(as a 
deployment tool), but if we are considering using buildout as a 
prescribed way for people to manage their development environments, it 
seems lacking.


I think this is the basic difference -- workingenv is 
development-centric, while buildout is deployment-centric.  This does 
not necessarily mean the best tool for the job, because focusing on 
development and ignore deployment isn't a good job, nor the other way 
around.


At TOPP we know how to address both stories with workingenv.  We haven't 
figured it out with buildout, despite trying.  And we definitely aren't 
satisfied with just a deployment tool that doesn't address our 
development needs.


But there's a lot of use cases for Plone specifically where carefully 
developing just a deployment solution makes sense.  That doesn't make 
sense for us, because we're not in the kind of consulting business where 
the relative scale of development and deployment works like that.  But 
eh; the presence of a buildout for Plone doesn't hurt our position any. 
 Anything that gets rid of another ad hoc crappy deployment is good by 
me.  And if other people are working on it, all the better!  If *Plone* 
becomes incompatible with workingenv that'd be bothersome (though it was 
not compatible with workingenv without some work in the first place). 
But if a buildout is incompatible, eh... who knows, it might even make 
sense to create something like a freeze this workingenv as a buildout 
script.  That one directory structure can't be both at the same time 
isn't a huge problem in my mind.


I'm not too fond of zc.buildout's directory scheme eiher. In 
particular, I wish that it would use 'lib/python' instead of 'eggs' 
and 'src' instead of 'develop-eggs'. I don't know enough zc.buildout 
details to be able to say whether that can be chagned by 
remimplementing the egg installation recipe. I would sure hope it is.

+1

this may be all that is required to make the two play well together(or 
have buildout respect an existing workingenv when doing it's local 
install of eggs).  Maybe it's just a matter of zc.buildout seeing 
workingenv is in effect and not composing special pythonpaths.


harmony is my interest here. workingenv is pretty low-level and works 
hard to work well with python. there is no reason that zc.buildout 
should have a problem with that.. it just needs to do less when 
appropriate.


Path names aren't really the problem.  We got a little guerrilla war 
going on over the setuptools' script-generating monkey patches.  We'd 
both probably prefer a proper way to change how setuptools generates 
scripts, but it's not clear that we could really be compatible -- 
enumeration vs. changing the path is a totally different strategy.  I'd 
rather see easy-install.pth become a better package database, or some 
other strategy of external requirement specifications, instead of 
building it into scripts.  I understand the issue Jim is trying to solve 
here, but putting everything into the buildout.cfg and then imperatively 
setting up the files from there bothers me and does not make development 
easy IMHO.


That's mostly the problem.  Then workingenv would do its part by 
monkeypatching distutils and setuptools to install things locally, and 
changing site.py to not automatically pick up things globally.  And 
buildout could do its stuff that applies to other more complicated 
setups than just setting up some libraries, which is about where 
workingenv stops.


Well, what I'd *really* like is an idea of a working environment that 
applies more widely than Python, because other languages (including but 
not limited to the dynamic languages) have all these same problems, and 
we all have half-assed solutions.  But I don't even know how to start 
that conversation.  And don't get me started on how the distributions 
are going to look at all this!


  Ian
___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 

Re: [Zope-dev] Re: ploneout - Or how using zc.buildout for a common Zope2 project might look like

2007-01-25 Thread Jim Fulton


I hate to jump into this thread  but I'll make a few comments.

On Jan 25, 2007, at 5:13 PM, whit wrote:


Philipp von Weitershausen wrote:

whit wrote:

Martin Aspeli wrote:

Philipp von Weitershausen wrote:

This is awesome, and by that I don't mean the fact that we have  
a plone buildout, but that we actually have Zope 2 recipes for  
buildout. I hope they can be moved to svn.zope.org for further  
development to benefit the whole Zope 2 community.


I believe this is just a matter of contrib agreements being  
sorted out (Hanno?). I guess I need to get mine sorted out as  
well if I'm going to keep working on this when it moves... :-/


I also see that workingenv was abandoned. That's very good to  
hear because buildout has a lot of machinery for installing  
eggs already, it would just've been duplicated with workingenv...


is there some advantage to the way that buildout handles eggs  
over workingenv. as I understand it, workingenv *only* handles  
python setup and does that well and transparently.


Right, buildout handles a lot more.  For example, we use buildout to  
build C libraries and to generate various sorts of application  
artifacts like configuration files,  custom startup scripts, and so  
on, in addition to Python scripts.



The point is that buildout *already* handles eggs. There's really  
no point for having an extra layer on top of buildout. The  
zc.recipe.egg recipe can install any egg (as a development one or  
not) in an automated fashion, which is exactly what you'd want  
from a buildout.



well that's awesome that buildout has duplicated this effort


I'm not sure what effort you think buildout is duplicating.  WRT  
eggs, buildout, like workinenv/easy_install builds on setuptools.   
setuptools does the heavy lifting with regard to building eggs.   
Buildout does have some nice features for building eggs with  
extensions that need custom setup options.


Like workenv, buildout supports installing eggs in development  
environments rather than the system Python.  workingenv bends  
easy_install to it's will, while buildout goes below easy_install.   
This allows buildout to have more control, which was important to  
me.  Buildout gives me greater control over egg revisions used and  
the way that scripts get generated. (Maybe workingenv would give me  
more control than I think it does -- I haven't looked at it in a while.)



the source bin/activate dance is the only thing I see being a  
detriment here(and with the latest workingenv, your shell prompt  
lets

you know you are in an env).


Not everybody likes the activate dance. With buildout, you don't  
need it. The recipes make sure that the scripts that get installed  
into the buildout's 'bin' directory have the right PYTHONPATH set  
and have access to the eggs you requested for the buildout.
is there really a difference between zopectl and source bin/ 
activate?  I guess the main difference here is where PYTHONPATH  
gets set and how people work with it.   for example, if you just  
start python and want to play with code sounds like with  
zc.buildout you are out of luck for things installed in the buildout.


I'm not sure what you mean here. I'll note that buildout lets you  
easily create interpreter scripts.  When run without arguments, you  
get a Python prompt.  When run with a script name and arguments, then  
they will run the script with the arguments.  You define an  
interpreter by specifying on or more eggs and those eggs and their  
dependencies (and additional paths you can optionally set) will be  
included in the interpreter's path.  This makes playing with code  
pretty easy.



In our situation, we might have multiple versions of software  
running on different processes started in different workingenv  
(often not even using zope).being able to contextualize the  
python path is a useful development tool; this is understandable  
for buildout to avoid(as a deployment tool), but if we are  
considering using buildout as a prescribed way for people to manage  
their development environments, it seems lacking.


I don't know what you mean by contextualize the python path.  An  
important feature of buildout (actualy the egg recipe) is that it  
lets you create scripts with exactly the eggs they need.  This was a  
core motivation of buildout.  And, as I have mentioned above, you can  
also create interpreter scripts for experimentation and running other  
scripts. Perhaps these interpreter scripts are like your workingenvs.



Workingenv made it more complex than it needed to be (or  
buildout did, depending on which perspective you look at it  
from). I believe Hanno wanted to rescue the recipe in case  
others found it useful, but it's not used for now.


what about if I'm already using workingenv... and want to use  
zope or plone in my workingenv?


I see no problem with that. zc.buildout is one way of deploying  
Python software like Zope. As long as you've got eggs, 

Re: [Zope-dev] Re: ploneout - Or how using zc.buildout for a common Zope2 project might look like

2007-01-25 Thread Jim Fulton


On Jan 25, 2007, at 5:09 PM, Ian Bicking wrote:


Whit pointed me to this thread.


Yeah, someone pointed me to it too. :)


  I won't reply to specifics, but maybe
just describe what we're doing (and planning to do), and how  
workingenv

differs from zc.buildout.


I'll avoid responding to general qualitative statements.

...


I actually tried to do this once before with zc.buildout, but I didn't
get far -- probably a result of lack of effort and lack of familiarity
with the overall stack.  But I also recognize lots of the questions
about stuff like the zope.conf file and Data.fs that still seem
unresolved.


Certainly when you tried this, buildout was very young and we hadn't  
written recipes to deal with these issues.  We've made a lot of  
progress since then.




The thing that frustrated me with zc.buildout is that I
knew how to do what I wanted to do, but I still felt like I was a long
way from being able to do it.  And little things, like unhelpful error
messages


Yeah, buildout still needs to do a lot better with error messages,  
although it has probably made some progress since you tried it.



and frustratingly slow performance really killed my motivation.


That has improved quite a bit.

...


And frankly I like easy_install.  It's
probably 10x faster than buildout.


I doubt that that is true now.  Although that probably depends on  
what you are doing.  Early versions of buildout did a lot of things  
inefficiently as I was still learning setuptools.  Because of the way  
that buildout caches index information, I expect that creating a  
buildout from scratch that used a lot of eggs would be much faster  
than using easy_install.  One difference though is that buildout  
checks for the most recent compatible versions of all of the eggs  
it's using every time you run it, whereas, as I understand it, with  
workingenv, you'd just run easy_install manually when you want a new  
egg.  You can bypass the checks by running in offline mode.  Then  
buildout runs very fast.  Because of the ability to share eggs  
accross buildouts, it is often possible to run a buidout using lots  
of eggs in offline mode.


It has been suggested that there should be a mode for buildout that  
only talks to the network when there isn't a local egg that satisfied  
a requirement.  This would make buildout work more like workingenv  
when few if any eggs are actually needed.




easy_install is what people use in
documentation, and its conventions are the ones people know (why does
buildout not use Pkg==version, for instance?).


It does.  When specifying eggs, you use standard setuptools  
requirement syntax.





As for the technical reasons they don't work together:

* workingenv allows and leaves it to setuptools to maintain the  
package
installation database (basically easy-install.pth).  This is not a  
very

good database, but eh.  buildout doesn't really have a database, but
instead just enforces what buildout.cfg indicates.


buildout uses the buildout configuration file to store what you  
want.  It uses .installed.cfg to capture what you have.  These are  
both databases of sorts.




* workingenv relies on that database to give default versions and to
setup the Python path.  The fixup it does of installed scripts is  
fairly

minimal, just setting up sys.path enough to force its site.py to get
called.  buildout enumerates all the activated packages, and ignores
easy-install.pth.  This is basically what makes it
easy_install-incompatible.


Yup.  I wanted something far more static and predictable for scripts  
generated by buildout.



Plus buildout's desire to own everything and
destroy everything it does not own ;)


I'm not aware that it destroys anything. Could you be more specific?



* As a result buildout supports multiple things in the same buildout
that have conflicting version requirements, but where the packages
themselves don't realize this (but the deployer does).  If the  
packages
know their requirements then setuptools' native machinery allows  
things

to work fine.


Yes.  I expect that usually, packages won't be very specific.  The  
buildout configuration file provides a place to be specific.



* Some see bin/activate as a jail.  Both workingenv and buildout are
deliberately jail-like.  Both Jim and I loathe the non- 
repeatability of
system-wide installations (at least I think I can speak for him on  
that

one point ;).  bin/activate lets you into that jail, and lets you work
there.  There is no way into a buildout.


I'm not familiar with bin/activate, but it sounds like an interpreter  
script created with buildout.





  Frankly this weirds me out,
and is a big part of my past frustration with it.  Maybe that's  
because

I'm in the relatively uncommon situation that I actually know what's
going on under the hood of Python imports and packaging, and so it
bothers me that I can't debug things directly.  Anyway, neither  
requires

activation when using scripts generated 

Re: [Zope-dev] Re: ploneout - Or how using zc.buildout for a common Zope2 project might look like

2007-01-25 Thread Jim Fulton


On Jan 25, 2007, at 5:44 PM, Ian Bicking wrote:
 workingenv is development-centric, while buildout is deployment- 
centric.  This does not necessarily mean the best tool for the  
job, because focusing on development and ignore deployment isn't a  
good job, nor the other way around.


buildout focusses on both.

...


If *Plone* becomes incompatible with workingenv that'd be bothersome


I agree.



But if a buildout is incompatible, eh... who knows,


I would hope that buildout would not have to be compatible with  
workingenv, whatever that means, in order for Plone to be  
compatible.  Then again, I'm not sure what compatibility means in  
this context.


it might even make sense to create something like a freeze this  
workingenv as a buildout script.  That one directory structure  
can't be both at the same time isn't a huge problem in my mind.


Deployment involves far more than getting the software installed.

...

Path names aren't really the problem.  We got a little guerrilla  
war going on over the setuptools' script-generating monkey  
patches.  We'd both probably prefer a proper way to change how  
setuptools generates scripts, but it's not clear that we could  
really be compatible -- enumeration vs. changing the path is a  
totally different strategy.


Um, we're both changing the path -- just in different ways.


  I'd rather see easy-install.pth become a better package database,  
or some other strategy of external requirement specifications,  
instead of building it into scripts.


We certainly disagree there. OTOH, I wouldn't be opposed to having a  
recipe for generating scripts that used the .pth files created by  
workingenv.



I understand the issue Jim is trying to solve here, but putting  
everything into the buildout.cfg and then imperatively setting up  
the files from there bothers me and does not make development easy  
IMHO.


This seems to be a matter of taste.  I like developing with buildout.  
It makes development easier for me.  :) To each his own.




That's mostly the problem.  Then workingenv would do its part by  
monkeypatching distutils and setuptools to install things locally,  
and changing site.py to not automatically pick up things globally.


I applaud you for this effort.  I chose to work below easy_install  
and site.py

rather that trying to bend/monkey-path it to my will.

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



___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Re: ploneout - Or how using zc.buildout for a common Zope2 project might look like

2007-01-25 Thread Ian Bicking

Jim Fulton wrote:

If *Plone* becomes incompatible with workingenv that'd be bothersome


I agree.



But if a buildout is incompatible, eh... who knows,


I would hope that buildout would not have to be compatible with 
workingenv, whatever that means, in order for Plone to be compatible.  
Then again, I'm not sure what compatibility means in this context.


It would be a concern if, for instance, Plone started depending on 
buildout recipes for installation, without plain distutils recipes. 
Of course right now there are no distutils recipes for old-style 
Products.  So actually it's an active issue -- if buildout enables Plone 
to keep from moving to distutils/setuptools/egg-style package deployment 
(because buildout is flexible enough to support the old patterns) then 
that would make it harder for workingenv.  But I don't think anyone is 
proposing that buildout means that Plone (and Zope 2/Five) shouldn't 
continue its move towards traditional Python packaging.


So basically I would just hope that Plone doesn't lean to heavily on 
buildout.


it might even make sense to create something like a freeze this 
workingenv as a buildout script.  That one directory structure can't 
be both at the same time isn't a huge problem in my mind.


Deployment involves far more than getting the software installed.


Yes; in a workingenv model you start with an environment, then you 
actually make your deployment using tools of your choice.  workingenv 
doesn't deploy for you.  Admittedly your choice isn't always good, 
because maybe you didn't want to make a choice ;)


Path names aren't really the problem.  We got a little guerrilla war 
going on over the setuptools' script-generating monkey patches.  We'd 
both probably prefer a proper way to change how setuptools generates 
scripts, but it's not clear that we could really be compatible -- 
enumeration vs. changing the path is a totally different strategy.


Um, we're both changing the path -- just in different ways.


Maybe enumeration vs adding a directory of eggs is a better 
description.  Setuptools controls the directory of eggs (via 
easy-install.pth), while buildout controls the scripts and doesn't give 
setuptools that control.


  I'd rather see easy-install.pth become a better package database, or 
some other strategy of external requirement specifications, instead of 
building it into scripts.


We certainly disagree there. OTOH, I wouldn't be opposed to having a 
recipe for generating scripts that used the .pth files created by 
workingenv.


I'm not sure what the problem would be?  I appreciate the desire for a 
set of requirements that is different from the requirements of the 
package, and workingenv has some support for that (with the 
--requirements option), but it's a different style from buildout. 
easy-install.pth would almost be okay, except for the fact that it is 
constantly pointing to things that don't exist, has setuptools' hacks in 
it (to work around the atrocious Python standard site.py), and doesn't 
describe intent, it's just an enumeration of what is available and 
activated (i.e., available without specifically requiring something).


Besides all that, it's still a workable foundation IMHO.

--
Ian Bicking | [EMAIL PROTECTED] | http://blog.ianbicking.org
___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] Re: ploneout - Or how using zc.buildout for a common Zope2 project might look like

2007-01-25 Thread Martin Aspeli

Rob Miller wrote:

honestly, it seems to me that buildout tries to do too much.  it's trying to 
handle both repeatable deployment recipes AND providing a sandbox within which 
to run things.  there may not be a point to having an extra layer on top of 
buildout, but buildout sure does seem to me a bit heavy if all i want is a 
sandbox.  so now i have to learn the workingenv way if i just need a sandbox, 
but i have to learn the buildout way if i also want repeatable deployments?


Potentially. But I find it kind of reassuring to have a well-defined 
list of which eggs are part of my special environment i.e. the one 
tied to my instance.


As said already, I think once you've got buildout, there's no need for 
workingen, except if you think that Zope stinks ;)


this is shortsighted, IMO.  i know zope quite well, but i bounced off of 
buildout b/c it required too much knowledge to even get started.  i think it's 
much more likely that people from the greater python community will pick up 
and start using workingenv than they will zc.buildout.


Again, I think the two are orthogonal.

And honestly, I found zc.buildout pretty easy to understand. I resisted 
it for a while, it seems liked it *should* be complex, and I won't 
pretend to understand how it manages eggs in any detail, but I don't 
think it matters.


Look at http://dev.plone.org/plone/browser/ploneout/trunk/buildout.cfg - 
I find that pretty self-explanatory. I tried to document how it works at 
a high level and how you may use it here 
http://dev.plone.org/plone/browser/ploneout/trunk/README.txt.


And writing a new recipe is as simple as this:

http://dev.plone.org/plone/browser/ploneout/trunk/src/z2c.recipe.zope2checkout/src/z2c/recipe/zope2checkout/__init__.py

All that is plain python code, the only thing you need to understand 
about buildout is that it has a dict-like object called 'options' which 
reflects the options in the current part's section in buildout.cfg, and 
a higher level dict-like object called 'buildout' which has the options 
for all the parts (so buildout['foo'] are the options for part [foo] in 
buidout.cfg). Each part is associated with a recipie. Recipies are ordered.


personally, i like chris mcdonough's approach with his buildit package.  it 
does two things:


- it retrieves files from anywhere on the 'net (cvs, svn, tarball, whatever) 
and puts them where you want them on your target machine(s)


You can do that quite easily with buildout as well. I would like to make 
a more generic recipe for retrieving tarballs for e.g. zope 
installation, and I think it'd be as hard as figuring out which python 
function to use to download something.


- it launches external scripts that then perform whatever final configuration 
you may want to perform.


Again, if you want a recipe to do that, it's trivial to write (10 lines 
of code?). Instead of an external script, though, I would probably find 
it easier to write that as a buildout recipe in python.


buildit is also recipe driven, and it's smart enough to pick up where it left 
off on a previous run, a'la make.  i'd guess that you could use buildit and 
workingenv to accomplish pretty much everything you can do w/ zc.buildout, and 
you wouldn't have to bend your brain so much to do so.


I'm just struggling to see why it's so hard to figure out how buildout 
works. Perhaps it just fits my brain. But honestly, once Hanno showed me 
his initial steps with ploneout and I'd taken ten minutes with pdb 
inside the __init__() and install() functions (the only two...) in his 
recipe the pieces fitted together in my head almost instantly.


I don't greatly care how the standard zc.recipe.egg mechanism installs 
eggs because it works and because I can see clearly where they come 
from, how I create new ones and I'm satisfied that they are available ot 
my python interpreter. If I did care, I'm sure I wouldn't find it that 
hard to trace, though.


Martin

___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Re: ploneout - Or how using zc.buildout for a common Zope2 project might look like

2007-01-25 Thread Ian Bicking

Jim Fulton wrote:

I actually tried to do this once before with zc.buildout, but I didn't
get far -- probably a result of lack of effort and lack of familiarity
with the overall stack.  But I also recognize lots of the questions
about stuff like the zope.conf file and Data.fs that still seem
unresolved.


Certainly when you tried this, buildout was very young and we hadn't 
written recipes to deal with these issues.  We've made a lot of progress 
since then.


Well, the last time I really used it was early December, and it still 
felt slow and awkward to me at the time, with several funny quirks.



And frankly I like easy_install.  It's
probably 10x faster than buildout.


I doubt that that is true now.  Although that probably depends on what 
you are doing.  Early versions of buildout did a lot of things 
inefficiently as I was still learning setuptools.  Because of the way 
that buildout caches index information, I expect that creating a 
buildout from scratch that used a lot of eggs would be much faster than 
using easy_install.  One difference though is that buildout checks for 
the most recent compatible versions of all of the eggs it's using every 
time you run it, whereas, as I understand it, with workingenv, you'd 
just run easy_install manually when you want a new egg.  


Correct.  The basic process with workingenv is:

1. Set it up.
2. Start installing stuff.
3. Try running stuff.
4. Realize you got it wrong, missed something, want to do more 
development, return to 2.


I actually find myself doing the 2-4 loop pretty often, both in 
development and when first deploying something.  Just the amount of time 
to do bin/buildout -h was substantial (though I don't really 
understand why, except that buildout seemed to be working way too hard 
to update itself).


You can bypass 
the checks by running in offline mode.  Then buildout runs very fast.  
Because of the ability to share eggs accross buildouts, it is often 
possible to run a buidout using lots of eggs in offline mode.


It has been suggested that there should be a mode for buildout that only 
talks to the network when there isn't a local egg that satisfied a 
requirement.  This would make buildout work more like workingenv when 
few if any eggs are actually needed.


Yes; more like easy_install does as well, actually.  Though the way 
easy_install works is hardly intuitive; I find myself frequently saying 
yes, you installed it, but did you -U install it?



As for the technical reasons they don't work together:

* workingenv allows and leaves it to setuptools to maintain the package
installation database (basically easy-install.pth).  This is not a very
good database, but eh.  buildout doesn't really have a database, but
instead just enforces what buildout.cfg indicates.


buildout uses the buildout configuration file to store what you want.  
It uses .installed.cfg to capture what you have.  These are both 
databases of sorts.




* workingenv relies on that database to give default versions and to
setup the Python path.  The fixup it does of installed scripts is fairly
minimal, just setting up sys.path enough to force its site.py to get
called.  buildout enumerates all the activated packages, and ignores
easy-install.pth.  This is basically what makes it
easy_install-incompatible.


Yup.  I wanted something far more static and predictable for scripts 
generated by buildout.



Plus buildout's desire to own everything and
destroy everything it does not own ;)


I'm not aware that it destroys anything. Could you be more specific?


Well, it owns parts, and the recipes control that.  Doesn't it also 
delete and reinstall there?  How it treats each area of the buildout I'm 
unclear.  Simply making the file layout a bit more conventional, and 
describing anything non-obvious, would make buildout feel a lot more 
comfortable to the new user.



* As a result buildout supports multiple things in the same buildout
that have conflicting version requirements, but where the packages
themselves don't realize this (but the deployer does).  If the packages
know their requirements then setuptools' native machinery allows things
to work fine.


Yes.  I expect that usually, packages won't be very specific.  The 
buildout configuration file provides a place to be specific.


workingenv allows this, insofar as you can be specific while installing 
things, and with the requirements file.  But it doesn't make the 
individual scripts very specific, if for instance appfoo requires 
libX1.0, and appbar requires libX1.1, but you actually want appfoo to 
use libX==1.0 and appbar to use libX==1.1 and install them in the same 
buildout.  That's the only case where buildout seems to be able to 
express something workingenv can't.



* Some see bin/activate as a jail.  Both workingenv and buildout are
deliberately jail-like.  Both Jim and I loathe the non-repeatability of
system-wide installations (at least I think I can speak for him on that
one point ;).  

[Zope-dev] Re: ploneout - Or how using zc.buildout for a common Zope2 project might look like

2007-01-25 Thread Rob Miller

Martin Aspeli wrote:

Rob Miller wrote:

honestly, it seems to me that buildout tries to do too much.  it's 
trying to handle both repeatable deployment recipes AND providing a 
sandbox within which to run things.  there may not be a point to 
having an extra layer on top of buildout, but buildout sure does seem 
to me a bit heavy if all i want is a sandbox.  so now i have to learn 
the workingenv way if i just need a sandbox, but i have to learn the 
buildout way if i also want repeatable deployments?


Potentially. But I find it kind of reassuring to have a well-defined 
list of which eggs are part of my special environment i.e. the one 
tied to my instance.


to find this i simply look in /path/to/workingenv/lib/python2.4.

As said already, I think once you've got buildout, there's no need 
for workingen, except if you think that Zope stinks ;)


this is shortsighted, IMO.  i know zope quite well, but i bounced off 
of buildout b/c it required too much knowledge to even get started.  i 
think it's much more likely that people from the greater python 
community will pick up and start using workingenv than they will 
zc.buildout.


Again, I think the two are orthogonal.


orthogonal, but with overlap.

And honestly, I found zc.buildout pretty easy to understand. I resisted 
it for a while, it seems liked it *should* be complex, and I won't 
pretend to understand how it manages eggs in any detail, but I don't 
think it matters.


Look at http://dev.plone.org/plone/browser/ploneout/trunk/buildout.cfg - 
I find that pretty self-explanatory. I tried to document how it works at 
a high level and how you may use it here 
http://dev.plone.org/plone/browser/ploneout/trunk/README.txt.


And writing a new recipe is as simple as this:

http://dev.plone.org/plone/browser/ploneout/trunk/src/z2c.recipe.zope2checkout/src/z2c/recipe/zope2checkout/__init__.py 



All that is plain python code, the only thing you need to understand 
about buildout is that it has a dict-like object called 'options' which 
reflects the options in the current part's section in buildout.cfg, and 
a higher level dict-like object called 'buildout' which has the options 
for all the parts (so buildout['foo'] are the options for part [foo] in 
buidout.cfg). Each part is associated with a recipie. Recipies are ordered.


personally, i like chris mcdonough's approach with his buildit 
package.  it does two things:


- it retrieves files from anywhere on the 'net (cvs, svn, tarball, 
whatever) and puts them where you want them on your target machine(s)


You can do that quite easily with buildout as well. I would like to make 
a more generic recipe for retrieving tarballs for e.g. zope 
installation, and I think it'd be as hard as figuring out which python 
function to use to download something.


i have no doubt that zc.buildout will do everything that buildit will do, and 
probably much more.  but i like simple.  and for me, having something light 
like workingenv to manage my sandbox, and a library like buildit for putting 
files into those sandboxes feels simple.


- it launches external scripts that then perform whatever final 
configuration you may want to perform.


Again, if you want a recipe to do that, it's trivial to write (10 lines 
of code?). Instead of an external script, though, I would probably find 
it easier to write that as a buildout recipe in python.


the script could of course be python as well.

buildit is also recipe driven, and it's smart enough to pick up where 
it left off on a previous run, a'la make.  i'd guess that you could 
use buildit and workingenv to accomplish pretty much everything you 
can do w/ zc.buildout, and you wouldn't have to bend your brain so 
much to do so.


I'm just struggling to see why it's so hard to figure out how buildout 
works. Perhaps it just fits my brain. But honestly, once Hanno showed me 
his initial steps with ploneout and I'd taken ten minutes with pdb 
inside the __init__() and install() functions (the only two...) in his 
recipe the pieces fitted together in my head almost instantly.


your efforts to figure something out and then document will have a major 
impact on people understanding this, as per usual.  but still, something about 
it just feels heavy.  the idea of having two separate tools, each of which 
does one thing well, working together to solve a problem suits my 
sensibilities more than having one more monolithic tool.


luckily, we don't really have to convince each other of anything, here.  it's 
entirely possible to have zc.buildout recipes for installing Zope and Plone as 
well as buildit / workingenv recipes for the same purpose.


-r

___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope )


[Zope-PAS] roles on the anonymous user

2007-01-25 Thread Wichert Akkerman
For some environments I need to be able to add a role for people coming
from a specific IP address (for example to add a role everyone on
campus). At the moment PAS does not support that: roles are determined
in the _findUser method but not in _createAnonymousUser.

Are there any reasons for not doing that there as well?

Wichert.

-- 
Wichert Akkerman [EMAIL PROTECTED]It is simple to make things.
http://www.wiggy.net/   It is hard to make things simple.
___
Zope-PAS mailing list
Zope-PAS@zope.org
http://mail.zope.org/mailman/listinfo/zope-pas


Re: [Zope] Zope pretends to receive and send XMLRPC data, but strace sees nothing ! (fwd)

2007-01-25 Thread Martijn Pieters

On 1/24/07, Maciej Wisniowski [EMAIL PROTECTED] wrote:

Another question, do you use ZEO? I know there were some issues
with _p_resolveConflict and ZEO (at last in Zope 2.8.x). Result
was that with ZEO setup _p_resolveConflict was not called at all.
There is solution for this but I don't know if this is your case
especially that you are dealing with TemporaryStorage which is
typically managed by ZEO Client...


If ZEO cannot reach your product (import it), it cannot run any
conflict resolution. Make sure that the ZEO server setup has access to
those Products that do conflict resolution.

--
Martijn Pieters
___
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] URL referencing

2007-01-25 Thread Sinang, Danny
Hello,
 
I've got a script located in /wms/Ccp/Main/TeamLead/Scripts and it needs
to reference a workflow object in /wms/Ccp/Main/Workflows/Ccp/ .
 
Currently, we do this by issuing this line :
 
wf = context.Workflows.Ccp.ccp_agro_article
 
But everytime we run this, a username/password prompt comes up, and no
matter what we enter (even if we use a Manager account), nothing works.
 
I'm thinking maybe I should refer to the workflow object using a
full-path approach. Question is, how ? Do I say :
 
wf = wms.Ccp.Main.Workflows.Ccp.ccp_agro_article 
 
?
 
I tried it and got a global name 'wms' is not defined message.

Hope somebody here could shed some light.
 
Regards,
Danny
___
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] Adjusting ZODB Pool Size

2007-01-25 Thread Brian
Hi!

We have a very busy site that required zserver-threads to be bumped to 10.

My understanding is DB connections (pool_size) is hardwired to 7, no
knob to adjust, and it should match the number of zserver-threads.

We do get warnings in the logs, so I should fix it.

Create a custom_zodb.py and put in your Zope installation directory.

Does that mean the zinstance or zeoinstance?

The root, or the /etc of the zeoinstance/zinstance?

How do I determine the cache_size setting?

Right now the Target number of objects in memory per cache 15000.

TIA




___
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] Key Error in Catalog Reindex

2007-01-25 Thread KJZZ Webmaster
Dieter, thank you for the suggestion on how to change 
\lib\python\OFS\DTMLMethod.py
to avoid the key error.

Before I went ahead and altered zope's the underlying code, I thought I would
try Andres' suggestion first, by rewriting the dtml method as a python script:

REQUEST = container.REQUEST
RESPONSE =  REQUEST.RESPONSE
REFERER = REQUEST.get_header('HTTP_REFERER')
catalog = context.Catalog

catalog.manage_catalogReindex(REQUEST, RESPONSE, REFERER)

RESPONSE.redirect(REFERER)

This seems to have fixed the issue.  I'll let you know if I notice anything
further.

Thanks kindly,

John T.


-- Original Message --
Date: Mon, 22 Jan 2007 18:01:30 +0100
From: Andreas Jung [EMAIL PROTECTED]

Rewrite the code using a PythonScript and check again for errors.



___
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] ColdFusion, ASP, etc with Zope/Plone

2007-01-25 Thread Chris Withers

Murdock wrote:

Example:
http://www.domain.com/Customer should go to ColdFusion and actual files on
the server
everything else at http://www.domain.com should feed into Zope

I am running Windows Server 2003, IIS6, EnfoldProxy, Latest version of Zope
2.


Dunnoy what EnfoldPoxy is or how it works, but put Apache in front of 
the lot and use its rewrite rules.


cheers,

Chris

--
Simplistix - Content Management, Zope  Python Consulting
   - http://www.simplistix.co.uk

___
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] Adjusting ZODB Pool Size

2007-01-25 Thread Patrick Prodöhl
On Jan 25, 2007 12:14 PM, Brian wrote:

Hi!

We have a very busy site that required zserver-threads to be bumped to
10.

My understanding is DB connections (pool_size) is hardwired to 7, no
knob to adjust, and it should match the number of zserver-threads.

We do get warnings in the logs, so I should fix it.

Create a custom_zodb.py and put in your Zope installation directory.

Does that mean the zinstance or zeoinstance?

The root, or the /etc of the zeoinstance/zinstance?

How do I determine the cache_size setting?

Right now the Target number of objects in memory per cache 15000.

TIA



hey brian,

you are able to adjust both (pool- and cache-size) in the zodb_db-part
your zope.conf.
Just see the example in my config:

8--snip-8-
zodb_db temporary
 # Temporary storage database (for sessions)
 temporarystorage
   name temporary storage for sessioning
 /temporarystorage
 mount-point /temp_folder
 pool-size 8
 container-class Products.TemporaryFolder.TemporaryContainer
/zodb_db

zodb_db zeo.root
 mount-point /
 # ZODB cache, in number of objects
 cache-size 5000
 zeoclient
   server localhost:8100
   storage zeo.root
   name zeo.root
   var $INSTANCE/var
   # ZEO client cache, in bytes
   cache-size 20MB
   # Uncomment to have a persistent disk cache
   #client zeo_client0
 /zeoclient
/zodb_db
8--snip-8-

Greets,
Patrick 

___
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] URL referencing

2007-01-25 Thread Jonathan

snip
- Original Message - 
From: Sinang, Danny

To: zope@zope.org
Sent: Thursday, January 25, 2007 4:36 AM
Subject: [Zope] URL referencing

Hello,

I've got a script located in /wms/Ccp/Main/TeamLead/Scripts and it needs to 
reference a workflow object in /wms/Ccp/Main/Workflows/Ccp/ .


Currently, we do this by issuing this line :

wf = context.Workflows.Ccp.ccp_agro_article

But everytime we run this, a username/password prompt comes up, and no 
matter what we enter (even if we use a Manager account), nothing works.


I'm thinking maybe I should refer to the workflow object using a full-path 
approach. Question is, how ? Do I say :


wf = wms.Ccp.Main.Workflows.Ccp.ccp_agro_article

I tried it and got a global name 'wms' is not defined message.
/snip


You may need to set a proxy role on the script that is trying to access the 
'ccp_agro_article'.  You could also try using Verbose Security to track down 
your security issue.



Jonathan 


___
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] ColdFusion, ASP, etc with Zope/Plone

2007-01-25 Thread Murdock

Thanks for the suggestion, I went to that site and I see that it only works
on Unix-Like servers. I don't have any of those available in my environment.



Jaroslav Lukesh wrote:
 
 - Original Message - 
 From: Murdock [EMAIL PROTECTED]
 I am implementing a new site using Zope/Plone. This site replaces an old 
 one
 built in ColdFusion. The problem that I am having is that a portion of
 our
 site (Our customer login area) will need to remain on ColdFusion for a
 while.

 Is their a method to get most things to Zope/Plone but certain folders to 
 go
 to ColdFusion.

 Example:
 http://www.domain.com/Customer should go to ColdFusion and actual files
 on
 the server
 everything else at http://www.domain.com should feed into Zope
 
 Use reverse proxy www.apsis.ch/pound
 
 Use directive
 
 UrlGroup Customer.*
 HeadRequire Host www.domain.com.*
 BackEnd IP#_addr_coldfusion,port#_coldfusion,1
 EndGroup
 
 
 ___
 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 )
 
 

-- 
View this message in context: 
http://www.nabble.com/ColdFusion%2C-ASP%2C-etc-with-Zope-Plone-tf3084565.html#a8614876
Sent from the Zope - General mailing list archive at Nabble.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] ColdFusion, ASP, etc with Zope/Plone

2007-01-25 Thread Murdock

Can you point me to some good documentation that can get me up and running
with Apache quickly, as well as how to use the rewrite rules?

Thanks


Chris Withers wrote:
 
 Murdock wrote:
 Example:
 http://www.domain.com/Customer should go to ColdFusion and actual files
 on
 the server
 everything else at http://www.domain.com should feed into Zope
 
 I am running Windows Server 2003, IIS6, EnfoldProxy, Latest version of
 Zope
 2.
 
 Dunnoy what EnfoldPoxy is or how it works, but put Apache in front of 
 the lot and use its rewrite rules.
 
 cheers,
 
 Chris
 
 -- 
 Simplistix - Content Management, Zope  Python Consulting
 - http://www.simplistix.co.uk
 
 ___
 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 )
 
 

-- 
View this message in context: 
http://www.nabble.com/ColdFusion%2C-ASP%2C-etc-with-Zope-Plone-tf3084565.html#a8614981
Sent from the Zope - General mailing list archive at Nabble.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] ColdFusion, ASP, etc with Zope/Plone

2007-01-25 Thread Jonathan


- Original Message - 
From: Murdock [EMAIL PROTECTED]

To: zope@zope.org
Sent: Thursday, January 25, 2007 8:32 AM
Subject: Re: [Zope] ColdFusion, ASP, etc with Zope/Plone




Can you point me to some good documentation that can get me up and running
with Apache quickly, as well as how to use the rewrite rules?



http://httpd.apache.org/docs/2.2/misc/rewriteguide.html



Jonathan 


___
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] Zope pretends to receive and send XMLRPC data, but strace sees nothing ! (fwd)

2007-01-25 Thread yacine chaouche

Is _p_resolveConflict method of Inceraser executed at all?
I wonder if traceback you see in console is from the
code you added:
traceback.print_exc(file=stdin)

or it is always shown when there is a conflict error.


code
   def _p_resolveConflict(self, old, state1, state2):
   print called the _p_resolveConflict of the Increaser object,self
   try:
   number = max(old,state1,state2)
   except Exception,msg:
   import traceback
   traceback.print_exc(file=sys.stdin)
   return max(old, state1, state2)

/code

Yes, The method was not called. However, the traceback was indeed printed by
the print_exc, since there were no tracebacks before I added this line. In
fact, as Gabriel Genellina said :


That might provoke a ConflictError, forcing a
transaction abort and the request to be re-tried (up to three times,
silently, then it goes logged).


as well as  Pascal Peregrina:


In general, retry is called when a ZODB Conflict Error has happened.
If I remember well, Zope will silently retry 3 times, and then actually
return an error page showing the Conflict Error.


as the documentation says
http://www.zope.org/Documentation/Books/ZDG/current/ObjectPublishing.stx :

If an unhandled exception is raised during the publishing process, Zope
aborts the transaction. As detailed in Chapter 4. Zope handles
ConflictErrors by re-trying the request up to three times. This is done with
the zpublisher_exception_hook.

Thus, I don't think that the traceback is always shown when there's a
conflict error.

So I decided to look into the file suggested by Maciej Wisniowski :


You may take a look at lib/python/ZODB/ConflictResolution.py
method: tryToResolveConflict. There is a call to _p_resolveConflict.


and edited it like this :

code
def tryToResolveConflict(self, oid, committedSerial, oldSerial, newpickle,
committedData=''):
   # class_tuple, old, committed, newstate = ('',''), 0, 0, 0
   print in ConflictResolution.py, called the tryToResolveConflict method
with arguments :
   print
self,self,oid,oid.__repr__(),committedSerial,committedSerial.__repr__(),oldSerial,oldSerial.__repr__(),newpickle,newpickle.__repr__(),committedData,committedData.__repr__()
   try:
   prfactory = PersistentReferenceFactory()
   file = StringIO(newpickle)
   unpickler = Unpickler(file)
   unpickler.find_global = find_global
   unpickler.persistent_load = prfactory.persistent_load
   meta = unpickler.load()
   if isinstance(meta, tuple):
   klass = meta[0]
   newargs = meta[1] or ()
   if isinstance(klass, tuple):
   klass = find_global(*klass)
   else:
   klass = meta
   newargs = ()

   if klass in _unresolvable:
   print klass,klass.__repr__,is unresolvable
   return None

   newstate = unpickler.load()
   inst = klass.__new__(klass, *newargs)

   try:
   resolve = inst._p_resolveConflict
   except AttributeError:
   print inst.__repr__,has no _p_resolveConflict method
   _unresolvable[klass] = 1
   return None

   old = state(self, oid, oldSerial, prfactory)
   committed = state(self, oid, committedSerial, prfactory,
committedData)

   resolved = resolve(old, committed, newstate)

   file = StringIO()
   pickler = Pickler(file,1)
   pickler.persistent_id = persistent_id
   pickler.dump(meta)
   pickler.dump(resolved)
   print everything's ok
   return file.getvalue(1)
   except (ConflictError, BadClassName):
   print ConflictError during conflict resolution in tryToResolveConflict,
ConflictResolution.py
   import traceback
   import sys
   traceback.print_exc(file = sys.stdout)
   return None
   except:
   print Exception raised in in tryToResolveConflict,
ConflictResolution.py
   import traceback
   import sys
   traceback.print_exc(file=sys.stdout)
   # If anything else went wrong, catch it here and avoid passing an
   # arbitrary exception back to the client.  The error here will mask
   # the original ConflictError.  A client can recover from a
   # ConflictError, but not necessarily from other errors.  But log
   # the error so that any problems can be fixed.
   logger.error(Unexpected error, exc_info=True)
   return None

/code

Now let's see what's going on in the console :

console
in ConflictResolution.py, called the tryToResolveConflict method with
arguments :
self tempstorage.TemporaryStorage.TemporaryStorage instance at 0x43fb6aac
oid '\x00\x00\x00\x00\x00\x00\x00\t' committedSerial
'\x03k#\x93\x1d\xff\xf5\x11' oldSerial '\x03k#\x91^t\xf1D' newpickle '(
cProducts.Transience.Transience\nIncreaser\nq\x01)tq\x02.J\x88\xa6\xb8E.'
committedData ''
ConflictError during conflict resolution in tryToResolveConflict,
ConflictResolution.py
Traceback (most recent call last):
 File /opt/aef/Zope-2.9.0/lib/python/ZODB/ConflictResolution.py, line
126, in tryToResolveConflict
   old = state(self, 

Re: [Zope] Zope pretends to receive and send XMLRPC data, but strace sees nothing ! (fwd)

2007-01-25 Thread yacine chaouche

Concerning zeo, I do not use it in the developpement plateforme, but there's
one in the test and production platformes, so maybe I will face the problem
during the test phase.
I do not understand : session objects should be unique for each browser, so
why are there conflict errors on them ?


If ZEO cannot reach your product (import it), it cannot run any
conflict resolution. Make sure that the ZEO server setup has access to
those Products that do conflict resolution.


The product that does conflict resolution is the Transient object (I think
it is the session object) , which is Zope2.9.0/lib/python/Products/Transcience.
I think that zeo should see it.


2007/1/25, yacine chaouche [EMAIL PROTECTED]:


Is _p_resolveConflict method of Inceraser executed at all?
I wonder if traceback you see in console is from the
code you added:
traceback.print_exc(file=stdin)

or it is always shown when there is a conflict error.

code
def _p_resolveConflict(self, old, state1, state2):
print called the _p_resolveConflict of the Increaser object,self
try:
number = max(old,state1,state2)
except Exception,msg:
import traceback
traceback.print_exc(file=sys.stdin)
return max(old, state1, state2)

/code

Yes, The method was not called. However, the traceback was indeed printed
by the print_exc, since there were no tracebacks before I added this line.
In fact, as Gabriel Genellina said :

That might provoke a ConflictError, forcing a
transaction abort and the request to be re-tried (up to three times,
silently, then it goes logged).

as well as  Pascal Peregrina:

In general, retry is called when a ZODB Conflict Error has happened.
If I remember well, Zope will silently retry 3 times, and then actually
return an error page showing the Conflict Error.

as the documentation says
http://www.zope.org/Documentation/Books/ZDG/current/ObjectPublishing.stx :

If an unhandled exception is raised during the publishing process, Zope
aborts the transaction. As detailed in Chapter 4. Zope handles
ConflictErrors by re-trying the request up to three times. This is done with
the zpublisher_exception_hook.

Thus, I don't think that the traceback is always shown when there's a
conflict error.

So I decided to look into the file suggested by Maciej Wisniowski :

You may take a look at lib/python/ZODB/ConflictResolution.py
method: tryToResolveConflict. There is a call to _p_resolveConflict.

and edited it like this :

code
def tryToResolveConflict(self, oid, committedSerial, oldSerial, newpickle,
 committedData=''):
# class_tuple, old, committed, newstate = ('',''), 0, 0, 0
print in ConflictResolution.py, called the tryToResolveConflict
method with arguments :
print
self,self,oid,oid.__repr__(),committedSerial,committedSerial.__repr__(),oldSerial,oldSerial.__repr__(),newpickle,newpickle.__repr__(),committedData,committedData.__repr__()

try:
prfactory = PersistentReferenceFactory()
file = StringIO(newpickle)
unpickler = Unpickler(file)
unpickler.find_global = find_global
unpickler.persistent_load = prfactory.persistent_load
meta = unpickler.load()
if isinstance(meta, tuple):
klass = meta[0]
newargs = meta[1] or ()
if isinstance(klass, tuple):
klass = find_global(*klass)
else:
klass = meta
newargs = ()

if klass in _unresolvable:
print klass,klass.__repr__,is unresolvable
return None

newstate = unpickler.load()
inst = klass.__new__(klass, *newargs)

try:
resolve = inst._p_resolveConflict
except AttributeError:
print inst.__repr__,has no _p_resolveConflict method
_unresolvable[klass] = 1
return None

old = state(self, oid, oldSerial, prfactory)
committed = state(self, oid, committedSerial, prfactory,
committedData)

resolved = resolve(old, committed, newstate)

file = StringIO()
pickler = Pickler(file,1)
pickler.persistent_id = persistent_id
pickler.dump(meta)
pickler.dump(resolved)
print everything's ok
return file.getvalue(1)
except (ConflictError, BadClassName):
print ConflictError during conflict resolution in
tryToResolveConflict, ConflictResolution.py
import traceback
import sys
traceback.print_exc(file = sys.stdout)
return None
except:
print Exception raised in in tryToResolveConflict,
ConflictResolution.py
import traceback
import sys
traceback.print_exc(file=sys.stdout)
# If anything else went wrong, catch it here and avoid passing an
# arbitrary exception back to the client.  The error here will
mask
# the original ConflictError.  A client can recover from a
# ConflictError, but not necessarily from other errors.  But log
# the error so that any 

[Zope] Session Timeout Troubles

2007-01-25 Thread Sale, Robin
Hi,

We're using Zope 2.8.8 with a bunch of client sites set up in various
sub directories / databases. We're using ZEO for the database storage
and a local zodb file for the temporary data.

I've recently been asked to set the system to user sessions time out
after 15 minutes of activity. I've changed the setting in our zope.conf
file (the session timeout value) and restarted zope. However, if I open
a page on the site that requires logon and log in, then leave the
browser alone for 15 or 20 minutes or even an hour, when I click on a
link, it doesn't force me to re-authenticate... it just works as normal.

I'm hoping someone could tell me if there's other stuff I need to do to
make the session time out and force reauthentication at the server level
(rather than having to add code to every user site, as we have over 500
different ones and I'm not sure there's something common enough for me
to hook into if I have to alter code on the sites themselves to enable
this.

It's okay if I get back a response that it can't be done, but I have to
be able to provide my boss with a difinitive answer.

Thank You,
Robin Sale


=
Robin Sale, Software Engineer
Specialized Technology Resources, Inc.
10 Water Street
Enfield CT 06082-4899 USA
[EMAIL PROTECTED]
ICQ: 190327116 
+1 860 749-8371 Ext. 336 Telephone
+1 860 749-9158 Fax
___
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] Session Timeout Troubles

2007-01-25 Thread Andreas Jung



--On 25. Januar 2007 09:59:44 -0500 Sale, Robin [EMAIL PROTECTED] 
wrote:



Hi,

We're using Zope 2.8.8 with a bunch of client sites set up in various
sub directories / databases. We're using ZEO for the database storage
and a local zodb file for the temporary data.

I've recently been asked to set the system to user sessions time out
after 15 minutes of activity. I've changed the setting in our zope.conf
file (the session timeout value) and restarted zope. However, if I open
a page on the site that requires logon and log in, then leave the
browser alone for 15 or 20 minutes or even an hour, when I click on a
link, it doesn't force me to re-authenticate... it just works as normal.


You can configure the session timeout and the max. number of session 
objects. Perhaps you have more user sessions than configured so some 
sessions might be deleted before the timeout?



Andreas


pgpojYAhuhhIK.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 )


Re: [Zope] ColdFusion, ASP, etc with Zope/Plone

2007-01-25 Thread Chris Withers

Murdock wrote:

Anyone know of any good open source or very low cost Reverse Proxies that
will run on Windows Server?


Please trim your replies.

Apache is what you're looking for.

You've been pointed at the docs, further help can be found on #apache on 
irc.freenode.net


cheers,

Chris

--
Simplistix - Content Management, Zope  Python Consulting
   - http://www.simplistix.co.uk
___
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] Session Timeout Troubles

2007-01-25 Thread Sale, Robin
 
Andreas, thank you for replying.

Actually, the problem I have is the reverse - the sessions NEVER seem to
time out. I have a directive from up on high to make it so that 15
minutes of inactivity within any location on the site (All of which is
password protected under acl_users or acl_users(group aware) setup.) It
seems like no matter what I do to the session-timeout-minutes value in
zope.conf, as long as the user keeps their browser open, they can
continue to use the site even if they are idle for an hour or more... I
have the session-timeout-minutes set to 15 and have set the
session-resolution-seconds value to 20 seconds as well and restarted
Zope and yet it seems to not make a difference.

Thank you,
Robin

=
Robin Sale, Software Engineer
Specialized Technology Resources, Inc.
10 Water Street
Enfield CT 06082-4899 USA
[EMAIL PROTECTED]


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of
Andreas Jung
Sent: Thursday, January 25, 2007 10:08 AM
To: Sale, Robin; zope@zope.org
Subject: Re: [Zope] Session Timeout Troubles



--On 25. Januar 2007 09:59:44 -0500 Sale, Robin [EMAIL PROTECTED]

wrote:

 Hi,

 We're using Zope 2.8.8 with a bunch of client sites set up in various
 sub directories / databases. We're using ZEO for the database storage
 and a local zodb file for the temporary data.

 I've recently been asked to set the system to user sessions time out
 after 15 minutes of activity. I've changed the setting in our
zope.conf
 file (the session timeout value) and restarted zope. However, if I
open
 a page on the site that requires logon and log in, then leave the
 browser alone for 15 or 20 minutes or even an hour, when I click on a
 link, it doesn't force me to re-authenticate... it just works as
normal.

You can configure the session timeout and the max. number of session 
objects. Perhaps you have more user sessions than configured so some 
sessions might be deleted before the timeout?


Andreas
___
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] Re: ColdFusion, ASP, etc with Zope/Plone

2007-01-25 Thread Mark, Jonathan (Integic)
Is their a method to get most things to Zope/Plone but certain folders to go
to ColdFusion.

Does ColdFusion have an API which can be called from Python or Perl? Does it 
have an XML-RPC, SOAP or other web API interface? If so then you could write a 
Zope External Method in Python or Perl that runs ColdFusion using the latter's 
API. You will be able to pass in the parameters that you need from Zope, and 
return ColdFusion output to display in Zope. 

For instance, I run a simple example of this approach at 
http://jonathanmark.com:8080/Cheetah/callUseCheetah on a Zope 2.10 server. the 
Zope Python Script callUseCheetah acquires the names of members of the Byrds 
rock group. It acquires these names from a lines property of the Zope folder 
Cheetah. (Cheetah is not just a folder name, it is also the name of a Python 
templating engine.)

callUseCheetah then calls the Zope External Method useCheetah to render the 
output.

The template engine Cheetah returns the rendered page to Zope which displays 
the names in the title of the page.

Here is the the Zope Python Script callUseCheetah:

# code to get 'htmlpage' goes here...
htmlpage = context.html
# now extract the body
body = context.useCheetah(htmlpage, context.name)
# now do something with 'body' ...
print body
return printed



___
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] [ANN] Zope 2.10.2 released

2007-01-25 Thread Andreas Jung

The Zope developer community I is pleased to announce the release
of Zope 2.10.2.

You can download Zope 2.10.2 from:

 http://www.zope.org/Products/Zope/2.10.2/

This release uses unicode as internal representation for ZPT. For this 
reason you are strongly encouraged to read


http://www.zope.org/Products/Zope/2.10.2b1/Zope-2.10.2_released

carefully.


Some new features of Zope 2.10:

 - ZPT implementation based on Zope 3

 - experimental WSGI and Twisted integration

 - Zope 3.3, Five 1.5 integration

 - clock server

 - lots of minor improvements and fixes

 - replaced several Zope 2 modules with their sister implementation
   of Zope 3


For more information on what is new in this release, see the
CHANGES.txt files for the release:

  http://www.zope.org/Products/Zope/2.10.2/CHANGES.txt

Please bring all the bugs you have found to the Zope bugtracker:

  http://collector.zope.org/Zope

For more information on the available Zope releases, guidance for selecting
the right distribution and installation instructions, please see:

 http://www.plope.com/Books/2_7Edition/InstallingZope.stx


Supported Python versions:

 Zope 2.10 requires Python 2.4.3+ (Python 2.4.2 is still acceptable).
 Older Python versions are no longer supported. Using Python 2.5
 is also *unsupported*.


- --
Andreas Jung

--
ZOPYX Ltd.  Co. KG - Charlottenstr. 37/1 - 72070 Tübingen - Germany
Web: www.zopyx.com - Email: [EMAIL PROTECTED] - Phone +49 - 7071 - 793376
E-Publishing, Python, Zope  Plone development, Consulting


pgpCk2GVjcCFn.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 )


Re: [Zope] Zope pretends to receive and send XMLRPC data, but strace sees nothing ! (fwd)

2007-01-25 Thread Dieter Maurer
yacine chaouche wrote at 2007-1-24 18:23 +0100:
As Gabriel Genellina said earlier in this discussion, the probleme could
come from the dicoLignes variable that is stored in the session.I don't get
it, the exception says that the Increaser object is responsible of the
conflict error :

ZODB.POSException.ConflictError database conflict error (oid 0x09, class
Products.Transience.Transience.Increaser, serial this txn started with
0x036b192256c66688 2007-01-23 16:34:20.337891, serial currently committed
0x036b19236a4be0ee 2007-01-23 16:35:24.913219)

But the Increaser class has a _p_resolveConflict method :

In order to resolve a conflict, the storage must have sufficient
history to deliver the old state.

A TemporaryStorage has only a very limited history -- way to
often not enough for conflict resolution.



-- 
Dieter
___
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] Re: Allow import of whole filesystem class hierarchy?

2007-01-25 Thread Dieter Maurer
Kirk Strauser wrote at 2007-1-24 13:16 -0600:
 ...
Before I start on such an adventure, what is the Python/Zope term for what 
I'm trying to do, specifically to allow the import of an entire module, 
including classes inside it, and methods inside those classes' objects?

With allow_module you allow import of a (single) module
and make all its content (on top level!) public (i.e. usable).

With allow_class, you make all its content (on top level) public.

With allow_type, you make a built in type usable in untrusted code.

That's what you have as prepared tools.


Adventures are necessary to get more of it



-- 
Dieter
___
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] Session Timeout Troubles

2007-01-25 Thread Dieter Maurer
Sale, Robin wrote at 2007-1-25 09:59 -0500:
 ...
I've recently been asked to set the system to user sessions time out
after 15 minutes of activity. I've changed the setting in our zope.conf
file (the session timeout value) and restarted zope. However, if I open
a page on the site that requires logon and log in, then leave the
browser alone for 15 or 20 minutes or even an hour, when I click on a
link, it doesn't force me to re-authenticate... it just works as normal.

I have never heard of such a behaviour -- and it is almost unbelievable.

In any such case (unbelievable behaviour), I always use a powerfull
tool (the debugger in this case) to shed light into the behaviour.



-- 
Dieter
___
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] Session Timeout Troubles

2007-01-25 Thread Sale, Robin
Dieter,

Thank you for your reply.

Originally was a customer-driven need to have them as long as possible
for some time, but now there is a management need to make sessions as
short as possible to increase security.  My big concern is that my
predecessor may have done some serious deep-down hacking to make
sessions not time out until the browser is closed to stop the whining.
He's not around anymore and I'm not as much of an expert as him.

What I'm doing:
Visit a simple HTML page that has a link to a second ... all of which is
contained within a folder that requires authenticated user to view. I go
to server:8080/page_path/page_name and have to log in. I do so, and see
the page. Now, I wait 20,30, 45 minutes, even an hour and click on the
link to server:8080/page_path/page_name2. What I WANT to happen is to be
forced to provide my credentials if it's been sitting longer than 15
minutes. What IS happening is that I simply get the page. The zope.conf
is set with a session-timeout-minutes 15.

I've looked at the debugging page in the control panel, but it doesn't
tell me anything I recognize as useful.


=
Robin Sale, Software Engineer
Specialized Technology Resources, Inc.
10 Water Street
Enfield CT 06082-4899 USA
[EMAIL PROTECTED]


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of
Dieter Maurer
Sent: Thursday, January 25, 2007 1:28 PM
To: Sale, Robin
Cc: zope@zope.org
Subject: Re: [Zope] Session Timeout Troubles

Sale, Robin wrote at 2007-1-25 09:59 -0500:
 ...
I've recently been asked to set the system to user sessions time out
after 15 minutes of activity. I've changed the setting in our zope.conf
file (the session timeout value) and restarted zope. However, if I open
a page on the site that requires logon and log in, then leave the
browser alone for 15 or 20 minutes or even an hour, when I click on a
link, it doesn't force me to re-authenticate... it just works as
normal.

I have never heard of such a behaviour -- and it is almost unbelievable.

In any such case (unbelievable behaviour), I always use a powerfull
tool (the debugger in this case) to shed light into the behaviour.



-- 
Dieter
___
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 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] Captcha Image For Form Verification

2007-01-25 Thread kjzz.webmaster
Does anyone if there is a product (specifically for zope) for creating a 
captcha image to verify that an actual human is submitting a form?


I am using zope 2.8.1 with python 2.3.5 on a windows server.  I am currently 
looking into this:


http://captchas.net/sample/python/ 


___
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] sorting

2007-01-25 Thread Kate Legere
I'd like to sort the items in a folder by relevance, relevance being a
property I've assigned. 

 

I'm using a python script 

 

for aj in ao.objectItems(items):

  aao=aj[1] #the object

  title=aao.title

 

  id=aj[0]

  aanum=len(aao.objectIds())

  if ( aanum  1 ):

if (title != '' and id != 'index_html' and not
o.hasProperty('display')):

  ret=ret # +  li id=ul_+id+

  else:

if (title != '' and id != 'index_html' and not
o.hasProperty('display')):

  ret=ret # +  li id=ul_+id+ class=closed1

  if (title != '' and id != 'index_html' and not
o.hasProperty('display')): 

 ret=ret+li id=ul_+id+h3a
href=\+aao.absolute_url()+\nbsp;nbsp;nbsp;+title+/a/h3/li\n

 

.

 

When I try 

 

values=ao.objectItems(items)  

values.sort(lambda a,b: cmp(a[0],b[0]))

for aj in values:

  aao=aj[1] #the object

  title=aao.title

 

 

Error Type: AttributeError
Error Value: 'tuple' object has no attribute 'sort'

 

Obviously, id isn't really what I wanted to sort by anyway but since I can't
even do that I can't really go on to try to 

use getattr to try and sort on relevance..

 

 

Kate

 

 

 

The full trackback in case anyone wants it is..

 

Traceback (innermost last):
  Module ZPublisher.Publish, line 115, in publish
  Module ZPublisher.mapply, line 88, in mapply
  Module ZPublisher.Publish, line 41, in call_object
  Module OFS.DTMLDocument, line 128, in __call__
   - DTMLDocument at /kfplsite/redesign/aboutLibrary/index_html
   - URL:
http://www2.kfpl.ca:8080/kfplsite/redesign/aboutLibrary/index_html/manage_ma
in
   - Physical Path: /kfplsite/redesign/aboutLibrary/index_html
  Module DocumentTemplate.DT_String, line 476, in __call__
  Module OFS.DTMLDocument, line 121, in __call__
   - DTMLDocument at /kfplsite/redesign/menuLeft used for
/kfplsite/redesign/aboutLibrary
   - URL: http://www2.kfpl.ca:8080/kfplsite/redesign/menuLeft/manage_main
   - Physical Path: /kfplsite/redesign/menuLeft
  Module DocumentTemplate.DT_String, line 476, in __call__
  Module OFS.DTMLMethod, line 137, in __call__
   - DTMLMethod at /kfplsite/redesign/pythonLeftMenu used for
/kfplsite/redesign/menuLeft
   - URL:
http://www2.kfpl.ca:8080/kfplsite/redesign/pythonLeftMenu/manage_main
   - Physical Path: /kfplsite/redesign/pythonLeftMenu
  Module DocumentTemplate.DT_String, line 476, in __call__
  Module DocumentTemplate.DT_Util, line 196, in eval
   - __traceback_info__: redesign
  Module string, line 1, in expression
  Module Shared.DC.Scripts.Bindings, line 311, in __call__
  Module Shared.DC.Scripts.Bindings, line 348, in _bindAndExec
  Module Products.PythonScripts.PythonScript, line 323, in _exec
  Module None, line 65, in pythonLeftMenuKatie2
   - PythonScript at /kfplsite/redesign/pythonLeftMenuKatie2 used for
/kfplsite/redesign/menuLeft
   - Line 65
AttributeError: 'tuple' object has no attribute 'sort'

 

 

 

 

___
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] sorting

2007-01-25 Thread Andreas Jung



--On 25. Januar 2007 15:03:19 -0500 Kate Legere [EMAIL PROTECTED] wrote:



values=ao.objectItems(items)

values.sort(lambda a,b: cmp(a[0],b[0]))

Error Type: AttributeError
Error Value: 'tuple' object has no attribute 'sort'



This error message is self-explaining. You can only sort lists, not tuples.




Obviously, id isn't really what I wanted to sort by anyway but since I
can't even do that I can't really go on to try to


Look at the 'sequence' module and the 'sequence.sort' method as documented
in the Zope Book 2.7 Edition.

-aj

pgpFjiNhysTd5.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 )


Re: [Zope] Session Timeout Troubles

2007-01-25 Thread Maciej Wisniowski
 I've looked at the debugging page in the control panel, but it doesn't
 tell me anything I recognize as useful.
Are you sure that your authentication uses session? Maybe it uses
cookies? Try to set variable in the session on one page and display this
on the other one. Then wait for 15-20 minutes and see what happens.

Another thing that may cause this is session-resolution-seconds setting
in your zope.conf - this affect session timeout value.

-- 
Maciej Wisniowski
___
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] Captcha Image For Form Verification

2007-01-25 Thread Maciej Wisniowski
 Does anyone if there is a product (specifically for zope) for creating a
 captcha image to verify that an actual human is submitting a form?
 
 I am using zope 2.8.1 with python 2.3.5 on a windows server.  I am
 currently looking into this:
 
 http://captchas.net/sample/python/
AFAIK there is such product for Plone, you may want to take a look at
this.

-- 
Maciej Wisniowski
___
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] Session Timeout Troubles

2007-01-25 Thread Sale, Robin
 
Thank you for your reply.

I'm guessing that yes, Zope is using session cookies in this setup.
Unfortunately, the people who did the original configuration and setup
are no longer with my company, so I can't ask directly. How would I be
able to tell if it's set one way or another? I certainly see nothing
about cookie auth in the zope.conf file. (I'm hitting the Zope server
directly (not going through our Apache front-end) to make sure I'm only
dealing with a Zope issue.

Thanks Again,
Robin


=
Robin Sale, Software Engineer
Specialized Technology Resources, Inc.
10 Water Street
Enfield CT 06082-4899 USA
[EMAIL PROTECTED]

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of
Maciej Wisniowski
Sent: Thursday, January 25, 2007 3:22 PM
To: Sale, Robin
Cc: zope@zope.org
Subject: Re: [Zope] Session Timeout Troubles

 I've looked at the debugging page in the control panel, but it doesn't
 tell me anything I recognize as useful.
Are you sure that your authentication uses session? Maybe it uses
cookies? Try to set variable in the session on one page and display this
on the other one. Then wait for 15-20 minutes and see what happens.

Another thing that may cause this is session-resolution-seconds setting
in your zope.conf - this affect session timeout value.

-- 
Maciej Wisniowski
___
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 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] Session Timeout Troubles

2007-01-25 Thread Maciej Wisniowski
 I'm guessing that yes, Zope is using session cookies in this setup.
 Unfortunately, the people who did the original configuration and setup
 are no longer with my company, so I can't ask directly. How would I be
 able to tell if it's set one way or another? I certainly see nothing
 about cookie auth in the zope.conf file. 
This is done by your acl_users. I don't know what kind of User folder
you're using. You may see this by going to acl_users folder in ZMI and
on the top you should see something like:
'Pluggable User Folder at /path/to/acl_users'

where 'pluggable user folder' is name of your acl_users product.

Depending of what UserFolder (acl_users) you use it may be (or may not
be) possible to configure it to not to use cookies.

Another solution might be to use session hooks (script that is called
when user session expires) to logout the user or you may use different
UserFolder, eg. PAS.

-- 
Maciej Wisniowski
___
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] ColdFusion, ASP, etc with Zope/Plone

2007-01-25 Thread Jaroslav Lukesh

from scratch without google/sf/fm :o)

1. pound with linux and colinux kernel runtime on windows
2. pound with linux under vmware or old pre-M$ virtualPC on windows
3. pound under cygwin on windows
4. squid under windows
5. apache under windows
6. IIS - M$ ISA (?)



- Original Message - 
From: Murdock [EMAIL PROTECTED]

Anyone know of any good open source or very low cost Reverse Proxies that
will run on Windows Server?


___
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] Migrating to Zope 2.10.1 breaks unrestrictedTraverse

2007-01-25 Thread Ian McCracken
I'm trying to get an object by walking a path. Previously, I used 
baseobject.unrestrictedTraverse(path).  Upon migrating to 2.10.1, 
though, doing the same thing often produces the following error:


 File /usr/local/zenoss/Products/ZenModel/Organizer.py, line 148, in 
getOrganizer

   return self.getDmdRoot(self.dmdRootName).unrestrictedTraverse(path) 


 File usr/local/zenoss/lib/python/OFS/Traversable.py, line 259, in 
unrestrictedTraverse

AttributeError: REQUEST


The problem appears to be that the Traversable mixin assumes that 
self.REQUEST will be available; since we're calling it from outside 
Zope, though, there is no request.  Any thoughts? Why was this changed, 
and is there an extant way to get the same result without just writing a 
simple method that walks the path?


Thanks,
Ian McCracken


___
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] ColdFusion, ASP, etc with Zope/Plone

2007-01-25 Thread David Bear
On Thu, Jan 25, 2007 at 05:31:28AM -0800, Murdock wrote:
 
 Thanks for the suggestion, I went to that site and I see that it only works
 on Unix-Like servers. I don't have any of those available in my environment.

you could run vmware and put a linux instance there.

 
 
 
 Jaroslav Lukesh wrote:
  
  - Original Message - 
  From: Murdock [EMAIL PROTECTED]
  I am implementing a new site using Zope/Plone. This site replaces an old 
  one
  built in ColdFusion. The problem that I am having is that a portion of
  our
  site (Our customer login area) will need to remain on ColdFusion for a
  while.
 
  Is their a method to get most things to Zope/Plone but certain folders to 
  go
  to ColdFusion.
 
  Example:
  http://www.domain.com/Customer should go to ColdFusion and actual files
  on
  the server
  everything else at http://www.domain.com should feed into Zope
  
  Use reverse proxy www.apsis.ch/pound
  
  Use directive
  
  UrlGroup Customer.*
  HeadRequire Host www.domain.com.*
  BackEnd IP#_addr_coldfusion,port#_coldfusion,1
  EndGroup
  
  
  ___
  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 )
  
  
 
 -- 
 View this message in context: 
 http://www.nabble.com/ColdFusion%2C-ASP%2C-etc-with-Zope-Plone-tf3084565.html#a8614876
 Sent from the Zope - General mailing list archive at Nabble.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 )

-- 
David Bear
phone:  602-496-0424
fax:602-496-0955
College of Public Programs/ASU
University Center Rm 622
411 N Central
Phoenix, AZ 85007-0685
 Beware the IP portfolio, everyone will be suspect of trespassing
___
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] Migrating to Zope 2.10.1 breaks unrestrictedTraverse

2007-01-25 Thread Andreas Jung



--On 25. Januar 2007 16:12:01 -0500 Ian McCracken [EMAIL PROTECTED] wrote:


I'm trying to get an object by walking a path. Previously, I used
baseobject.unrestrictedTraverse(path).  Upon migrating to 2.10.1, though,
doing the same thing often produces the following error:



Migrating from which version? Provide a unittest that demonstrates the 
behavior on bare Zope installation.


-aj

pgpxaBq33TYIS.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] Re: [Zope-Annce] [ANN] Zope 2.10.2 released

2007-01-25 Thread Andreas Jung



--On 25. Januar 2007 18:37:03 +0100 Andreas Jung [EMAIL PROTECTED] wrote:


The Zope developer community I is pleased to announce the release
of Zope 2.10.2.

You can download Zope 2.10.2 from:

  http://www.zope.org/Products/Zope/2.10.2/

This release uses unicode as internal representation for ZPT. For this
reason you are strongly encouraged to read

http://www.zope.org/Products/Zope/2.10.2b1/Zope-2.10.2_released

carefully.


Sorry for posting a broken link. The correct one is:

  http://www.zope.org/Products/Zope/2.10.2/Zope-2.10.2-released

Andreas

pgp3Mnr1H1RKr.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 )


Re: [Zope-DB] modifications on a query

2007-01-25 Thread Andreas Jung



--On 26. Januar 2007 07:37:25 + Graziella Toutoungis 
[EMAIL PROTECTED] wrote:





Hello,

I use zope2.9.4 with postgresql8.1, in my database i have some tables are
the result  of a query on other tables.  exe: table1 is the result of
table2 with table3

My
user can connect to the database and he can modify the  table1, this
modification should done on the orginals tables table2 and table3
 my
problem is how  i can  specify the origin of the column in table for
verifing that table2 and table3 may this modifications?



Please rephrase your question and point out the Zope specific part of the
question.

-aj

pgpcXrKPpMCqG.pgp
Description: PGP signature
___
Zope-DB mailing list
Zope-DB@zope.org
http://mail.zope.org/mailman/listinfo/zope-db