Re: [Zope] Caipirinha with Zope Sprint in Argentina and Brazil

2011-09-23 Thread Chris McDonough
On Thu, 2011-09-22 at 17:25 -0400, Roberto Allende wrote:
> Hello
> 
> Within PyCon Argentina, Plone Symposium South America and PyCon Brazil
> we will run the "Caipirinha with Zope Sprint" where we'll work on ZTK
> components migration to Python3 and to integrate webob with Zope.

Roberto,

Just FYI, the WebOb master at https://github.com/Pylons/webob has Python
3 support.

- C


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


Re: [Zope] Asynchronous triggering of events

2010-10-19 Thread Chris McDonough
On Tue, 2010-10-19 at 14:13 -0400, Brian Sullivan wrote:
> So I installed 2.11.4 -- the latest that I could find and still the same 
> issue.

Clockserver is actually built into newer Zopes and needn't be installed
separately.  You  configure it by adding stuff to your zope.conf file,
eg.:


method /mysite/do_stuff
period 60
user admin
password secret
host localhost



> I get the impression from the age of the Zope installs, the state of
> disrepair and link rot of the zope.org site that Zope is in its final
> death throes as an independent entity ? I tried to look for an
> independent version of Plone that I can install on an existing Zope--
> the only install I could find is a complete installer including Zope.
> 
> Is Plone the new Zope?

Might want to start a separate thread for all that.

- C


> 
> 
> 
> On Mon, Oct 18, 2010 at 5:27 PM, Chris Withers  wrote:
> > On 18/10/2010 22:25, Brian Sullivan wrote:
> >>
> >> zopetcl -- is that a unix program? I am using Windows unfortunately.
> >
> > It might well be on your version of Zope, it works fine in later versions,
> > though...
> >
> > That said, if you take a look at Stepper, you'll see that I documented how
> > to get it all to work on Windows (use Scheduled Tasks to drive it)
> >
> > cheers,
> >
> > Chris
> >
> > PS: But seriously, how much of a masochist are you? Zope 2.9 on Windows?!
> > ;-)
> >
> > --
> > Simplistix - Content Management, Batch Processing & Python Consulting
> >- http://www.simplistix.co.uk
> >
> ___
> Zope maillist  -  Zope@zope.org
> https://mail.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists - 
>  https://mail.zope.org/mailman/listinfo/zope-announce
>  https://mail.zope.org/mailman/listinfo/zope-dev )
> 


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


Re: [Zope] [Zope-dev] [ZF] Announcement: 2010 Zope Foundation Board Elections and General Meeting

2010-01-22 Thread Chris McDonough
Gah, sorry for the multilist cross-post, this should have gone to the 
foundation list only.

- C

Chris McDonough wrote:
> I nominate Tres Seaver.
> 
> - C
> 
> Tres Seaver wrote:
>> -BEGIN PGP SIGNED MESSAGE-
>> Hash: SHA1
>>
>> (apologies in advance for the cross-post:  we need this to reach the
>> whole Zope community).
>>
>> The Zope Foundation board is pleased to announce the regular 2010
>> general meeting of the foundation will be held on Wednesday, 24 February
>> 2010, at 17:00 UTC.  The meeting will be conducted via IRC at the
>> following channel:
>>
>> irc://irc.freenode.net/#zope-foundation
>>
>> Prior to that meeting, the current board will conduct an elections in
>> which foundation members will select seven (7) board members in
>> accordance with the foundation bylaws[1].
>>
>>
>> Summary
>> - ---
>>
>> - - Nominations open via the foundat...@zope.org mailing list until
>>   Friday, 2010-01-29.
>>
>> - - Voting via e-mail to a closed mailing list, from Wednesday,
>>   2010-02-03 through Friday, 2010-02-19.
>>
>> - - Votes tallied by representatives of the current board,
>>   using "Meek and Warrent STV" method using OpenSTV software.
>>
>> - - General meeting and seating of the new board, Wednesday, 2010-02-24.
>>
>>
>> Procedure for Elections
>> - ---
>>
>> The procedure for the elections is as follows:
>>
>> - - Foundation members may nominate any member by responding to the
>>   board's announcment on the foundat...@zope.org maling list.
>>   Nominations will remain open until Friday, 2010-01-29, 23:00 UTC.
>>
>> - - At the close of the nominations period, the board will create a new
>>   mailman list, 'zf-elections-2010', and approve all ZF members to post
>>   to the list..  In order to preserve anonymity of votes, foundation
>>   members will not be subscribers to the list;  access to the list
>>   archives will be restricted to the "tellers" appointed by the board.
>>
>> - - On Wednesday, 2010-02-03, the Secretary will send an e-mail announcing
>>   the opening of the voting period. This email will contain the ballot,
>>   with careful instructions about how to rank preferences in the reply.
>>   The Reply-to header of this e-mail will be set to the
>>   'zf-elections-2010' list.
>>
>> - - ZF members will vote by replying to that e-mail.  Voting will remain
>>   open until Friday, 2010-02-19, 23:00 UTC.
>>
>> - - At the close of voting, the board will appoint two of its members as
>>   "tellers."  The tellers will use the list archive to tabulate the
>>   members' votes, using the OpenSTV application[2] configured to use the
>>   Meek and Warren STV method[3].  The tellers will report the election
>>   results, along with the raw tallies, at a special board meeting to be
>>   held on Tuesday, 2009-02-23, 15:00 UTC.
>>
>> - - After canvassing the results from the tellers, the board will notify
>>   all nominees of the success / failure of their candidacy, thanking
>>   them for their willingness to serve.
>>
>> - - At the general meeting, the last item on the agenda will the
>>   announcement of the election results, including a vote to "seat" the
>>   board.
>>
>>
>> An online version of this announcement is available at:
>>
>>   http://foundation.zope.org/news/2010_election_and_general_meeting/
>>
>>
>> References
>> - --
>>
>> [1] http://foundation.zope.org/bylaws/zope_foundation_bylaws.pdf
>>
>> [2] http://stv.sourceforge.net/aboutopenstv
>>
>> [3] http://stv.sourceforge.net/votingmethods/meek
>>
>>
>>
>>
>> Tres.
>> - --
>> ===
>> Tres Seaver  +1 540-429-0999  tsea...@palladion.com
>> Palladion Software   "Excellence by Design"http://palladion.com
>>
>> -BEGIN PGP SIGNATURE-
>> Version: GnuPG v1.4.9 (GNU/Linux)
>> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>>
>> iEYEARECAAYFAktZ3V8ACgkQ+gerLs4ltQ6sDQCfbV+M85FnxeiSypdy0WBHle1A
>> 7+sAn2aZoP5pb0sqK4ir84d9rhm09HiO
>> =urx1
>> -END PGP SIGNATURE-
>> ___
>> foundation mailing list
>> foundat...@zope.org
>> https://mail.zope.org/mailman/listinfo/foundation
>>
> 
> ___
> Zope-Dev maillist  -  zope-...@zope.org
> https://mail.zope.org/mailman/listinfo/zope-dev
> **  No cross posts or HTML encoding!  **
> (Related lists - 
>  https://mail.zope.org/mailman/listinfo/zope-announce
>  https://mail.zope.org/mailman/listinfo/zope )
> 

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


Re: [Zope] [ZF] Announcement: 2010 Zope Foundation Board Elections and General Meeting

2010-01-22 Thread Chris McDonough
I nominate Tres Seaver.

- C

Tres Seaver wrote:
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
> 
> (apologies in advance for the cross-post:  we need this to reach the
> whole Zope community).
> 
> The Zope Foundation board is pleased to announce the regular 2010
> general meeting of the foundation will be held on Wednesday, 24 February
> 2010, at 17:00 UTC.  The meeting will be conducted via IRC at the
> following channel:
> 
> irc://irc.freenode.net/#zope-foundation
> 
> Prior to that meeting, the current board will conduct an elections in
> which foundation members will select seven (7) board members in
> accordance with the foundation bylaws[1].
> 
> 
> Summary
> - ---
> 
> - - Nominations open via the foundat...@zope.org mailing list until
>   Friday, 2010-01-29.
> 
> - - Voting via e-mail to a closed mailing list, from Wednesday,
>   2010-02-03 through Friday, 2010-02-19.
> 
> - - Votes tallied by representatives of the current board,
>   using "Meek and Warrent STV" method using OpenSTV software.
> 
> - - General meeting and seating of the new board, Wednesday, 2010-02-24.
> 
> 
> Procedure for Elections
> - ---
> 
> The procedure for the elections is as follows:
> 
> - - Foundation members may nominate any member by responding to the
>   board's announcment on the foundat...@zope.org maling list.
>   Nominations will remain open until Friday, 2010-01-29, 23:00 UTC.
> 
> - - At the close of the nominations period, the board will create a new
>   mailman list, 'zf-elections-2010', and approve all ZF members to post
>   to the list..  In order to preserve anonymity of votes, foundation
>   members will not be subscribers to the list;  access to the list
>   archives will be restricted to the "tellers" appointed by the board.
> 
> - - On Wednesday, 2010-02-03, the Secretary will send an e-mail announcing
>   the opening of the voting period. This email will contain the ballot,
>   with careful instructions about how to rank preferences in the reply.
>   The Reply-to header of this e-mail will be set to the
>   'zf-elections-2010' list.
> 
> - - ZF members will vote by replying to that e-mail.  Voting will remain
>   open until Friday, 2010-02-19, 23:00 UTC.
> 
> - - At the close of voting, the board will appoint two of its members as
>   "tellers."  The tellers will use the list archive to tabulate the
>   members' votes, using the OpenSTV application[2] configured to use the
>   Meek and Warren STV method[3].  The tellers will report the election
>   results, along with the raw tallies, at a special board meeting to be
>   held on Tuesday, 2009-02-23, 15:00 UTC.
> 
> - - After canvassing the results from the tellers, the board will notify
>   all nominees of the success / failure of their candidacy, thanking
>   them for their willingness to serve.
> 
> - - At the general meeting, the last item on the agenda will the
>   announcement of the election results, including a vote to "seat" the
>   board.
> 
> 
> An online version of this announcement is available at:
> 
>   http://foundation.zope.org/news/2010_election_and_general_meeting/
> 
> 
> References
> - --
> 
> [1] http://foundation.zope.org/bylaws/zope_foundation_bylaws.pdf
> 
> [2] http://stv.sourceforge.net/aboutopenstv
> 
> [3] http://stv.sourceforge.net/votingmethods/meek
> 
> 
> 
> 
> Tres.
> - --
> ===
> Tres Seaver  +1 540-429-0999  tsea...@palladion.com
> Palladion Software   "Excellence by Design"http://palladion.com
> 
> -BEGIN PGP SIGNATURE-
> Version: GnuPG v1.4.9 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
> 
> iEYEARECAAYFAktZ3V8ACgkQ+gerLs4ltQ6sDQCfbV+M85FnxeiSypdy0WBHle1A
> 7+sAn2aZoP5pb0sqK4ir84d9rhm09HiO
> =urx1
> -END PGP SIGNATURE-
> ___
> foundation mailing list
> foundat...@zope.org
> https://mail.zope.org/mailman/listinfo/foundation
> 

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


Re: [Zope] HTTP Request Denial of Service Vulnerability

2009-07-24 Thread Chris McDonough
Thanks Ryan!

Were you also able (willing?) to take out the advice to not use Zope in the 
text?  I assume that text shows up whenever a Zope-related vulnerability is 
encountered by the scanner.

- C

On 7/24/09 1:15 PM, ryan_per...@mcafee.com wrote:
> Ok, the final analysis is as follows:
>
> We had an incorrect version regex that matched 2.10 the same as 2.1.  This 
> issue seems to only affect zope version 2.0 through 2.5.01.  This lead to the 
> vulnerability showing up with recent versions of zope being scanned.
>
> We are fixing both the regex and the suggested fix.  The new suggested fix 
> will be to update to the appropriate version of zope (in this case, post 
> 2.5.01), not to replace it with something else.  This fix should be updated 
> within the next week or so.
>
> If you have any further questions pertaining to McAfee (or Foundstone) 
> security reports, please feel free to contact me directly, or via 
> secur...@mcafee.com.  I am not a full time member of this list, so I may not 
> see any replies or questions made only to the list.
>
>
> -Original Message-
> From: Permeh, Ryan
> Sent: Friday, July 24, 2009 9:53 AM
> To: li...@zopyx.com
> Cc: zope@zope.org
> Subject: RE: [Zope] HTTP Request Denial of Service Vulnerability
>
> It is not related the specified hotfix.  I'm getting details now, but this is 
> how it seems:
> 1. this is from the Foundstone product, not a public advisory.  The 
> Foundstone product is a vulnerability scanner, and it seems that it feels 
> that the original poster's site is vulnerable to the stated issue.
> 2. The vulnerability check was written and published in 2002.
> 3. I am looking into details regarding both what the details of this issue 
> originally were, and what we look for to trigger it's existence.
>
> This leads to a couple observations.
>
> 1.  This is likely a false positive, unless the original poster was running 
> ridiculously old software.
> 2. We will fix the check logic or remove the check entirely.  Checks this old 
> rarely add much value to the product
> 3. In any case, if the check stays, we will update the text.  I'm not sure 
> who wrote the original text in 2002, but it obviously doesn't apply now.
>
>
> -Original Message-
> From: Andreas Jung [mailto:li...@zopyx.com]
> Sent: Friday, July 24, 2009 9:43 AM
> To: Permeh, Ryan
> Cc: zope@zope.org
> Subject: Re: [Zope] HTTP Request Denial of Service Vulnerability
>
> Hi,
>
>
>
>
> On 24.07.09 18:24, ryan_per...@mcafee.com wrote:
>> I manage product security at McAfee, of which Foundstone is a part.  I am 
>> not aware of releasing such an advisory, and am looking into this.  Could we 
>> get details regarding where this was found?  Was this posted to a web site?  
>> A security mailing list?  And when was it posted?  This may have a very 
>> different meaning if it was published in 2001 or something like that.  
>> Alternately, Foundstone produces a vulnerability management software, was 
>> this in a report generated by that product?
>>
>>
> I have no idea what you are talking about.
>
> We had this strange mail thread this week:
>
> http://mail.zope.org/pipermail/zope/2009-July/175308.html
>
> related to this hotfix
>
> http://www.zope.org/Products/Zope/Hotfix-2008-08-12
>
> Now how is this related to " HTTP Request Denial of Service Vulnerability" ???
>
> I can not find anything related to the subject within the list of our 
> hotfixes (which is pretty small since 2000):
>
> ___
> 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] HTTP Request Denial of Service Vulnerability

2009-07-19 Thread Chris McDonough
This may be true.  However, I notice that whomever makes the Foundstone website 
can't spell either ("Costumer" for "Customer" in the "How you found out about 
us" dropdown). ;-)  So... guilty till proven innocent as far as I'm concerned.

- C

On 7/19/09 11:45 PM, Ricardo Newbery wrote:
>
> It might be premature to blame this on Foundstone. I can't seem to find
> this security advisory online at all. No advisory id was included nor
> any reference at all and the recommendation doesn't look at all like
> what usually comes from a legit advisory. I smeil a fake.
>
> Ric
>
>
>
> On Jul 19, 2009, at 7:55 PM, Chris McDonough wrote:
>
>> I just sent the below via
>> http://www.foundstone.com/us/contact-form.aspx . I'd
>> suggest that others do the same; this company is totally wrong about this
>> conclusion...
>>
>> You recently issued a security warning to the effect:
>>
>> """
>> = Name =
>>
>> Zope HTTP Request Denial of Service Vulnerability
>>
>> = Description =
>>
>> A vulnerability in Zope may allow a remote attacker to manually
>> shutdown the system.
>>
>> = Observation =
>>
>> The Zope Web Content Management system has been identified with a
>> critical
>> denial of service vulnerability. A malicious attacker could manually
>> shutdown
>> the target system remotely via a custom web HTTP field request. This
>> vulnerability is especially dangerous as the "kill" packet can be
>> completely
>> forged thereby increasing the difficulty when tracking would be
>> intruders and
>> attackers.
>>
>> = Recommendation =
>>
>> Although the Zope development environment is one of the largest and
>> most widely
>> supported open source web content management solutions, it has been
>> plagued with
>> exploitable vulnerabilities. Due to the nature of the software and
>> shear number
>> of vulnerabilities, Foundstone Labs recommends you consider utilizing a
>> different content management solution and at a minimum upgrade your
>> software.
>> Zope updates can be freely downloaded from www.zope.org
>> """
>>
>> Your conclusion here is wrong. This particular "vulnerability" is for
>> Zope
>> installations who offer the ability for *untrusted users* to add code
>> through
>> the web. This is not the default setup; a user needs to explicitly
>> enable such
>> a setup. The conclusion is akin to saying that people should not use Zope
>> because they might do something bad to Zope if they have access to the
>> administrative interface. This is the case with *any* application
>> server or
>> content management system.
>>
>> I'd suggest getting a little more knowledge about your material before
>> scaring
>> folks. The Zope folks do full-disclosure of all vulnerabilities; it's
>> up to you
>> to discern the "scary" ones from the "ho hum" ones. This is definitely
>> a ho-hum
>> one, and in no way deserves this conclusion.
>>
>> On 7/19/09 10:42 PM, Chris McDonough wrote:
>>> I have no idea who "Foundstone Labs" is, nor if the denial of service
>>> vulnerability they're talking about is indeed the one fixed by
>>> http://www.zope.org/advisories/advisory-2008-08-12/ but:
>>>
>>> a) if it is, if you read it closely, you'll note that it's for Zope
>>> instances
>>> where untrusted users have unrestricted access to the ZMI and the
>>> ability to add
>>> Python Scripts. Do you have such a setup?
>>>
>>> b) Zope has historically been *very* secure; this company is utterly,
>>> completely, and hopelessly clueless (nor can they spell "sheer"). If
>>> you want
>>> *real* security horror, I'd suggest taking their advice and
>>> "upgrading" to any
>>> PHP based solution. ;-)
>>>
>>> - C
>>>
>>>
>>> On 7/19/09 10:06 PM, TsungWei Hu wrote:
>>>> I have a Plone 3.2.3 site that runs with Zope 2.10.8 and receive a
>>>> security notice as follows. Is it sufficient to fix this just
>>>> installing
>>>> http://www.zope.org/Products/Zope/Hotfix-2008-08-12 ? Thanks, /marr/
>>>>
>>>> = Name =
>>>>
>>>> Zope HTTP Request Denial of Service Vulnerability
>>>>
>>>> = Description =
>>>>
>>>> A vulnerability in Zope may allow a re

Re: [Zope] HTTP Request Denial of Service Vulnerability

2009-07-19 Thread Chris McDonough
I just sent the below via http://www.foundstone.com/us/contact-form.aspx .  I'd 
suggest that others do the same; this company is totally wrong about this 
conclusion...

You recently issued a security warning to the effect:

"""
= Name =

Zope HTTP Request Denial of Service Vulnerability

= Description =

A vulnerability in Zope may allow a remote attacker to manually shutdown the 
system.

= Observation =

The Zope Web Content Management system has been identified with a critical 
denial of service vulnerability. A malicious attacker could manually shutdown 
the target system remotely via a custom web HTTP field request. This 
vulnerability is especially dangerous as the "kill" packet can be completely 
forged thereby increasing the difficulty when tracking would be intruders and 
attackers.

= Recommendation =

Although the Zope development environment is one of the largest and most widely 
supported open source web content management solutions, it has been plagued 
with 
exploitable vulnerabilities. Due to the nature of the software and shear number 
of vulnerabilities, Foundstone Labs recommends you consider utilizing a 
different content management solution and at a minimum upgrade your software. 
Zope updates can be freely downloaded from www.zope.org
"""

Your conclusion here is wrong.  This particular "vulnerability" is for Zope 
installations who offer the ability for *untrusted users* to add code through 
the web.  This is not the default setup; a user needs to explicitly enable such 
a setup. The conclusion is akin to saying that people should not use Zope 
because they might do something bad to Zope if they have access to the 
administrative interface.  This is the case with *any* application server or 
content management system.

I'd suggest getting a little more knowledge about your material before scaring 
folks.  The Zope folks do full-disclosure of all vulnerabilities; it's up to 
you 
to discern the "scary" ones from the "ho hum" ones. This is definitely a ho-hum 
one, and in no way deserves this conclusion.

On 7/19/09 10:42 PM, Chris McDonough wrote:
> I have no idea who "Foundstone Labs" is, nor if the denial of service
> vulnerability they're talking about is indeed the one fixed by
> http://www.zope.org/advisories/advisory-2008-08-12/ but:
>
> a) if it is, if you read it closely, you'll note that it's for Zope instances
> where untrusted users have unrestricted access to the ZMI and the ability to 
> add
> Python Scripts.  Do you have such a setup?
>
> b) Zope has historically been *very* secure; this company is utterly,
> completely, and hopelessly clueless (nor can they spell "sheer").  If you want
> *real* security horror, I'd suggest taking their advice and "upgrading" to any
> PHP based solution. ;-)
>
> - C
>
>
> On 7/19/09 10:06 PM, TsungWei Hu wrote:
>> I have a Plone 3.2.3 site that runs with Zope 2.10.8 and receive a
>> security notice as follows. Is it sufficient to fix this just installing
>> http://www.zope.org/Products/Zope/Hotfix-2008-08-12 ? Thanks, /marr/
>>
>> = Name =
>>
>> Zope HTTP Request Denial of Service Vulnerability
>>
>> = Description =
>>
>> A vulnerability in Zope may allow a remote attacker to manually shutdown
>> the system.
>>
>> = Observation =
>>
>> The Zope Web Content Management system has been identified with a
>> critical denial of service vulnerability. A malicious attacker could
>> manually shutdown the target system remotely via a custom web HTTP field
>> request. This vulnerability is especially dangerous as the "kill" packet
>> can be completely forged thereby increasing the difficulty when tracking
>> would be intruders and attackers.
>>
>> = Recommendation =
>>
>> Although the Zope development environment is one of the largest and most
>> widely supported open source web content management solutions, it has
>> been plagued with exploitable vulnerabilities. Due to the nature of the
>> software and shear number of vulnerabilities, Foundstone Labs recommends
>> you consider utilizing a different content management solution and at a
>> minimum upgrade your software. Zope updates can be freely downloaded
>> from www.zope.org<http://www.zope.org>
>>
>>
>> 
>>
>> ___
>> 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:/

Re: [Zope] HTTP Request Denial of Service Vulnerability

2009-07-19 Thread Chris McDonough
I have no idea who "Foundstone Labs" is, nor if the denial of service 
vulnerability they're talking about is indeed the one fixed by 
http://www.zope.org/advisories/advisory-2008-08-12/ but:

a) if it is, if you read it closely, you'll note that it's for Zope instances 
where untrusted users have unrestricted access to the ZMI and the ability to 
add 
Python Scripts.  Do you have such a setup?

b) Zope has historically been *very* secure; this company is utterly, 
completely, and hopelessly clueless (nor can they spell "sheer").  If you want 
*real* security horror, I'd suggest taking their advice and "upgrading" to any 
PHP based solution. ;-)

- C


On 7/19/09 10:06 PM, TsungWei Hu wrote:
> I have a Plone 3.2.3 site that runs with Zope 2.10.8 and receive a
> security notice as follows. Is it sufficient to fix this just installing
> http://www.zope.org/Products/Zope/Hotfix-2008-08-12 ? Thanks, /marr/
>
> = Name =
>
> Zope HTTP Request Denial of Service Vulnerability
>
> = Description =
>
> A vulnerability in Zope may allow a remote attacker to manually shutdown
> the system.
>
> = Observation =
>
> The Zope Web Content Management system has been identified with a
> critical denial of service vulnerability. A malicious attacker could
> manually shutdown the target system remotely via a custom web HTTP field
> request. This vulnerability is especially dangerous as the "kill" packet
> can be completely forged thereby increasing the difficulty when tracking
> would be intruders and attackers.
>
> = Recommendation =
>
> Although the Zope development environment is one of the largest and most
> widely supported open source web content management solutions, it has
> been plagued with exploitable vulnerabilities. Due to the nature of the
> software and shear number of vulnerabilities, Foundstone Labs recommends
> you consider utilizing a different content management solution and at a
> minimum upgrade your software. Zope updates can be freely downloaded
> from www.zope.org 
>
>
> 
>
> ___
> 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] repoze.bfg 1.0 released

2009-07-05 Thread Chris McDonough
Summary
---

The first major release of the BFG web framework (aka "repoze.bfg"),
version 1.0, is available.  See http://bfg.repoze.org/ for general
information about repoze.bfg.

Details
---

BFG is a Python web framework based on WSGI.  It is inspired by Zope,
Pylons, and Django.  It makes use of a number of Zope technologies
under the hood.

BFG is developed as part of the more general Repoze project
(http://repoze.org).  It is released under the BSD-like license
available from http://repoze.org/license.html .

BFG version 1.0 represents one year of development effort.  The first
release of BFG, version 0.1, was made in July of 2008.  Since then,
roughly 80 pre-1.0 releases have been made.  None of these pre-1.0
releases explicitly promised any backwards compatibility with any
earlier release.

Version 1.0, however, marks the first point at which the repoze.bfg
API has been "frozen".  Future releases in the 1.X line guarantee
API-level backward compatibility with 1.0.  A backwards
incompatibility with 1.0 at the API level in any future 1.X version
will be considered a bug.

More Details


BFG contains moderate, incremental improvements to patterns found in
earlier-generation web frameworks.  It tries to make real-world web
application development and deployment more fun, more predictable, and
more productive.  To this end, BFG has the the following features:

- WSGI-based deployment: PasteDeploy and mod_wsgi compatible.

- Runs under Python 2.4, 2.5, and 2.6.

- Runs on UNIX, Windows, and Google App Engine.

- Full documentation coverage: no feature or API is undocumented.

- A comprehensive set of unit tests.  The repoze.bfg package contains
   11K lines of Python code.  8000 lines of that total line count is
   unit test code that tests the remaining 3000 lines.

- Sparse resource utilization: BFG has a small memory footprint and
   doesn't waste any CPU cycles.

- Doesn't have an unreasonable set of dependencies: "easy_install"
   -ing repoze.bfg over broadband takes less than a minute.

- Quick startup: a typical BFG application starts up in about a
   second.

- Offers extremely fast XML/HTML and text templating via Chameleon
   (http://chameleon.repoze.org/).

- Persistence-agnostic: use SQLAlchemy, "raw" SQL, ZODB, CouchDB,
   filesystem files, LDAP, or anything else which suits a particular
   application's needs.

- Provides a variety of starter project templates.  Each template
   makes it possible to quickly start developing a BFG application
   using a particular application stack.

- Offers URL-to-code mapping like Django or Pylons' *URL routing* or
   like Zope's *graph traversal*, or allows a combination of both
   routing and traversal.  This helps make it feel familiar to both
   Zope and Pylons developers.

- Offers debugging modes for common development error conditions (for
   example, when a view cannot be found, or when authorization is being
   inappropriately granted or denied).

- Allows developers to organize their code however they see fit; the
   framework is not opinionated about code structure.

- Allows developers to write code that is easily unit-testable.
   Avoids using thread local data structures which hamper testability.
   Provides helper APIs which make it easy to mock framework components
   such as templates and views.

- Provides an optional declarative context-sensitive authorization
   system.  This system prevents or allows the execution of code based
   on a comparison of credentials possessed by the requestor against
   ACL information stored by a BFG application.

- Behavior of an an application built using BFG can be extended or
   overridden arbitrarily by a third-party developer without any
   modification to the original application's source code.  This makes
   BFG a good choice for building frameworks and other "extensible
   applications".

- Zope and Plone developers will be comfortable with the terminology
   and concepts used by BFG; they are almost all Zope-derived.

Excruciating Details


Quick installation:

   easy_install -i http://dist.repoze.org/bfg/current repoze.bfg

General support and information:

   http://bfg.repoze.org

Tutorials

   http://docs.repoze.org/bfg/current/#tutorials

Sample Applications

   http://docs.repoze.org/bfg/current/#sample-applications

Detailed narrative and API documentation:

   http://docs.repoze.org/bfg/current

Bug tracker:

   http://bfg.repoze.org/trac

Maillist:

   http://lists.repoze.org/listinfo/repoze-dev

IRC support:

   irc://irc.freenode.net#repoze

repoze.bfg is developed primarily by Agendaless Consulting
(http://agendaless.com) and a team of contributors.

Special thanks to these people, without whom this release would not
have been possible:

Malthe Borch, Carlos de la Guardia, Chris Rossi, Shane Hathaway, Tom
Moroz, Yalan Teng, Jason Lantz, Todd Koym, Jessica Geist, Hanno
Schlichting, Reed O'Brien, Sebastien Douche, Ian Bicking, Jim Fulton,
Martijn

Re: [Zope] can I use my existing twisted rpc app in zope.

2009-05-03 Thread Chris McDonough
On 5/3/09 12:40 PM, Krishnakant wrote:
>>> On Sat, 2009-05-02 at 20:16 -0400, Chris McDonough wrote:
>> By the way, for the record, you *might* be better off trying to serve up your
>> Twisted app through WSGI and use WSGI middleware to do the
>> authentication/authorization, and what-have-you instead of trying to tie your
>> application into Zope to get those features.
>>
> WSGI?
> what does that exactly do?

Google is your friend.

- C
___
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] can I use my existing twisted rpc app in zope.

2009-05-03 Thread Chris McDonough
On 5/3/09 11:21 AM, Krishnakant wrote:
>> On Sat, 2009-05-02 at 20:16 -0400, Chris McDonough wrote:
>> No, at least without doing "some work" (where "some work" is more than just
>> dropping your code into a directory and expecting Zope to pick it up and 
>> "serve
>> it out").  It will essentially be a rewrite, although maybe with some careful
>> coding you'd be able to reuse most of the existing code.
>
> Yes, that's exactly my point.  I don't mean that I would just drop the
> code into a folder and expect zope to do every thing write.
>
> My question was will I be able to re-use my published objects and their
> functionality by coding it in such a way that zope hosts the twisted
> based rpc server application I already have?

By the way, for the record, you *might* be better off trying to serve up your 
Twisted app through WSGI and use WSGI middleware to do the 
authentication/authorization, and what-have-you instead of trying to tie your 
application into Zope to get those features.

- C

___
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] can I use my existing twisted rpc app in zope.

2009-05-03 Thread Chris McDonough
On 5/3/09 11:21 AM, Krishnakant wrote:
>> On Sat, 2009-05-02 at 20:16 -0400, Chris McDonough wrote:
>> No, at least without doing "some work" (where "some work" is more than just
>> dropping your code into a directory and expecting Zope to pick it up and 
>> "serve
>> it out").  It will essentially be a rewrite, although maybe with some careful
>> coding you'd be able to reuse most of the existing code.
>
> Yes, that's exactly my point.  I don't mean that I would just drop the
> code into a folder and expect zope to do every thing write.
>
> My question was will I be able to re-use my published objects and their
> functionality by coding it in such a way that zope hosts the twisted
> based rpc server application I already have?

Likely no.

> This implies that my application core logic with the sets of Published
> API calls need not change but let's say I add the necessary things to
> make my app a zope product and still have it work as an rpc server?

The application you already have was probably written to an API that assumes 
that the Twisted mainloop is running.  In "normal mode" under Zope, Twisted's 
mainloop is not running.  I'm not even certain that if you use the Twisted HTTP 
server support in Zope whether your application will run without modification. 
Almost certainly if it did it would be "off to the side" unable to use Zope 
authentication services, etc, because the server contacts your code directly 
without indirecting through any Zope "ZPublisher" stuff.  The magic that makes 
authentication services and so on work are basically all wrapped up in 
ZPublisher.  In order to make use of them you'd need to rewrite your 
application 
as a native Zope app.

> I had read somewhere that zope uses twisted, so I thought will my app be
> put into zope as a server product with of course the necessary additions
> to the package to make it a zope product.
>
> So is that possible?

Sorry, not in the way you've described.

- C
___
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] can I use my existing twisted rpc app in zope.

2009-05-02 Thread Chris McDonough
On 5/2/09 7:04 AM, Krishnakant wrote:
>> It's really up to you. Personally, I would recommend looking into
>> either Grok, which is based on Zope 3, or BFG, which is a minimalistic
>> framework using Zope 3 technologies.
>>
>> http://grok.zope.org/
>> http://bfg.repoze.org/
>>
> I see, By the way will 5 help me solve this confusion?

No, it will just confuse you more. ;-)

> I will try and make my problem clear.
> Right now my application is a twisted based rpc server application which
> gives the set of api like setCustomer() getCustomer() etc.
>
> Right now we have created a gtk based thin client which is nothing but
> an rpc client which calls the rpc published objects in the server
> application.
>
> Now if I want to take the entire rpc server based application and put it
> into zope in such a way that my rpc application is not disturbed but the
> features like PAS get integrated, will this be possible?

No, at least without doing "some work" (where "some work" is more than just 
dropping your code into a directory and expecting Zope to pick it up and "serve 
it out").  It will essentially be a rewrite, although maybe with some careful 
coding you'd be able to reuse most of the existing code.

- C

___
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] Styles of import in Zope (2 and 3)

2008-08-30 Thread Chris McDonough
One goal to shoot for when you do imports is to be able to remove an imported
name by deleting a line as opposed to editing one (it makes reading diffs a bit
easier).  E.g. instead of:

  from foo import one, two, three

I usually either do:

  import foo
  foo.one

Or:

  from foo import one
  from foo import two
  from foo import three

Either way makes diffs cleaner.

One thing I always avoid is "from foo import *".

- C


Marco Bizzarri wrote:
> Please, feel free to point me to The Fine Manual to read, if this has
> been answered and written many times.
> 
> After reading the article "Importing Python Modules"
> (http://effbot.org/zone/import-confusion.htm), I had many doubts about
> the style to use in imports in Zope 2 and Zope 3.
> 
> The article points to a style which should be:
> 
> from package.subpackage import module
> 
> and then use
> 
> module.MyClass
> 
> Is this the recomended style in Zope2/3 also?
> 
> Regards
> Marco
> 

___
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: [OT] -C

2008-01-31 Thread Chris McDonough

Peter Bengtsson wrote:



Chris McDonough wrote:
 > Ricardo Newbery wrote:
 >>
 >> On Jan 30, 2008, at 12:59 PM, Tres Seaver wrote:
 >>
[snip]

 >
 > - C
 >
 >
A HA!! That's where that notorious `-C` comes from that we all see in 
the str(REQUEST) on the REQUEST.form part! It's Chris secretly 
influencing our apache rewrite rules somehow.


Dammit!  You figured it out... ;-)

- C

___
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: Zeo and conflict resolution (was "suddenly confused")

2008-01-30 Thread Chris McDonough

Ricardo Newbery wrote:


On Jan 30, 2008, at 12:59 PM, Tres Seaver wrote:


-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Ricardo Newbery wrote:


Has anyone given thought to maybe providing a more general class with
conflict resolution in the core distribution?  The Length class works
for simple counters and I guess it can also be used for just simple
assignments, but what about something more complicated, perhaps with
some sort of factory defined at the moment of instantiation?

Assuming this is even possible, having such a general purpose
conflict resolution class defined in the Zope products directory
might make it easier to distribute a third-party product that needs a
little conflict resolution.  Just a thought.


Custom CR code is *hard* to get right:  most people would be better off
using stock code (e.g., on of the tree types defined in the BTrees
package, or Length).  Those who can get it right aren't likely to need
their hands held.  ;)



I meant easier for the end user, not the developer.  It's kind of 
complicated right now to explain how to set up a ZEO configuration to 
work with your third-party product.  Makes it a bit of hurdle to 
distribute such a thing for general use.


Oops, I just realized that Length won't work for simple assignments as 
the conflict resolution assumes it's trying to resolve a counter (which 
should have been obvious, I know).  Is there zope core class I can use 
for a simple assignment, that maybe resolves conflicts by just picking 
the last value assigned?


There is no such thing as the "last value" during a conflict (only three states: 
what's in the database, and the two conflicting states: what connection1 says, 
and what connection2 says).  If the values are always going to have a __cmp__ 
method or if they can be otherwise compared (like integers), and if you're 
willing to accept the "highest" of the three states, you might use the conflict 
resolution policy of Products.Transience.Transience.py.Increaser.


- C


___
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] problem authenticating, even with emergency user

2008-01-30 Thread Chris McDonough

FWIW, it is typically better to install mysql-python with an --rpath, e.g.

python setup.py build_ext --rpath=/path/to/mysql/lib
python setup.py install

This prevents you from ever needing to set LD_LIBRARY_PATH in programs that use 
the library.  You might need to change the mysql-python's site.cfg file too (to 
be able to find mysql_config).


- C


Dieter Maurer wrote:

Ben Bartrum wrote at 2008-1-29 08:51 -0800:

...
 File "/www/zope/instance2.9.1/Products/ZMySQLDA/db.py", line 89, in ?
   import _mysql
ImportError: ld.so.1: python2.4: fatal: libmysqlclient.so.12: open failed: No 
such file or directory

If on the command line I do: python2.4 -c 'import _mysql' I get: 
ImportError: ld.so.1: python2.4: fatal: libmysqlclient.so.12:

open failed: No such file or directory

But if I do:
setenv LD_LIBRARY_PATH /usr/local/lib/
and then
python2.4 -c 'import _mysql'
it returns no error.

So to get the same effect for Zope, I have tried this in the zope.conf:


LD_LIBRARY_PATH /usr/local/lib/


Unfortunately, this has no effect.  Any ideas?


This is too late.

The dynamic loader looks at "LD_LIBRARY_PATH" on startup
and then caches the value. Later modification have no effect
on the current process.

You need to set "LD_LIBRARY_PATH" before you start Zope.





___
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: suddenly confused

2008-01-30 Thread Chris McDonough

Dieter Maurer wrote:

Ricardo Newbery wrote at 2008-1-29 01:19 -0800:

...
Apologies for jumping late in this thread but how precisely should  
"App.FindHomes" be imported?


Someone else reported about a ZEO patch that does the same thing
without a need to import "App.FindHomes".



That's here:

https://bugs.launchpad.net/zope2/+bug/143770

- C

___
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] Package recommendations (?) for minimal ZCA environment

2008-01-28 Thread Chris McDonough

[EMAIL PROTECTED] wrote:

All:

I figured I would survey this list for recommendations of zope packages
that have minimal dependencies -- specifically for non-web, non-ZODB ZCA
applications.  My criteria for this minimal environment:

1. No ZCML, ZODB, or zope.app.* dependencies.
2. Egg available in cheeseshop; svn is okay too (e.g.
zope.cachedescriptors trunk does not require ZODB; PYPI egg does at the
moment).  I will use zc.buildout and virtualenv for deployment
environment.
3. Not specifically targeted at web applications only.

Currently, I'm using zope.component, zope.interface, zope.schema,
zope.datetime, zope.event, and a related but small set of dependencies
installed from PYPI.

Background: I'm working on a set of components for working with
mass-media content that are to be generically useful across multiple
environments, application frameworks (web and non-web), etc.  The core
of these components depends on some zope 3 libraries, but my goal is to
keep dependencies to a minimum.  


A superset of this minimum framework would be used to deploy components
to specific application environments including basic automation scripts
to move content from one system to another, middleware applications
exposing these components over XML-RPC, web applications in Z3, Django,
and Plone/Z2.

Any recommendations appreciated.  Maybe compiling a list like this is
helpful for the community to reach out to non-Zope python developers too
-- makes the technology more approachable.


Hi Sean!

Some of the ones that we've compiled (visible via http://svn.repoze.org or 
http://dist.repoze.org):


repoze.vhm (virtual hosting services)
repoze.retry (retry a request when an exception is encountered)
repoze.tm2 (transaction management, depends only on the 'transaction' module and 
zope.interface, see also http://repoze.org/tmdemo.html ... note that "repoze.tm" 
depends on all of ZODB, "repoze.tm2" depends on only the smaller packages but 
does the same thing, at the expense of not being compatible with ZODB 3.6)


You might also take a look at repoze.zope2 to service Zope/Plone requests via 
WSGI: http://static.repoze.org/misc/developingwithrepoze-zope2.pdf and check out 
repoze.org in general, as your goals seem to closely align with its.


Also:

IRC:  irc://irc.freenode.net#repoze
maillists: http://lists.repoze.org/listinfo

HTH,

- C




Thanks,
Sean

+--+
 Sean Upton The San Diego Union-Tribune
 619.293.1451Systems Applications Supervisor - Newsroom   
 Information Technology
 350 Camino De La Reina
 San Diego, CA 92108   [EMAIL PROTECTED]

+--+

___
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] Re: suddenly confused

2008-01-19 Thread Chris McDonough


On Jan 19, 2008, at 1:39 PM, Dieter Maurer wrote:


Tres Seaver wrote at 2008-1-18 21:06 -0500:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

David Bear wrote:

I'm doing my first zeo setup, and suddenly I'm not sure about my
products directory. Do I put all products in a products directory of
the zeo server or in each zope instance?


Normally the ZEO server doesn't need to have access to the products,
which are "application code".  The only exception is for products  
which

define classes having application-level conflict resolution:  in such
cases, the ZEO server must be able to import the product (or else the
conflict resolution code is not consulted).


As an additional note:

 Zope uses Python import magic to make packages available
 in "INSTANCE_HOME/Products" as additional products in
 the "Products" package.

 If some of these products need application specific conflict
 resolution, the ZEO server needs to activate this
 import magic -- by importing Zope's "App.FindHomes".


An patch to runzeo that allows INSTANCE_HOME Products to be put on the  
path (but does not require Zope's App.FindHomes is here):


https://bugs.launchpad.net/zope2/+bug/143770

Using this patch, you can create a Products directory in your ZEO's  
instance home and put products in there to service conflict resolution  
while still keeping SOFTWARE_HOME products on the path.  Importing  
App.FindHomes might be a better way to do this.


- C

___
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] ZPL and GPL: What should one consider when choosing a license?

2007-12-21 Thread Chris McDonough


On Dec 21, 2007, at 3:53 PM, Ross Patterson wrote:


Unfortunately, the comment by Chris McDonough mentioned in the latter
doesn't seem to be accessible any more.  I'd love to read it.


It said:

"""
I don't think Plone is "bad" because it uses the GPL. I do think it's  
a pain in the balls to have to ask authors of various GPL things if  
they're willing to relicense ZPL or other BSD-type license in order to  
be able to incorporate their software into CMF or Zope (as required by  
the ZC contributor's agreement in order to check it into either of  
those projects). It just puts up a big enough impediment to sharing  
code that the codebases don't intermingle much.
What's gauche about using the GPL is that at least by default, the  
Plone guys don't need to ask the Zope guys if they can ship their  
software. They get the benefit (or pain ;-) of shipping it all without  
any extra work. But the Zope guys need to go track down the copyright  
owners of various bits of Plone code and get all of their permissions  
to ship their software in CMF or Zope via a relicense. That's just  
hurts collaboration badly. It's anti-sharing which I think is  
practically just gauche.


"""


Now I've gotta run out of here before a licensing discussion breaks  
out. ;-)


- C

___
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] Deploying with buildout

2007-08-28 Thread Chris McDonough


On Aug 28, 2007, at 5:55 PM, Ross Patterson wrote:



Putting these packages in your Zope instance home's "lib/python"
directory should get them found before the others.  For Products, you
can use an additional "products-path" directive in zope.conf and put
files in there.  I don't know how to tell buildout to do either,
though.


But wouldn't that cause problems in this case since zope.app.interface
is a package in two nested-namespace packages.  IOW, wouldn't putting
zope/app/interface in $INSTANCE_HOME/lib/python mean that it was the
only package in the zope or zope.app namespace packages?


Gah.  Yeah.  Sorry.  You might get away with creating and installing  
a custom zope.app.interface-myversion.egg into your Python's site- 
packages dir and using something like:


from pkg_resources import require
require('zope.app.interface = myversion')

... in a script early on or do the equivalent within a .pth file in  
your site-packages dir.  Even after that, you *might* need to munge  
the PYTHONPATH, though, to prevent Zope from finding the one in  
SOFTWARE_HOME first. :-(


I find Ian Bicking's virtual_python.py script very useful for trying  
things like this out.  I usually install both a custom version of  
Python and one or more virtual pythons in my automated scripts (using  
the --no-site-packages flag to virtual_python.py).  This means I can  
let distutils/setuptools packages install to site-packages "normally"  
without polluting the main Python installation's site-packages and so  
I don't need to go through gyrations to munge the PYTHONPATH for them  
to be found somewhere else.  I think buildout tends to prefer  
creating scripts that munge the path.


- C



___
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] Deploying with buildout (was: buildout, instancemanager, and eggs)

2007-08-28 Thread Chris McDonough

On Aug 27, 2007, at 10:59 PM, Ross Patterson wrote:

We have a Plone 3.0/Zope 2.10 application that we need to develop  
on, maintain and

deploy to a ZEO server and multiple ZEO clients.  Currently we use svn
bundles of Zope and Plone and our own packages and products in one big
svn:externals definition.  We also use some more recent versions of
certain products and packages than those included in the upstream
svn:externals.  For example:

Zope svn://svn.zope.org/repos/main/Zope/branches/2.10
Zope/lib/python/zope/app/interface svn://svn.zope.org/repos/main/ 
zope.app.interface/trunk/src/zope/app/interface


Though I haven't seen any documentation to this effect, svn seems to
treat the second svn:externals as a "svn switch" on "svn up".

So one question I have is how would I "override" the versions of some
package like this using buildout?


Putting these packages in your Zope instance home's "lib/python"  
directory should get them found before the others.  For Products, you  
can use an additional "products-path" directive in zope.conf and put  
files in there.  I don't know how to tell buildout to do either, though.



Another question I have is that there aren't releases for all the
dependencies our application has.  I'm wondering what the best way  
is to
define a canonical release for deployment to our cluster.  Ideally,  
we'd

have a buildout (or whatever) on a staging server where we're testing
the candidate for deployment and then when all tests pass that *exact*
source should be deployed to the cluster.


I always use a vendor import for this (to a separate CVS server, I  
don't use SVN).



  How might one do this without
upstream releases?  Is there a way to get buildout and setuptools to
play together so that I can build a source distribution from the test
passing buildout on staging?  Is there a way I can have a buildout on
each cluster node such that a simple ./bin/buildout will get the  
latest

deployment release for that node?


Personally I use a script that knows about all of the revisions of  
all of the products and packages I want to deploy, and which creates  
a "sandbox", downloading and installing all of them (as well as  
creating instances, etc).  It doesn't work very well for upgrades,  
but for starting a sandbox fresh, it's fine.  See http:// 
agendaless.com/Members/chrism/software/buildit and http:// 
www.plope.com/Members/chrism/buildit_example .


- C



___
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] temp_folder not MountTemporaryFolder?

2007-06-24 Thread Chris McDonough
Note also that a patch like this one (against the current Zope 2  
trunk, you may need to change it based on whichever version of Zope  
you're using) might shed more light on where your conflict errors are  
coming from:


Index: lib/python/Zope2/App/startup.py
===
--- lib/python/Zope2/App/startup.py (revision 77024)
+++ lib/python/Zope2/App/startup.py (working copy)
@@ -166,6 +166,9 @@
 conflict_errors,
 unresolved_conflict_errors,
 startup_time)
+from traceback import format_exception
+msg = '\n'.join(format_exception(t, v, traceback))
+conflict_logger.log(level, msg)
 raise ZPublisher.Retry(t, v, traceback)
 if t is ZPublisher.Retry:
 try:


On Jun 24, 2007, at 9:31 PM, Manuel Vázquez Acosta wrote:


Let me see if I got this right:

According to ZODB.Mount.MountPoint: mount points are Zope objects
that, when traversed, accesses a different database.

Do they report themselves as the container-class defined in zope.conf?
I mean, when I traverse to /temp_folder what do I get? Is it the
MountPoint instance or the container-class instance? Where should I
look for this code?

I have "tried" faster but without any luck. I modified OFS.Application
and replaced TransientObjectContainer with
faster.SessionDataContainer, but still I had too many ConflictErrors
(didn't make any measure to compare with TransientObjectContainer).

What I have not grasped yet, is how the whole MountPoint thing works
so that /temp_folder vanishes when Zope dies. This must be a
TemporaryStorage in another DB, accessed thru the MointPoint, but I
have not found where this is done.

Thanks for your response, and best regards,
Manuel.

On 6/24/07, Chris McDonough <[EMAIL PROTECTED]> wrote:

/temp_folder is a "mount point" (see your zope.conf file).

Whether or not you put a session data container inside of a temp
folder, you may get better conflict-related performance out of
"faster", a drop-in replacement for the stock Zope sessioning
machinery...  see http://www.agendaless.com/Members/tseaver/software/
faster/  (but you might not, it depends on the sessioning access
pattern).  In particular "faster" is much better conflict-wise when
sessions are accessed but not changed in the course of a request.

- C

On Jun 24, 2007, at 8:19 PM, Manuel Vázquez Acosta wrote:

> Hi all,
>
> I have been digging into Session Management in Zope, because is
> causing a little overhead. We have develop a Plone Application,  
which

> must respond to 30 concurrent user every 12 seconds, we have setup
> CacheFu and Squid for this.
>
> We have used OpenSTA to stress test the application.
>
> When we run the bench for a non login test, everything goes just  
fine.

> But when run a bench in which a user logs in, we observe too many
> ConflictErrors, which, I thinks, slows too much the application,
> because zope retries the request 3 times.
>
> I have read /temp_folder is RAM based folder, and also that it  
should

> be a MountPoint, but looking at the code and with the help of
> DocFinderTab, I have found /temp_folder is a
> Products.TemporaryFolder.SimpleTemporaryContainer, which seems  
to be

> just a folder in the ZODB... This sould be this way? Does
> /temp_folder/session_data is the RAM based storage?
>
> Best regards,
> Manuel.
> ___
> 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] temp_folder not MountTemporaryFolder?

2007-06-24 Thread Chris McDonough

On Jun 24, 2007, at 9:31 PM, Manuel Vázquez Acosta wrote:


Let me see if I got this right:

According to ZODB.Mount.MountPoint: mount points are Zope objects
that, when traversed, accesses a different database.


You got it.



Do they report themselves as the container-class defined in zope.conf?
I mean, when I traverse to /temp_folder what do I get? Is it the
MountPoint instance or the container-class instance? Where should I
look for this code?


It's the container-class instance (or at least it looks like it when  
you get there, it does a bunch of trickery under the hood).  The  
default container class is  
Products.TemporaryFolder.TemporaryContainer.  You can influence it  
within zope.conf though. One of the container class instances  
(mounted at the /temp_folder mount point) is created within the  
OFS.Application.install_tempfolder_and_sdc method during Zope startup.




I have "tried" faster but without any luck. I modified OFS.Application
and replaced TransientObjectContainer with
faster.SessionDataContainer, but still I had too many ConflictErrors
(didn't make any measure to compare with TransientObjectContainer).


Have you tried putting the session data container *not* in  
temp_folder?  In other words, create a session data container in the  
root of your zodb, then cause the session_data_manager object to  
point at that?  You may observe better performance (with the penalty  
of more storage growth) because FileStorage is typically better at  
resolving conflicts nowadays than TemporaryStorage is.  Note that if  
you're using ZEO, don't put the data container in the root, you will  
only get more conflicts.  Instead, mount a FileStorage somewhere.   
See http://plone.org/documentation/how-to/multiple-plone-sites-per- 
zope-instance-using-separate-data-fs-files-for-each-one for a  
reasonable explanation of how to create new mount points (ignore the  
Ploney bits, only pay attention to steps 1 and 2).


- C

___
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] temp_folder not MountTemporaryFolder?

2007-06-24 Thread Chris McDonough

/temp_folder is a "mount point" (see your zope.conf file).

Whether or not you put a session data container inside of a temp  
folder, you may get better conflict-related performance out of  
"faster", a drop-in replacement for the stock Zope sessioning  
machinery...  see http://www.agendaless.com/Members/tseaver/software/ 
faster/  (but you might not, it depends on the sessioning access  
pattern).  In particular "faster" is much better conflict-wise when  
sessions are accessed but not changed in the course of a request.


- C

On Jun 24, 2007, at 8:19 PM, Manuel Vázquez Acosta wrote:


Hi all,

I have been digging into Session Management in Zope, because is
causing a little overhead. We have develop a Plone Application, which
must respond to 30 concurrent user every 12 seconds, we have setup
CacheFu and Squid for this.

We have used OpenSTA to stress test the application.

When we run the bench for a non login test, everything goes just fine.
But when run a bench in which a user logs in, we observe too many
ConflictErrors, which, I thinks, slows too much the application,
because zope retries the request 3 times.

I have read /temp_folder is RAM based folder, and also that it should
be a MountPoint, but looking at the code and with the help of
DocFinderTab, I have found /temp_folder is a
Products.TemporaryFolder.SimpleTemporaryContainer, which seems to be
just a folder in the ZODB... This sould be this way? Does
/temp_folder/session_data is the RAM based storage?

Best regards,
Manuel.
___
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] smart development & debugging

2007-03-25 Thread Chris McDonough
One 'kickstart' way to get started with something that will build out  
a Zope environment in a repeatable way on UNIX (Linux/BSD/Mac/ 
probably Solaris) is available at http://www.plope.com/static/misc/ 
buildit_example-20070314-1.tgz.  It requires "buildit" at http:// 
www.agendaless.com/Members/chrism/software/buildit/ .  We use this to  
allow individual developers to have dev instances on their own systems.


- C



On Mar 25, 2007, at 8:44 AM, Marco Bizzarri wrote:


On 3/25/07, Roberto Scelzo <[EMAIL PROTECTED]> wrote:


Hi all,
we are developing a couple of zope apps which now
are becoming pretty complex and, unfortunately,
up to now we're developing TTW since we
haven't yet find
a smart & fast way to do our job avoiding the ZMI.
We've searched a lot around but never found a nice guidence or  
howto...


It'll be nice to develop by eclipse...
Anyways, since the last upgrade (zope 2.9) even the external editor
doesn't work anymore. (sob...)

Someone suggested us to use a FS dump product, another one instead  
pointed

us
to zope FS products, but, is there any
article/howto on how to make group development/debugging of middle/ 
large

sized zope apps
a nice and confortable experience?

Thank you!
Roberto



It depends a lot on what you're looking for. You have a number of
different challenges, when you have a team working on a medium to
complex Zope application. I can provide some suggestions based on our
experience with PAFlow, which is the largest application we've
developed so far.

1) develop your application as one or more file system based product;

2) once your application is a file system based product, set up an
svn/cvs for your team;

3) give one or more instance to each of your developer, where he/she
can deploy the application and test it without interfering with the
work of the others; deploy your products inside the Products directory
of the instance, not inside the general Products directory;

4) use Eclipse + PyDev as a development environment;

5) keep in mind that while you're developing your application it will
happen that you will have to test with different releases of Zope, and
you should be able to do so in a simple way.

Hope this can help. I can provide more details on our working
enviroment, if you're interested.

Regards
Marco

--
Marco Bizzarri
http://iliveinpisa.blogspot.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 )



___
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: zope document management

2007-01-03 Thread Chris McDonough
I don't know much about the status of LocalFS but another product you  
might want to look at is here:


http://www.plope.com/software/blob/

On Jan 3, 2007, at 5:31 PM, pol wrote:


Dieter Maurer wrote:

Maybe, you have a look at "LocalFS".



It seems to be not compatible with zope 2.9.6
I have copied the LocalFS-1.3-andreas.tar.gz into the products, but
it's not even shown in Control Panel -> Product Management list.

Have i missed anything?

Thank you
--
Pol


___
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] My Sad Tale Of Woe

2006-11-29 Thread Chris McDonough

Put a file named "access" in your Zope instance home with the content:

emergency:123

You should be able to log in as the "emergency user" at that point  
and change the "admin" user's password.


- C


On Nov 29, 2006, at 2:59 PM, Nancy Donnelly wrote:


757575
Hi;
Is anybody out there reading this list? Third question today, no  
responses, and boy am I in trouble. I went to backup my server's  
working HD on my new .5 teraflop HD and for some reason that wiped  
out the /var dirs in my Zope instances. I have backups of the  
Data.fs that aren't too old, but for some reason I can't get a  
working copy of Zope installed! I follow the tar, configure, make,  
make install, make instance without throwing anything special at  
the configure, then I edit zope.conf to enter the correct effective- 
user, but when I go to runzope, it throws a cPersistence error.  
Well, I yahoo'd that and found out I had to run "python setup.py  
build_ext -if" to knock it out. But why should I have to do that at  
all? That's not standard procedure. Anyway, I got past that point,  
but now when I try runzope I get the error that follows. And I've  
tried every way I can think of to get around it. All the  
permissions are correct. Once I actually got to the point where it  
said Zope was ready to serve, could surf to the  
111.222.333.444:8080 page, but try to get into the "manage" page  
and it won't accept my username/password. I ran zpasswd.py and  
still couldn't get in! Guys, I'm exhausted. I've been at this for  
10 hours! Any help would really be appreciated.

Nancy

[EMAIL PROTECTED]:local/www/clients (103) ./bin/runzope
Traceback (most recent call last):
  File "/usr/local/src/Zope-2.9.6-final/lib/python/Zope2/Startup/ 
run.py", line 56, in ?

run()
  File "/usr/local/src/Zope-2.9.6-final/lib/python/Zope2/Startup/ 
run.py", line 21, in run

starter.prepare()
  File "/usr/local/src/Zope-2.9.6-final/lib/python/Zope2/Startup/ 
__init__.py", line 98, in prepare

self.startZope()
  File "/usr/local/src/Zope-2.9.6-final/lib/python/Zope2/Startup/ 
__init__.py", line 257, in startZope

Zope2.startup()
  File "/usr/local/src/Zope-2.9.6-final/lib/python/Zope2/ 
__init__.py", line 47, in startup

_startup()
  File "/usr/local/src/Zope-2.9.6-final/lib/python/Zope2/App/ 
startup.py", line 60, in startup

DB = dbtab.getDatabase('/', is_root=1)
  File "/usr/local/src/Zope-2.9.6-final/lib/python/Zope2/Startup/ 
datatypes.py", line 280, in getDatabase

db = factory.open(name, self.databases)
  File "/usr/local/src/Zope-2.9.6-final/lib/python/Zope2/Startup/ 
datatypes.py", line 178, in open

DB = self.createDB(database_name, databases)
  File "/usr/local/src/Zope-2.9.6-final/lib/python/Zope2/Startup/ 
datatypes.py", line 175, in createDB

return ZODBDatabase.open(self, databases)
  File "/usr/local/src/Zope-2.9.6-final/lib/python/ZODB/config.py",  
line 97, in open

storage = section.storage.open()
  File "/usr/local/src/Zope-2.9.6-final/lib/python/ZODB/config.py",  
line 135, in open

quota=self.config.quota)
  File "/usr/local/src/Zope-2.9.6-final/lib/python/ZODB/FileStorage/ 
FileStorage.py", line 112, in __init__

self._lock_file = LockFile(file_name + '.lock')
  File "/usr/local/src/Zope-2.9.6-final/lib/python/ZODB/ 
lock_file.py", line 60, in __init__

self._fp = open(path, 'w+')
IOError: [Errno 13] Permission denied: '/usr/local/www/clients/var/ 
Data.fs.lock'



Cheap Talk? Check out Yahoo! Messenger's low PC-to-Phone call rates.
___
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] Re: zope fork in external method - mysql connection dropped

2006-10-16 Thread Chris McDonough
You might also try running zope under runzope instead of under  
zopectl.  IIRC zopectl itself sets signal handlers and performs a  
fork before starting zope, so the inherited environment may not be  
what you think it is.


- C

On Oct 16, 2006, at 4:31 PM, Daniel Lopez wrote:



I made one tweak to the double-fork procedure, adding a waitpid  
call in the grandparent process (the original zope thread) before  
it returns out of the external method... the code then looked  
something like:


[...prefork code up to here...]
pid1 = os.fork()
if pid1 > 0:
   #grandparent waits for its child before returning
   os.waitpid(pid1, 0)
   return RESPONSE.redirect("wait_page")
pid2 = os.fork()
os.setsid()
if pid2 > 0:
   #child quits, orphaning grandchild
   sys.exit(0)
[...grandchild-only code after here...]

The waitpid call seems to be preventing the zombies... this is  
good! (though if you find something bad about this approach, please  
do speak up)


But in the process, a new bug was created, having to do with the  
MySQL connection.  I now receive a "Lost connection to MySQL server  
during query" error in what appears to be a final db flush from the  
grandparent's publish function (ZPublisher.Publish, line 104).  The  
good news is that the grandchild continues to do it's work, but the  
bad news is that the user receives an error page instead of the  
redirect to the "wait_page".


My guess is that this has something to do with the various forked  
processes sharing the MySQL connection, and in particular, I'm  
guessing the child process that exit(0)'s is closing the  
connection, which is then unavailable when the grandparent tries to  
use it.


Here's the interesting part: if I put a sleep(1) line in between  
the waitpid() line and the return line, I get no error.  It would  
appear that the 1 second pause provides enough time for a new MySQL  
connection to be made after the previous one is killed (less than 1  
second is not enough).


This is a very ugly fix, though... I can't guarantee that 1 second  
will always be enough... can anyone suggest a cleaner solution?   
Perhaps I shouldn't kill the child with sys.exit(0)?


-Daniel



On Fri, 13 Oct 2006, Jonathan wrote:

Pls keep your posts on the list  - so that others can help and so  
that others can search for problems/solutions!

- Original Message -
Sent: Friday, October 13, 2006 12:13 PM
Subject: zope fork in external method

Jonathan-
I'm emailing you because I saw your post a few months back at:
http://mail.zope.org/pipermail/zope/2006-May/166574.html
I've been doing my best to find answers on existing posts, but to  
no avail. Perhaps you can send further pointers?
On my system, a user can hit a page that initiates a long  
database query. If the user hits the stop button and tries to  
refresh, it messes things up (by interrupting the code upon  
return of the query), so I came up with a solution that almost  
works:
I put all the code into an external method, which forks.  The  
parent returns a redirect to a "waiting" throbber page that uses  
Ajax to poll whether the query is done.  The child then goes on  
to do the hard work.
This is working as desired, with a single exception: zombie child  
processes. Where can I learn more about forking processes in zope  
external methods? I've read about the double-fork method, but  
that hasn't resolved the problem...

A few ideas for reaping dead child processes:
1) implement a SIGCHLD handler
2) when a spawned child process is finished its 'zope processing'  
have it write its process id to a file (be careful when accessing  
files, you will need locking to eliminate problems that may be  
caused by zope's multiple threads) and then have a clean up  
routine which kills all of the processes listed in the file (this  
could be an independant clean-up routine which wakes up on a  
regular basis, or it could be built into the 'spawning' process  
which does the clean up before it spawns a child).
3) as the last thing it does, have the child process issue a kill  
-9 system command to kill its own process (I haven't tried this  
myself, but it may work and it would be simple to implement)

Good luck!
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 )



___
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] TimerService/ZopeScheduler runs but doesn't run scripts......

2006-10-02 Thread Chris McDonough

Forget it.  You're on Windows.  nevermind.

- C

On Oct 2, 2006, at 11:42 AM, michaelntmilne wrote:


Hi

I've set up ZopeScheduler and TimerService to run a basic pack the  
ZODB script based on a time period. It won't run for some reason.  
TimerService starts up fine and listend.


I get this in the log but no info on a script being run. I have the  
correct path and time info in ZopeScheduler. Zope 2.8.7 Windows.


Thanks

2006-09-30T13:20:09 INFO ZopeScheduler Process timer tick at Sat  
Sep 30 13:20:09 2006


--
2006-09-30T13:30:09 INFO ZopeScheduler Process timer tick at Sat  
Sep 30 13:30:09 2006


--
2006-09-30T13:40:09 INFO ZopeScheduler Process timer tick at Sat  
Sep 30 13:40:09 200ch

___
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] TimerService/ZopeScheduler runs but doesn't run scripts......

2006-10-02 Thread Chris McDonough
Yu could instead use ClockServer... it's built in to Zope 2.10 but  
can be used in older versions via a product... see http:// 
www.plope.com/software/ClockServer/ for code and docs.


- C

On Oct 2, 2006, at 11:42 AM, michaelntmilne wrote:


Hi

I've set up ZopeScheduler and TimerService to run a basic pack the  
ZODB script based on a time period. It won't run for some reason.  
TimerService starts up fine and listend.


I get this in the log but no info on a script being run. I have the  
correct path and time info in ZopeScheduler. Zope 2.8.7 Windows.


Thanks

2006-09-30T13:20:09 INFO ZopeScheduler Process timer tick at Sat  
Sep 30 13:20:09 2006


--
2006-09-30T13:30:09 INFO ZopeScheduler Process timer tick at Sat  
Sep 30 13:30:09 2006


--
2006-09-30T13:40:09 INFO ZopeScheduler Process timer tick at Sat  
Sep 30 13:40:09 200ch

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

2006-09-29 Thread Chris McDonough
See also http://www.zope.org/Wikis/DevSite/Proposals/ 
FasterStaticContentServing


On Sep 29, 2006, at 10:48 AM, Stefan H. Holek wrote:

The point of stream iterators is not the chunk size, but that they  
are handed to Medusa (ZServer) right away. As a result the Zope  
thread is immediately freed to serve new requests, while ZServer  
takes care of streaming the data to the client.


Stefan


On 29. Sep 2006, at 15:14, Pascal Peregrina wrote:


Hi,

I would like to know what is the use of implementing the
Zpublisher.Iterators.IStreamIterator on the object returned as the  
body of a

HTTP response.

As far as I could read the Zope code (Zserver, etc), this will  
make the

response data to be sent 64k at a time.

So will this improve performance/concurrency in any way for >64k  
data HTTP

responses?


--
Anything that, in happening, causes itself to happen again,
happens again.  --Douglas Adams


___
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] Mac OS X SystemStarter interface

2006-09-25 Thread Chris McDonough
Just tell launchd to start runzope.  Launchd is just a process  
starter that requires the program start in the foreground (which  
runzope does).


- C

On Sep 25, 2006, at 8:01 PM, Perry Smith wrote:

I am new to this but I have not seen how the "runzope" or zopectl  
start commands are done at system startup.  Mac OS X has its own  
system(s).  The old is called SystemStarter and the new is called  
launchd.  SystemStarter requires a directory and a few simple  
files.  I'm not sure what launchd requires.


Is there a need to implement these or has it already been done?   
How do most people do it on the various unix/linux versions?


If not, I'll take a swag at it if others feel they could use it.

Perry Smith
Ease Software, Inc.
[EMAIL PROTECTED]
http://www.easesoftware.com

SATA Products for IBMs RS/6000, pSeries, and AIX systems



___
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] Simple high-level question - mabye about WEBDAV?

2006-09-14 Thread Chris McDonough

How does it not work?

Webfolders doesn't allow setting permissions on folders or files on a  
share.  You'll need to do this through Zope's security interface via  
a browser.


I suspect the situation is this: you will likely need a need a  
content management or a fat client or both if you want users to be  
able to manage security via a "normal" (nothing really normal about  
it, IMO, but...) Explorer window.


Zope has a completely different security model than either UNIX or  
Windows, so something needs to map its notion of security to the  
client's.  Plain-old-webfolders won't help here.


I wonder why you don't just use a Windows share here?  What does Zope  
give you that it wouldn't in this case?


- C

On Sep 14, 2006, at 1:53 PM, Steve wrote:


Chris McDonough wrote:

OK, well, Zope works out of the box with DAV clients, so...

I've read that too... but (maybe I'm just being dumb here) I can't
connect to my zope server via the "Add Network Place" wizard just by
specifying a URL for my zope-server which my web-browser accesses  
fine.

Can you point me at a how-to?  How does this integrate with
permissions?  Will I need a web-based interaction to set-up ACLs  
for files?






___
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] Simple high-level question - mabye about WEBDAV?

2006-09-14 Thread Chris McDonough

OK, well, Zope works out of the box with DAV clients, so...

(and please keep conversations on the list)...

- C

On Sep 14, 2006, at 1:32 PM, Steve wrote:


Chris McDonough wrote:

Take a look at Plone Desktop from enfold systems...


Thanks for the suggestion... that's interesting, but far more involved
than what I'm aiming for... For example, I definitely don't want to
require any special client software, and a big feature of the Plone
Desktop seems to be integration with the Win32 file-system - whereas I
don't need that per-se... any user-friendly UI would suit me just  
fine.


I guess I might have better described that I what this to be a bit  
like

an https based ftp-site with file uploads and downloads etc...  a
simple, secure mechanism for exchange of arbitrary files between users
of the portal... I don't really need or want content-management per- 
se


Steve





___
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] Simple high-level question - mabye about WEBDAV?

2006-09-14 Thread Chris McDonough

Take a look at Plone Desktop from enfold systems...

On Sep 14, 2006, at 12:08 PM, Steve wrote:


I am looking to extend a zope portal to allow authenticated users to
upload/download files... the idea being to support a shared drive
containing various files available over HTTPS and available anywhere
there is web-access.  Ideally this notional 'web-drive' should be
accessible using Windows "Web Folders" -but I'd also like for it to
support ACL-style permissions with respect to file-access by other
authenticated users.

Are there any "products" which already address this requirement?


___
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] Can't stop Zope, machine hanging

2006-09-13 Thread Chris McDonough


On Sep 13, 2006, at 1:57 PM, Ken Ara wrote:


I have a new problem but it's related, so I'll keep
this thread alive.

To recap: possibly due to some network problems at my
hosting provider, my Zope would periodically stop
responding and I was unable to stop, restart or kill
it, or even restart the machine remotely. I am
operating within a FreeBSD jail. Finally, I was given
a password to the main os environment, allowing me to
restart, which I have needed to do once.

While waiting for my ISP to resolve his problems, I
thought it would be a good idea to relieve any excess
strain on Zope. Part of the strategy involved setting
Squid to ignore no-cache headers. Call me an
anti-social protocol violator, but it's still my
website and I set the caching headers according to the
page update schedule. But I digress.

Anyway, with response times improved, friendly search
engines went into a feeding frenzy and within 48 hours
my ZODB had reached 9GB. Packing time...



Ouch.  What on your site generates these writes?



Now, perhaps due to the machine restart I get the
following error when attempting to pack:

Traceback (innermost last):
  Module ZPublisher.Publish, line 101, in publish
  Module ZPublisher.mapply, line 88, in mapply
  Module ZPublisher.Publish, line 39, in call_object
  Module App.ApplicationManager, line 428, in
manage_pack
  Module ZODB.DB, line 555, in pack
  Module ZODB.FileStorage, line 1570, in pack
  Module ZODB.fspack, line 700, in pack
  Module ZODB.fspack, line 455, in findReachable
  Module ZODB.fspack, line 475, in buildPackIndex
  Module ZODB.fspack, line 166, in checkTxn
  Module ZODB.fspack, line 161, in fail
CorruptedError:
/usr/local/www/Zope/zope01/var/Data.fs:3116771801:time-stamp
reduction: 0x03681c50ebb292dd <= 0x03681c530eb31b99

The bulk of the database was added following the
restart so truncating may not be realistic. I haven't
tried - was it fsrecover? - what is the current best
tool or strategy?


Fsrecover is a good thing to try.  Note that I believe this error  
indicates that your system's clock "went back in time" significantly  
between two transactions.  You're using a fairly old version of Zope,  
so I don't know what provisions its ZODB has to protect you against  
this sort of thing; I do know that some work was put into dealing  
with this sort of case at some point.


- C

___
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 data

2006-09-09 Thread Chris McDonough
You raised an exception.  Exceptions cause the current transaction to  
abort, which causes the changes you've made to the session to be  
thrown out.


Use request.RESPONSE.redirect(context.some_script.absolute_url())  
instead.


- C

On Sep 9, 2006, at 6:26 PM, Anton Y. Yakovlev wrote:


Hi!

>From Script (Python) object:

request.SESSION[ 'some_data' ] = some_data;
raise 'Redirect', context.some_script.absolute_url();

Why session object does not store data after redirect?

-- Regards, Anton Yakovlev
___
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] Hanging site

2006-09-08 Thread Chris McDonough
FWIW, this message is raised when ZServer detects that the headers  
are too long.  It is intentional and can be controlled up or down  
using the "http-header-max-length" directive in zope.conf.


- C



On Sep 8, 2006, at 3:44 PM, Dieter Maurer wrote:


Chris Withers wrote at 2006-9-8 07:46 +0100:

...
and got this entry on the last "hangup":


2006-09-06T19:44:34 ERROR(200) ZServer uncaptured python exception,
closing channel 
(exceptions.ValueError:HTTP headers invalid (too long) (got: 8760  
bytes,

allowed 8192 bytes
[/sw1/packages/python235/lib/python2.3/asyncore.py|read|69]
[/sw1/packages/python235/lib/python2.3/asyncore.py| 
handle_read_event|390]

[/sw1/packages/python235/lib/python2.3/asynchat.py|handle_read|148]
[/sw0/sbzope_3_2/lib/python/ZServer/HTTPServer.py| 
collect_incoming_data|378])


Ah, so you're exposing Zope to the big wide internet without a
protective proxy like Apache in from?


I have seen this kind of error *ALTHOUGH* we do have Apache
in front of Zope -- probably, because Apache is less stupid
about the header size than Zope.



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


Re: [Zope] Re: Zope hangs when database takes too long to respond

2006-09-06 Thread Chris McDonough


On Sep 6, 2006, at 5:54 PM, Jonathan wrote:

Well, by those standards, I propose he look at Delphi too... ;-)


Do you mean he should consult the Oracle?   ;-)


Sure, why not, while he's at it? ;-)  We can probably even haul in  
Interbase.




P.S.  I really was trying to be helpful


Sure, I just wanted to provide a counterpoint so he didn't go off and  
waste time researching Twisted with the belief that there was some  
way he could "use twisted" without essentially abandoning his current  
codebase; not that he shouldn't use Twisted or whatever, it's just  
that the problem can likely be solved within Zope without abandoning  
what he has already.


- C


___
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: Zope hangs when database takes too long to respond

2006-09-06 Thread Chris McDonough


On Sep 6, 2006, at 5:47 PM, Jonathan wrote:
Unless he wants to rewrite his application, Twisted likely won't   
help, right?


Twisted is, as i said "Another possible solution" - yes it will  
require work to integrate, but it is still a potential solution.  I  
don't like to tell people what to do, i just try to provide  
alternatives.


Well, by those standards, I propose he look at Delphi too... ;-)

- C

___
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: Zope hangs when database takes too long to respond

2006-09-06 Thread Chris McDonough

On Sep 6, 2006, at 5:30 PM, Jonathan wrote:



Another possible solution is to have a look at twisted:

http://twistedmatrix.com/projects/core/documentation/howto/faq.html


Unless he wants to rewrite his application, Twisted likely won't  
help, right?


The OP may also want to see why his MySQL queries are taking "so  
long" by using the MySQL query log and its optimizer.


One potential solution to the immediate "cant access the ZMI when I  
have all threads tied up in long-running code" problem is Zope "zodb  
connection policies", which is an idea that I proposed several years  
ago but never got around to implementing fully.  Essentially, you'd  
be able reserve a ZODB connection for "management" requests.


- C

___
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] Digital signature and Plone/Zope

2006-08-28 Thread Chris McDonough
Oops, I suppose that wasn't a very helpful response.  I'll note that  
we used OpenSSL on the server side to verify the signature created by  
CAPICOM via:


openssl smime -verify -inform PEM -CAfile /path/to/ca_cert -content  



There was a bunch of buggery on the client side to get the  
 into a format that it could be read.  *This* is the  
code that I won't even look at again without getting paid to do it. ;-)


- C

On Aug 28, 2006, at 12:07 PM, Chris McDonough wrote:

I indeed have experience doing *exactly* this, but I'd never do it  
again; at least not without getting paid to do it. ;-)


- C

On Aug 28, 2006, at 10:25 AM, harshad behere wrote:

We are trying to implement digital signatures in zope application  
(Plone).  Configuration is as follows:

Python 2.3.5 / Zope 2.7.8 / Plone 2.1.3

On client side we are using CAPICOM ( so currently restricted to  
MS-IE, not able to get it working with mozilla based browser) to  
sign data. We are facing problem in verifying digitally signed  
data ( by CAPICOM ) on server side. We are using LINUX on server  
side. So far we have tried M2Crypto/SMIME, pyOpenSSL, SSLCrypto,  
pyCrypto etc. but no luck.


Does any one have  experience of implementing digital signature in  
zope/plone ?

Does any one know other OpenSource tool which works with CAPICOM.

Any kind of help/pointers/suggestions/comments are very much  
appreciated.


Thank you,
Harshad.

--
Harshad Behere

ZeOmega (www.zeomega.com)
Open Minds' Open Solutions

20/21,Rajalakshmi Plaza,
South End Road,
Basavanagudi
Bangalore-560 004
India

___
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] Digital signature and Plone/Zope

2006-08-28 Thread Chris McDonough
I indeed have experience doing *exactly* this, but I'd never do it  
again; at least not without getting paid to do it. ;-)


- C

On Aug 28, 2006, at 10:25 AM, harshad behere wrote:

We are trying to implement digital signatures in zope application  
(Plone).  Configuration is as follows:

Python 2.3.5 / Zope 2.7.8 / Plone 2.1.3

On client side we are using CAPICOM ( so currently restricted to MS- 
IE, not able to get it working with mozilla based browser) to sign  
data. We are facing problem in verifying digitally signed data ( by  
CAPICOM ) on server side. We are using LINUX on server side. So far  
we have tried M2Crypto/SMIME, pyOpenSSL, SSLCrypto, pyCrypto etc.  
but no luck.


Does any one have  experience of implementing digital signature in  
zope/plone ?

Does any one know other OpenSource tool which works with CAPICOM.

Any kind of help/pointers/suggestions/comments are very much  
appreciated.


Thank you,
Harshad.

--
Harshad Behere

ZeOmega (www.zeomega.com)
Open Minds' Open Solutions

20/21,Rajalakshmi Plaza,
South End Road,
Basavanagudi
Bangalore-560 004
India

___
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] Using eggs in a Zope instance

2006-08-10 Thread Chris McDonough

Can you not just copy the egg file to $INSTANCE/lib/python?

- C

On Aug 10, 2006, at 4:41 AM, Anton Stonor wrote:

Python eggs are fun and powerful. However, there is one thing I  
can't get right when using them for Zope projects:


Sometimes I would like eggs to live in $INSTANCE/lib/python instead  
of site-packages. E.g. if different instances needs different  
versions of a package.


However, easy_install won't install them there, because $INSTANCE/ 
lib/python is not in the PYTHONPATH.


And I don't want to extend PYTHONPATH to include all my $INSTANCE/ 
lib/python's -- that would prevent the different version pr.  
instance approach.


How does you egg front runners deal with this?

I'm on Windows if that matters.


/Anton

___
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] Zope 2.9 Product Refreshing

2006-08-08 Thread Chris McDonough
FWIW, the session data problem can be solved with the use of a ZODB
session data container that is not stored in RAM  (e.g. an SDC that is
not /temp_folder/session_data), or a reimplentation of a session manager
that uses a relational database or the filesystem.

The proxy error issue should be solved by using multiple Zope servers
and a load balancer which allows you to remove each from the service
pool before restarting it.

- C

On Tue, 2006-08-08 at 12:24 +0200, Lennart Regebro wrote:
> On 8/8/06, James Davies <[EMAIL PROTECTED]> wrote:
> > People pay large sums of money for us to host there critical business
> > infrastructure. If we have to restart zope for any reason, people get apache
> > proxy errors and lose session data.
> 
> Well, right the session data would be annoying.
> But still, most companies do accept that you schedule upgrades, and I
> still would like to know what kind of business can't accept a
> one-minute scheduled outage from time to time. I sure never have met
> one.
> 

___
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: FastCGI server crashing

2006-08-08 Thread Chris McDonough
On Tue, 2006-08-08 at 12:03 +0200, Tonico Strasser wrote:
> Jens Vagelpohl schrieb:
> > ... FastCGI is no longer a supported configuration.
> 
> Just out of curiosity, why isn't it supported anymore?

Mostly because nobody stepped up to support it.

- C


___
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 2.9 Product Refreshing

2006-08-07 Thread Chris McDonough

On Aug 7, 2006, at 5:57 PM, John Schinnerer wrote:

Since I never knew the refresh tab was a fragile hack, it always  
worked fine for me... :-)


Bliss!  I'm happy for you!  FWIW, you've just had it nail you now,  
whereas I'd had it nail me four years ago, and swore it off then. ;-)




Are you saying that a "really good" solution for this is in the  
hands of python developers, not zope developers?


Yes.

In that case it seems far off, if ever, since zope is only one of  
many many applications using python.


There are many non-Zope applications that could benefit from better  
reload support in Python including any application that could benefit  
from running continuously without restart.  Improving Python this way  
is a "rising tide floats all boats" sort of thing, maybe worthy of  
some sort of sprint at PyCon or something like it.



I would settle for another fragile hack that works, I guess.
The volume of posts so far would seem to indicate that it's not a  
trivial topic...


Honestly I have no idea how trivial or nontrivial fixing the current  
Refresh implementation is, and frankly (shame on me, yes, I'm  
selfish, I'm sorry) I don't care.  It doesn't hurt me because I don't  
develop using all of Plone often, so my startup times are reasonably  
acceptable.  Even if I did develop using all of Plone often, I'd  
likely try to find the root causes of the slow startup and fix them  
or fix Python rather than fixing the Zope Rrefresh implementation.
I realize that by having that position, I'm likely in the minority as  
a consumer, but unfortunately for those consumers, my position is  
likely shared by the majority of producers (core developers). ;-)


- C

___
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 2.9 Product Refreshing

2006-08-07 Thread Chris McDonough
The real effort towards making a "better refresh" should likely be  
spent at the level of the Python interpreter.  The dynamic nature of  
Python is the thing that allows for a "refresh" in the first place,  
but the implementation of Python object references limits its  
usefulness.


The implementation of "reload" could be vastly improved by changing  
Python internally to allow for a sort of mark-and-sweep reload that  
could traverse an object graph full of references between an object  
and the modules that it is declared in.  Anything else will likely be  
too fragile to work in all cases.


On Aug 7, 2006, at 4:36 PM, John Schinnerer wrote:


Aloha,


Refresh always works, at least the explicit refresh (do not know
about the automatic one which I have never used).


I'm on 2.7 and yes, the explicit and *very* useful refresh tab in  
the ZMI seems to work fine in production mode also.


I do not remember fondly the old days (2.4, 2.5) of having to  
restart zope for every little product change/tweak/debug effort  
during development, or when doing a minor product upgrade to  
production server.


I was going to upgrade to 2.9 very soon but now may go only to 2.8.
I don't have the technical chops to work on a refresh solution in  
2.9+, however I heartily support such efforts from those of you who  
also see it as an important issue.


cheers,
John S.


--

John Schinnerer - MA, Whole Systems Design
--
- Eco-Living -
Whole Systems Design Services
People - Place - Learning - Integration
[EMAIL PROTECTED]
http://eco-living.net
___
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] Filling Out a PDF

2006-08-03 Thread Chris McDonough

Hi,

This product:

http://www.reportlab.com/pagecatcher_index.html

seems like what you want... it's written in Python.

- C

On Aug 3, 2006, at 3:52 PM, Muk Yan wrote:


Dear Knowledgeable Zope Zealots,

Thanks for pointing me in the right direction last time, I just  
didn't know that I should have searched for zsql instead of sql.


I've racked my brain and searched the great vastness to no avail.   
I have some PDF forms that I've converted to HTML in order for  
people to fill them out and then print them.


I was wondering was there any way to edit the PDF directly or  
convert the PDF to another format and enter in the information that  
the user has entered?  Of course any help would be appreciated.   
I've already converted the forms to PDF, but it of course doesn't  
look *exactly* like the PDF which is what I would prefer.  Do you  
think maybe remaking the PDF's into ZPDF would be a good path to  
follow?


Maybe convert it to an FDF and somehow get the infor from the  
webform into it and then spit back out a completed PDF?


Thanks again and take care all,
Muk
___
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] new user, teething problems

2006-08-03 Thread Chris McDonough
It's also possible that the error message is signifying that Zope is  
already started and you're trying to start it again.


- C

On Aug 3, 2006, at 10:32 AM, Jean Jordaan wrote:


Hi John


  File "/usr/lib/zope/lib/python/ZODB/FileStorage.py", line 232, in
__init__
self._lock_file = LockFile(file_name + '.lock')

[...]

IOError: [Errno 11] Resource temporarily unavailable

 Anyone know what's going on ? Is it trying to read a file called
'' ?


No, it's failing to write a lockfile. Check the filesystem  
permissions in
your zope instance. Zope doesn't run as root, but as the user  
configured

in etc/zope.conf, if you start it up as root .. that user needs write
permission.

--
jean
___
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] defunct process with os.spawn*

2006-08-02 Thread Chris McDonough
You need to call os.waitpid() at some point to clean up finished  
processes.


- C

On Aug 2, 2006, at 1:59 PM, Jonathan wrote:



- Original Message - From: "Alan" <[EMAIL PROTECTED]>
To: 
Sent: Wednesday, August 02, 2006 1:52 PM
Subject: [Zope] defunct process with os.spawn*



Dears,

Now I am facing an annoying problem.

I have an application in Zope which calls a External Method, which
calls a bash script via:

var_pid = os.spawnlp(os.P_NOWAIT, 'script.sh', 'script.sh',  
arg1,arg2)


The idea is to start some programs in background (which will take
hours running) and I need to pass arguments and track its PID for
eventually checking its status. So os.spawnlp seemed the perfect
solution.

However, when my bash script finished, my processes gets 
childed to the Zope process. And only restarting Zope to get rid of
such defunct process, an unthinkable solution.


It sounds like you are generating zombie processes (child processes  
which have completed, but are not handled by the processes that  
spawned them). Try googling:  python reap spawned process



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 )



___
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] Newbie questions about MVC, Continuations, Persistence

2006-07-07 Thread Chris McDonough

Hi Andrew,

MVC is a pattern rather than a technology so it's mostly up to you to  
implement.  Zope, the framework, doesn't mandate its use but it does  
provide facilities that make it easy to implement (via python  
scripts, Five views and templates, and other things).


Zope isn't a continuation-based framework.  Use sessions instead.

Zope's ZODB is an object persistence engine roughly equivalent to  
Hibernate.  It is however, not accessible via Java.


Zope is written in Python, not Java, so reusing your existing  
libraries would be an exercise in bridging Python and Java (maybe via  
web services or a plain old fire-off-a-Java-process-from-within-zope- 
and-communicate-with-it-over-its-stdin).


Trust Commerce has a very nice Python library for merchant banking:   
http://www.trustcommerce.com/


In general, if you're looking to continue implementing the bulk of  
your application in Java, Zope may not be for you unless you use it  
for some very specific piece that has very well-defined integration  
requirements.


- C


On Jul 7, 2006, at 1:59 PM, Andrew Madu wrote:


Hi,
I am completely new to the world of Zope and would like to know how  
zope handles the following:


1. MVC
2. Continuations
3. Persistence ala Hibernate

I have an existing cocoon project, 2.1.8, which I was contemplating  
on moving either over to webobjects or zope. I have a number of  
java classes which I would like to continue to use and wondered  
whether zope would be able to plug into these classes, or are am I  
looking at a complete re-build for those as well? One major issue I  
have is with a paypal SDK I am currently testing which handles  
merchant banking, are there any merchant banking SDK's out there  
which are zope compliant that anyone know of?


regards

Andrew
___
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] page templates and "python:"

2006-07-03 Thread Chris McDonough
Actually, I think python: expressions perform slightly better than  
their path: counterparts because their evaluation step needs to do  
less work (no guessing about getitem vs. getattr).  Geoff Davis  
taught me that.  But in the end it's all dwarfed by the penalty  
imposed by security, so it really doesn't much matter.


On Jul 3, 2006, at 9:20 AM, Jens Vagelpohl wrote:


-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


On 3 Jul 2006, at 15:09, Andreas Jung wrote:



...metal:block>


...



The main difference between both variants is that in path  
expressions getValue can be either an attribute or a method...so  
at least path expressions may have some overhead...you have to  
measure it.


As far as I know path expressions have better performance. I don't  
have the in-depth expression engine knowledge to explain why, but  
that's been what everyone has said to me before.


jens


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.1 (Darwin)

iD8DBQFEqRmaRAx5nvEhZLIRAhsIAJsHRlq94iq7c0wbeGN92JhlikUFwgCfaClc
b16sWokKTRVrWo4BtvRGVhg=
=tt4I
-END 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 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] Rollback and delete weird behavior

2006-07-01 Thread Chris McDonough
Can you provide a reproducible test case?  There are really too many  
moving parts here to know what is going on without being able to  
reproduce it.


On Jul 1, 2006, at 1:24 PM, Luiz Fernando B. Ribeiro wrote:


Hello,

In a python script I got a structure like this:

# Many request checks

# A zSQl method deleting some old data
cotainer.doDelete(key=key)

errors = [ ]
for data in list:
  # Other checks
  if error:
errors.append(error)
continue

  # Inserts in mysql database
  cotainer.doInsert(data=data, other=stuff)

if errors:
  raise "An Error with list of error: %s" % ', '.join(errors)

# --- cut ---

The problem is that the raise is not rolling back the delete,  
looking in mysql log the following sequence was found:


--Begin transaction
[delete statement]
[the insert statements]
--Rollback
--Begin transaction!!
[delete statement again]   !!
--Commit   !!!

We tried it many times and revised our code. The only solution was  
to put the delete statement in weird block like this:


if True:
  cotainer.doDelete(key=key)

As if the rollback was only effective against a "2nd level"  
instruction. This is a really odd behavior but with this trick the  
rollback was done correctly.


Has anyone ever seen this?

Luiz Fernando B. Ribeiro
___
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] zope and redhat

2006-06-30 Thread Chris McDonough
I suspect you *think* it's starting one thread because top reports  
only one or two "python" processes.  This is normal for newer Red Hat  
systems.  Older ones reported a process for each thread.  I believe  
there is a flag to ps that shows all threads as processes.


- C

On Jun 30, 2006, at 2:20 AM, Felipe Pageo wrote:


Hi all, sorry for my english

I have installed zope 2.8.7, Python 2.3.5 on Linux redhat  
enterprise AS 4 (2 cpu's and 2.6 kernel).  When start zope it  
starts only one thread. I have compiled python with flag "with- 
thread", but all is the same.  Pleas help me.


Thanks in advance.

--
Felipe Pageo Domínguez
Servicio de Informática y Comunicaciones
Universidad de Sevilla
Tel. 954554441

___
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] Improved Zope Org Proposal

2006-06-28 Thread Chris McDonough


On Jun 28, 2006, at 2:40 AM, Lennart Regebro wrote:


On 6/28/06, Andrew Sawyers <[EMAIL PROTECTED]> wrote:
point.  Write the 'Zope product' management software and expose it  
as a

service - put it on the site.

[...]
No one said bag the collectors.  Rewrite http://www.zope.org/ 
Collectors/

to collectors.zope.org and that's done.


No "writing" is gonna happen, and should not happen, becuse the
writing takes time and the resulting software needs to be updated,
bugfixes enhanced and managed, and that aint gonna happen. Your
comments ignore the previous experiences with www.zope.org.


He meant "use an Apache rewrite rule", I think.

- C

___
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] How to commit a piece of data in a transaction when the transaction is being aborted later

2006-06-20 Thread Chris McDonough

On Jun 20, 2006, at 2:55 PM, William Heymann wrote:
That is probably a good idea for long term to change things that  
way and I
would like to rewrite it. However right now I don't really want to  
rewrite

the way the current system works. I had hoped I could just use
get_transaction().commit() almost immediately after seeing the data  
from

Verisign.


Sure, you can do this, although the new spelling is "import  
transaction; transaction.commit()".  I guess the only real problem  
with doing this is that you don't always know exactly what you're  
committing if you can't guarantee a fixed starting point as an  
invariant (e.g. if you kick off the method that does this *not* as a  
result of a request from Verisign).  It might also be a little  
confusing for Verisign to get an error response from your server  
sometimes but not other times even though you record the info  
regardless of the eventual response, but maybe they don't attempt to  
retry failed requests.




I do like the idea of ClockServer though and I will probably start  
playing
with it soon to see how it will work for me. Does it work with zope  
2.9 also?


Yes.  It will ship with 2.10.

- C

___
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] How to commit a piece of data in a transaction when the transaction is being aborted later

2006-06-20 Thread Chris McDonough


On Jun 20, 2006, at 2:27 PM, William Heymann wrote:

I am dealing with a zope system where Verisign is sending a POST to  
our server
for ecommerece purposes. Currently I am writing the entire contents  
of the
POST from verisign to the ZODB however I have a problem that some  
of these

POSTs are not being recorded because an error occurs later in the
transaction.






What I would like to do is isolate this recording from everything  
else. So
that no matter what other error is raised that part will commit so  
I have a

record of the conversation later.


I'd just record the data from Verisign in response to their POST (do  
nothing else) and come along later with a separate request to pick  
through the data to do postprocessing on it every so often; then the  
data always gets recorded and you can deal with errors in your  
postprocessing without needing to manage transaction state manually.   
ClockServer can help with the "do something every so often" aspect of  
this.


- C



___
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] Transaction rollback

2006-06-20 Thread Chris McDonough

import transaction
transaction.abort()

should do it.  I will spare you the nannylike warnings about managing  
your own transaction state..


- C

On Jun 20, 2006, at 11:21 AM, Luiz Fernando B. Ribeiro wrote:

I need to return an error page with instructions after verifying a  
request but I need to do a rollback. How can I call a full  
rollback, like when using raise(), inside a python script and  
redirect to an error page.


I found many posts about get_transaction().rollback() but it is  
deprecated in Zope 2.9. What is the modern way of doing this?


Thanks in advance.

--
Luiz Fernando B. Ribeiro
Engenho Soluções para a Internet
___
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] Problem with constructTransientObjectContainer

2006-06-20 Thread Chris McDonough
folder.manage_addProducts 
['Transience'].constructTransientObjectContainer might work (assuming  
"constructTransientObjectContainer" is the right constructor name, I  
didn't check).


- C

On Jun 20, 2006, at 9:39 AM, Jonathan wrote:

I have an external method that is trying to create a Transient  
Object Container in a 'temp_folder', as follows:


def BuildGarbageCollector(self):
folder = self.restrictedTraverse('Coz/TempImages')   
# Coz/TempImages already exists
folder.constructTransientObjectContainer(self,  
id='GarbageCollector', timeout_mins=10, limit=0,

delNotification=BASEFOLDER+'DeleteTempImage')


and I get the following error:

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.DTMLMethod, line 144, in __call__
   - 
   - URL: http://192.168.123.2:8080/Coz/WUI/tst/manage_main
   - Physical Path: /Coz/WUI/tst
  Module DocumentTemplate.DT_String, line 476, in __call__
  Module DocumentTemplate.DT_Let, line 75, in render
  Module DocumentTemplate.DT_Util, line 196, in eval
   - __traceback_info__: document_id
  Module , line 1, in 
  Module Products.ExternalMethod.ExternalMethod, line 232, in __call__
   - __traceback_info__: (('tst',), {}, None)
  Module /apps/zope/Extensions/cozumo.py, line 212, in ProcessControl
  Module , line 1, in ?
  Module /apps/zope/Extensions/cozumo.py, line 219, in subtst
  Module /apps/zope/Extensions/cozumo.py, line 2473, in  
BuildGarbageCollector

AttributeError: constructTransientObjectContainer


If I change the external method as follows (remove the reference to  
'folder'):
constructTransientObjectContainer(self,  
id='GarbageCollector', timeout_mins=10, limit=0,

delNotification=BASEFOLDER+'DeleteTempImage')
There is no error, but the TOC is created in the wrong folder.  I  
can manually (thru the ZMI) add a TOC to the TempImages folder, but  
I can't create one programmatically.


Can anyone point me in the right direction?!

Thanks,

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 )


___
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: filter messages at startup

2006-06-14 Thread Chris McDonough

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Jun 14, 2006, at 4:36 AM, Andreas Jung wrote:



--On 14. Juni 2006 10:25:57 +0200 thomas desvenain  
<[EMAIL PROTECTED]> wrote:



2006/6/13, Chris McDonough <[EMAIL PROTECTED]>:

I suppose a log call is fine.

I *really* like these messages, because they catch a lot of my own
boneheaded security declaration errors.  But for ones that aren't
actually "real" problems (like the ones shown by the OP), it  
would be

nice to be able to filter them away at startup, especially when
starting in the foreground or running "zopectl debug" or "zopectl
test".  Making these into actual warnings.warn calls would let us do
that with a warnfilter, but any other solution would be fine as  
well.


In my way those messages can be usefull for everybody... but not  
at every

time
it would be nice to get a tool (using regexp) to adapt them to our
present needs (installing a product, developping a product on a test
instance for example)



From the practical point of view: just close your eyes. When you  
run a
server in production you will see those messages only in the logs.  
If you are a developer you should be aware of the content of the  
messages and fix your own code or upgrade the related products.


It's just not possible to upgrade components of every configuration.   
Sometimes you just need to live with some specific configuration for  
a while.  It's not really a bad thing to have a known-working  
configuration, even if it's a little old.


If we turned these log calls into warnings.warn calls, they could be  
filtered out by warnfilter configuration, no big deal, we could solve  
the "cant upgrade right now b ut don't want to see warnings" problem,  
nobody would need to write any code to filter out specific log  
messages or do anything else.  I think that's practical too.  This is  
what the warnings module is for.


In particular, these specific errors indicate a totally harmless  
condition and the errors' existence in the log isn't helpful to  
consumers who for whatever reason can't upgrade.  Developers will  
continue to see warnings.warn messages because they always run things  
in the foreground and warnings.warn messages are sent to stderr, so  
it's not like they'd miss any deprecation messages if we changed it.


If developers were really interested in being anal about things, a  
warnfilter configuration can turn warning messages into errors for  
their specific sandbox.  If they really, really wanted the messages  
to be written to a logfile, they can override warnings.showwarning in  
their site configuration.  I doubt anybody will care that much, though.


Given the above, if there's not total opposition to this, I'd  
volunteer to make these log calls into warnings during bugday  
tomorrow on the 2.8, 2.9, and 2.10 branches.  It might be a good idea  
to turn all deprecation warnings in the core like this into warning  
messages, especially given that the core itself generates warnings  
now due to its own use of features that have been marked as deprecated.


- - C

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.3 (Darwin)

iD8DBQFEj9mE8sgUgRRnf6URAtE6AJ9U4qiIL+azduJpVb7vizGmfBn5rQCaAoao
lH8rgzCU5/e1IpwTBPcwZTQ=
=uQ3M
-END 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] Re: filter messages at startup

2006-06-13 Thread Chris McDonough

I suppose a log call is fine.

I *really* like these messages, because they catch a lot of my own  
boneheaded security declaration errors.  But for ones that aren't  
actually "real" problems (like the ones shown by the OP), it would be  
nice to be able to filter them away at startup, especially when  
starting in the foreground or running "zopectl debug" or "zopectl  
test".  Making these into actual warnings.warn calls would let us do  
that with a warnfilter, but any other solution would be fine as well.


- C

On Jun 13, 2006, at 5:18 PM, Florent Guillaume wrote:

Indeed they are logging.getLogger("Init") calls (from App/ 
class_init.py).

Why change that? They're perfectly fine in the event log.

Florent

On 13 Jun 2006, at 23:08, Chris McDonough wrote:




Not out of the box.


Egads, I think you're right.  These aren't actual warnings, are  
they?  They're log calls.  That should be changed.


- C


[EMAIL PROTECTED] tests]# /zope/test/bin/zopectl debug
Starting debugger (the name "app" is bound to the top-level Zope  
object)

2006-06-13 13:48:34 WARNING Init Class
Products.CMFCore.PortalContent.PortalContent has a security  
declaration for

nonexistent method 'manage_FTPget'
2006-06-13 13:48:34 WARNING Init Class
Products.CMFCore.PortalContent.PortalContent has a security  
declaration for

nonexistent method 'manage_FTPget'



--
Florent Guillaume, Nuxeo (Paris, France)   Director of R&D
+33 1 40 33 71 59   http://nuxeo.com   [EMAIL PROTECTED]




___
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: filter messages at startup

2006-06-13 Thread Chris McDonough



Not out of the box.


Egads, I think you're right.  These aren't actual warnings, are  
they?  They're log calls.  That should be changed.


- C





Actually, there is a way, but it's a bit heavy-handed and  
imprecise.  In zope.conf, do (untested):



 action ignore
 message .*has a security declaration for.*


Here's the ZConfig schema description of the "warnfilter" element:

  


A multisection which allows a user to set up a Python "warning"  
filter.

The following keys are valid within a warnfilter section:

  action:  one of the following strings:

   "error"   turn matching warnings into exceptions
   "ignore"  never print matching warnings
   "always"  always print matching warnings
   "default" print the first occurrence of matching warnings
 for each location where the warning is issued
   "module"  print the first occurrence of matching warnings
 for each module where the warning is issued
   "once"print only the first occurrence of matching
 warnings, regardless of location

  message:  a string containing a regular expression that the
warning message must match (the match is compiled to
always be case-insensitive)

  category: a Python dotted-path classname (must be a subclass of
Warning) of which the warning category must be a  
subclass in

order to match

  module:   a string containing a regular expression that the
module name must match (the match is compiled to be
case-sensitive)

  lineno:   an integer that the line number where the warning
occurred must match, or 0 to match all line numbers

  


- C



___
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: filter messages at startup

2006-06-13 Thread Chris McDonough


On Jun 13, 2006, at 11:05 AM, Florent Guillaume wrote:


thomas desvenain wrote:
i mean i would like to filter warning/error messages that appears  
in console

when starting zope server or debugger
in order to ignore those i'm not interested with for the moment
for instance :
[EMAIL PROTECTED] tests]# /zope/test/bin/zopectl debug
Starting debugger (the name "app" is bound to the top-level Zope  
object)

2006-06-13 13:48:34 WARNING Init Class
Products.CMFCore.PortalContent.PortalContent has a security  
declaration for

nonexistent method 'manage_FTPget'
2006-06-13 13:48:34 WARNING Init Class
Products.CMFCore.PortalContent.PortalContent has a security  
declaration for

nonexistent method 'manage_FTPget'
etc


Not out of the box.



Actually, there is a way, but it's a bit heavy-handed and imprecise.   
In zope.conf, do (untested):



 action ignore
 message .*has a security declaration for.*


Here's the ZConfig schema description of the "warnfilter" element:

  


A multisection which allows a user to set up a Python "warning"  
filter.

The following keys are valid within a warnfilter section:

  action:  one of the following strings:

   "error"   turn matching warnings into exceptions
   "ignore"  never print matching warnings
   "always"  always print matching warnings
   "default" print the first occurrence of matching warnings
 for each location where the warning is issued
   "module"  print the first occurrence of matching warnings
 for each module where the warning is issued
   "once"print only the first occurrence of matching
 warnings, regardless of location

  message:  a string containing a regular expression that the
warning message must match (the match is compiled to
always be case-insensitive)

  category: a Python dotted-path classname (must be a subclass of
Warning) of which the warning category must be a  
subclass in

order to match

  module:   a string containing a regular expression that the
module name must match (the match is compiled to be
case-sensitive)

  lineno:   an integer that the line number where the warning
occurred must match, or 0 to match all line numbers

  


- C

___
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] Templates vs DTML

2006-06-06 Thread Chris McDonough

The meld3-vs-zpt post was here:

http://www.plope.com/Members/chrism/meld3_zpt_profiling_madness

It'd probably not be too hard to come up with a DTML variant of the  
same test rig.  Conventional wisdom is that DTML is faster than ZPT.


FWIW, if you plan to use Five, you're really going to be swimming  
upstream if you want to use DTML as your primary templating language  
because most (all?) example code for Z3/Five uses ZPT.


- C

On Jun 5, 2006, at 9:33 PM, David H wrote:


Dennis Allison wrote:

We've been using DTML but we are at a point where we could move to  
page templates.
We are starting a major restruture and rewrite of much of the  
system and are debating moving to ZPT.  Performance is potentially  
a major issue.  We are using Zope 2.9.X, will eventually move to  
Zope 2.10.X and Five.  Python 2.4.X.


Has anyone done any benchmark comparison of the two design  
choices?  For the same functionality, which performs better.  No  
flame wars about which is better, just information about performance.





Dennis,

Interesting question.  Because to reasonably performance test ZPT  
vs DTML one would have a scenario where DTML script does both logic  
and presentation (its "weakness") and ZPT does presentation and off- 
loads its logic to Python Scripts (presumably its strength). Note:  
I say this assuming the DTML "typically" has lots of embedded logic  
whereas ZPT does not.


Chris M wrote an very interesting blog (see plope.com) that (among  
other things) compares Meld to ZPT in terms of performance.   I  
recall that he was impressed with ZPT's rendering speed.


At any rate, you could always invest the time to convert one of  
your DTML workhorses into ZPT and do your own compare.  That might  
be best because the style your DTML was written in may make a big  
difference in your performance results.


David

___
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] Ghost user in Zope 2.7.6 on Win32

2006-06-01 Thread Chris McDonough
It *sounds* like you might be behind some sort of load balancer  
that's talking to completely different Zope instances depending on  
some randomness.  Is there only one Zope instance in play here?


- C

On Jun 1, 2006, at 6:53 PM, Dale Strickland-Clark wrote:

We have a strange case of a user disappearing from the acl_users  
folder.


The user used to be there and has been using the web site for some  
months but
today, she reports that she has lost her permissions. Investigation  
revealed
that her user id had disappeared from acl_users (it was the only  
one in

there) at that folder level.

Using the ZMI, I added her back in and it all seemed OK but then I  
realised I
had given her the wrong role. I went back and corrected the role  
but she

disappeared again.

Now, even though the folder is showing "There are no users  
defined", when I

try and add her back in, I get "A user with the specified name already
exists".

I experimented a bit more.

I added another user and gave it Manager role. I can't delete this  
one.


I added another user and gave it one of our roles, Reviewer (the  
same as the

original ghost user). This one vanished immediately.

Can anyone offer any clues as to what might be happening here? Is  
it safe to

delete and re-create the acl_users folder?

Thanks for any help.
--
Dale Strickland-Clark
Riverhall Systems Ltd - www.riverhall.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 )



___
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] Isolating changes that can only be done globally

2006-05-29 Thread Chris McDonough
I suspect you're going to have to subclass the urllib2 Opener class 
(es) and use a timeoutsocket where they create sockets.  Making this  
be an option upstream would be a valuable addition to Python, FWIW.


The other way to do this would be to ditch urllib2 and write a very  
simple HTTP client using asyncore (which is far more malleable).  One  
that I created based on some code I found floating around in RDFLib  
is attached.


# this code based on Daniel Krech's RDFLib HTTP client code (see rdflib.net)

import sys
import socket
import asyncore
import asynchat
import base64
from urlparse import urlparse

CR="\x0d"
LF="\x0a"
CRLF=CR+LF

class Listener(object):

def status(self, url, status):
pass

def error(self, url, error):
pass

def response_header(self, url, name, value):
pass

def done(self, url):
pass

def feed(self, url, data):
print data

def close(self, url):
pass

class HTTPHandler(object, asynchat.async_chat):
def __init__(self, listener, username='', password=None):
super(HTTPHandler, self).__init__()
asynchat.async_chat.__init__(self)
self.listener = listener
self.user_agent = 'Supervisor HTTP Client'
self.buffer = ''
self.set_terminator(CRLF)
self.connected = 0
self.part = self.status_line
self.chunk_size = 0
self.chunk_read = 0
self.length_read = 0
self.length = 0
self.encoding = None
self.username = username
self.password = password
self.url = None
self.error_handled = False

def get(self, url):
assert(self.url==None, "Already doing a get") #@@
self.url = url
scheme, host, path, params, query, fragment = urlparse(url)
if not scheme=="http":
raise NotImplementedError
self.host = host
if ":" in host:
hostname, port = host.split(":", 1)
port = int(port)
else:
hostname = host
port = 80

self.path = "?".join([path, query])
self.port = port

ip = hostname
self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
self.connect((ip, self.port))


def close (self):
self.listener.close(self.url)
self.connected = 0
self.del_channel()
self.socket.close()
self.url = "CLOSED"

def header(self, name, value):
self.push('%s: %s' % (name, value))
self.push(CRLF)

def handle_error (self):
if self.error_handled == True:
return
if 1 or self.connected:
t,v,tb = sys.exc_info()
print t, v, tb
msg = 'Cannot connect to %s, error: %s' % (self.url, t)
self.part = self.ignore
self.close()
print msg
self.error_handled = True

def handle_connect(self):
self.connected = 1
method = "GET"
version = "HTTP/1.1"
self.push("%s %s %s" % (method, self.path, version))
self.push(CRLF)
self.header("Host", self.host)

self.header('Accept-Encoding', 'chunked')
self.header('Accept', '*/*')
self.header('User-agent', self.user_agent)
if self.password:
auth = '%s:%s' % (self.username, self.password)
auth = base64.encodestring(auth).strip()
self.header('Authorization', 'Basic %s' % auth)
self.push(CRLF)
self.push(CRLF)


def feed(self, data):
self.listener.feed(self.url, data)

def collect_incoming_data(self, bytes):
self.buffer = self.buffer + bytes
if self.part==self.body:
self.feed(self.buffer)
self.buffer = ''

def found_terminator(self):
self.part()
self.buffer = ''

def ignore(self):
self.buffer = ''

def status_line(self):
line = self.buffer

version, status, reason = line.split(None, 2)
status = int(status)
if not version.startswith('HTTP/'):
raise ValueError(line)

self.listener.status(self.url, status)

if status == 200:
self.part = self.headers
else:
self.part = self.ignore
print 'Cannot read %s, status code %s' % (self.url, status)
self.close()
return version, status, reason

def headers(self):
line = self.buffer
if not line:
if self.encoding=="chunked":
self.part = self.chunked_size
else:
self.part = self.body
self.set_terminator(self.length)
else:
name, value = line.split(":", 1)
if name and value:
name = name.lower()
value = value.strip()
if name=="Tra

Re: [Zope] Future of Zope2

2006-05-27 Thread Chris McDonough

I suspect it will continue alongside.

- C

On May 27, 2006, at 4:28 PM, Roberto Benitez wrote:

Does anyone know what the future holds for zope 2? will development  
continue along side zope3? or will it be replaced in its entirety  
by zope3?


Feel free to call! Free PC-to-PC calls. Low rates on PC-to-Phone.  
Get Yahoo! Messenger with Voice

___
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] Looking for current shopping cart product

2006-05-27 Thread Chris McDonough


On May 27, 2006, at 6:07 AM, John Schinnerer wrote:


Aloha,

I am wondering if there is any current and stable shopping cart  
products for zope (2.7.5 is my current live version).

I have a custom merchandise product for a client's business site.
Retail sales are already handled via their PayPal merchant account.  
The retail items only need the appropriate PayPal button/form code  
and PayPal handles the rest.


However the client also does wholesale, but not via PayPal, and  
wants a wholesale "cart" into which a wholesale buyer can put items  
and quantities to submit for review, final pricing, and shipping  
costs.


I have just looked on zope.org and under products - commerce I  
don't find anything that looks current.


I searched zope.org also and didn't find anything.
I googled around a bit for zope shopping cart product and simliar  
and still didn't find anything that looked viable.


Is there anything out there?
If so why is it so hard to find?  ;-)



Hi John,

AFAIK, there is no maintained, current out-of-the-box "shopping cart  
product" for Zope 2 (at least not in the same sense that there are  
these "for PHP").


That said, a basic shopping cart is a very simple thing to code up  
using sessions.  Take a look at the Zope "QuickStart" page (the  
default root Zope index_html).  On that page there is a paragraph  
that says:


"Import and then check out the new example Zope applications. These  
examples show you simple working Zope applications that you can copy  
and modify."


Click import, then check out the resulting "Examples" folder.  Inside  
that is a ShoppingCart folder which is a basic shopping cart program  
that you might be able to modify for your needs.


- C

___
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] Strange errors while 'make'ing

2006-03-20 Thread Chris McDonough
These are warnings coming from GCC (as opposed to errors, which would  
prevent compilation from finishing).


GCC 4.X emits these pointer signedness warnings whereas earlier GCC  
versions did not.  This issue has been fixed on the Zope trunk, I  
believe (the codebase which will become Zope 2.10).


- C


On Mar 20, 2006, at 9:23 PM, a blob of green gelatin wrote:


Hi all,

I've been checking out the archives in an attempt to find an  
already-published answer to my problem and have only found one  
thread which comes close to describing what I'm seeing.


When run 'configure', there are no problems.  Once I try making  
things, I get strange errors which I suppose are probably python- 
related:


slimemold[52]:/tmp/Zope-2.9.1% ./configure --prefix=/usr/local/bin/ 
zope


Configuring Zope installation

Testing for an acceptable Python interpreter...

Python version 2.4.1 found at /usr/bin/python
Python version 2.4.1 found at /usr/bin/python2
Python version 2.4.1 found at /usr/bin/python2.4
Python version 2.4.2 found at /usr/local/bin/python

The optimum Python version (2.4.2) was found at /usr/local/bin/python.

slimemold[53]:/tmp/Zope-2.9.1% make
/usr/local/bin/python install.py -q build
In file included from Dependencies/BTrees-Zope-2.9.1/BTrees/ 
BTreeModuleTemplate.c:335,
 from Dependencies/BTrees-Zope-2.9.1/BTrees/ 
_fsBTree.c:70:
Dependencies/BTrees-Zope-2.9.1/BTrees/BTreeItemsTemplate.c: In  
function âgetBucketEntryâ:
Dependencies/BTrees-Zope-2.9.1/BTrees/BTreeItemsTemplate.c:238:  
warning: pointer targets in passing argument 1 of  
âPyString_FromStringAndSizeâ differ in signedness
Dependencies/BTrees-Zope-2.9.1/BTrees/BTreeItemsTemplate.c:242:  
warning: pointer targets in passing argument 1 of  
âPyString_FromStringAndSizeâ differ in signedness
Dependencies/BTrees-Zope-2.9.1/BTrees/BTreeItemsTemplate.c:249:  
warning: pointer targets in passing argument 1 of  
âPyString_FromStringAndSizeâ differ in signedness
Dependencies/BTrees-Zope-2.9.1/BTrees/BTreeItemsTemplate.c:252:  
warning: pointer targets in passing argument 1 of  
âPyString_FromStringAndSizeâ differ in signedness
In file included from Dependencies/BTrees-Zope-2.9.1/BTrees/ 
BTreeModuleTemplate.c:336,
 from Dependencies/BTrees-Zope-2.9.1/BTrees/ 
_fsBTree.c:70:
Dependencies/BTrees-Zope-2.9.1/BTrees/BucketTemplate.c: In function  
â_bucket_getâ:
Dependencies/BTrees-Zope-2.9.1/BTrees/BucketTemplate.c:93: warning:  
pointer targets in passing argument 1 of  
âPyString_FromStringAndSizeâ differ in signedness
Dependencies/BTrees-Zope-2.9.1/BTrees/BucketTemplate.c: In function  
âBucket_maxminKeyâ:
Dependencies/BTrees-Zope-2.9.1/BTrees/BucketTemplate.c:713:  
warning: pointer targets in passing argument 1 of  
âPyString_FromStringAndSizeâ differ in signedness
Dependencies/BTrees-Zope-2.9.1/BTrees/BucketTemplate.c: In function  
âbucket_keysâ:
Dependencies/BTrees-Zope-2.9.1/BTrees/BucketTemplate.c:829:  
warning: pointer targets in passing argument 1 of  
âPyString_FromStringAndSizeâ differ in signedness
Dependencies/BTrees-Zope-2.9.1/BTrees/BucketTemplate.c: In function  
âbucket_valuesâ:
Dependencies/BTrees-Zope-2.9.1/BTrees/BucketTemplate.c:867:  
warning: pointer targets in passing argument 1 of  
âPyString_FromStringAndSizeâ differ in signedness
Dependencies/BTrees-Zope-2.9.1/BTrees/BucketTemplate.c: In function  
âbucket_itemsâ:
Dependencies/BTrees-Zope-2.9.1/BTrees/BucketTemplate.c:907:  
warning: pointer targets in passing argument 1 of  
âPyString_FromStringAndSizeâ differ in signedness
Dependencies/BTrees-Zope-2.9.1/BTrees/BucketTemplate.c:911:  
warning: pointer targets in passing argument 1 of  
âPyString_FromStringAndSizeâ differ in signedness
Dependencies/BTrees-Zope-2.9.1/BTrees/BucketTemplate.c: In function  
âbucket_byValueâ:
Dependencies/BTrees-Zope-2.9.1/BTrees/BucketTemplate.c:955:  
warning: pointer targets in passing argument 1 of  
âPyString_FromStringAndSizeâ differ in signedness
Dependencies/BTrees-Zope-2.9.1/BTrees/BucketTemplate.c:961:  
warning: pointer targets in passing argument 1 of  
âPyString_FromStringAndSizeâ differ in signedness
Dependencies/BTrees-Zope-2.9.1/BTrees/BucketTemplate.c: In function  
âbucket_getstateâ:
Dependencies/BTrees-Zope-2.9.1/BTrees/BucketTemplate.c:1134:  
warning: pointer targets in passing argument 1 of  
âPyString_FromStringAndSizeâ differ in signedness
Dependencies/BTrees-Zope-2.9.1/BTrees/BucketTemplate.c:1140:  
warning: pointer targets in passing argument 1 of  
âPyString_FromStringAndSizeâ differ in signedness
Dependencies/BTrees-Zope-2.9.1/BTrees/BucketTemplate.c:1151:  
warning: pointer targets in passing argument 1 of  
âPyString_FromStringAndSizeâ differ in signedness
In file included from Dependencies/BTrees-Zope-2.9.1/BTrees/ 
BTreeModuleTemplate.c:337,
 from Dependencies/BTrees-Zope-2.9.1/BTrees/ 
_fsBTree.c:70:
Dependencies/BTrees-Zope-2.9.1/BTrees/SetTemplate.c: In function  
âset_itemâ:
Dependencies/BTrees-Zope-2.9.1/

Re: [Zope] Using Twisted rather than ZServer with Zope >= 2.9.0

2006-03-16 Thread Chris McDonough
You're right.  If you need it, and don't have time to make it prod- 
ready, you could probably get someone from the Twisted community to  
help if they used that code as a reference.


- C

On Mar 15, 2006, at 9:59 PM, Dennis Allison wrote:



Ummm well the sprint code does not look like it's production  
ready.

:-)  I was hoping that the experiment had been taken a bit further.


On Wed, 15 Mar 2006, Chris McDonough wrote:


Only minimally, AFAIK.  A sprint in 2004 had this as the topic:

http://www.zope.org/Members/adytumsolutions/pycon2004/TwistedZope

- C

On Mar 15, 2006, at 8:38 PM, Dennis Allison wrote:



I know Twisted is used in the Zope 3 space.  Has anyone
experimented with
replacing ZServer?  A quick Google search turned up litte  
information.

Pointers?  Experience?



--

___
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] Using Twisted rather than ZServer with Zope >= 2.9.0

2006-03-15 Thread Chris McDonough

Only minimally, AFAIK.  A sprint in 2004 had this as the topic:

http://www.zope.org/Members/adytumsolutions/pycon2004/TwistedZope

- C

On Mar 15, 2006, at 8:38 PM, Dennis Allison wrote:



I know Twisted is used in the Zope 3 space.  Has anyone  
experimented with

replacing ZServer?  A quick Google search turned up litte information.
Pointers?  Experience?



--

___
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] Need Urgent Help

2006-03-07 Thread Chris McDonough

Hire a consultant.

- C

On Mar 7, 2006, at 7:09 PM, Meir Livneh wrote:


Guys



I am required to interface with the following systems:



Hummingbird DM

Hummingbird RM

Documentum RM

OpenText Livelink

Crystal Enterprise Pro





Any ideas?



Meir Livneh





___
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: [Zope3-Users] Re: [Zope] Debugging doctests

2006-02-23 Thread Chris McDonough

On Feb 23, 2006, at 4:51 PM, Stephan Richter wrote:
So, I take it that you are a second voter in favor of not requiring  
all tests

to be doctests.


If the ZSCP thing takes off, I think test/doc req'ts should be  
somewhat looser than mandating a particular test/doc framework  
(something along the lines of "must have good test coverage and  
appropriate narrative documentation", maybe with examples of what  
this means that could be in doctest format by default).  Would that  
be acceptable?


- C

___
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: [Zope3-Users] Re: [Zope] Debugging doctests

2006-02-23 Thread Chris McDonough

On Feb 23, 2006, at 1:57 PM, Benji York wrote:

> But it's of course a judgment call.

Perhaps this is just one of those to-each-his-own things.
My own are doctests. ;)


Sure.  I actually really appreciate reading good doctests, they help  
a lot, and they beat not having any docs at all any day!


A non-sequitur:  For truly standalone packages, I suspect that people  
expect some form of non-executable narrative documentation to be  
included that ties the continued use of the package together with its  
implementation.  In my experience, it's easy to get lured into  
thinking that you've documented a package properly because it has  
doctests and interface documentation, when in reality it probably  
needs some other form of documentation beyond the doctests (e.g. high- 
level overview of purpose, how to install it, what other packages it  
depends upon, which versions of Python/Zope it works with, who is  
responsible for maintaining the package, where to report bugs, and so  
on).  I suppose this is really a packaging issue, but it would be  
nice if more packages in the  zope namespace package were treated as  
"islands" like this that could be installed separately from Zope  
proper.  It would also likely help prevent inappropriate dependencies  
from creeping in.  Zope 2 wasn't born a mess of spaghetti  
dependencies, they just sort of grew like weeds over time.


- C

___
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: [Zope3-Users] Re: [Zope] Debugging doctests

2006-02-23 Thread Chris McDonough

On Feb 23, 2006, at 1:17 PM, Benji York wrote:


Chris McDonough wrote:
I dunno about sucking because they are quite good for  
documentation,  but I tend to write plain-old unittests instead of  
doctests when I'm  testing without any pretense towards writing  
documentation.  If you  test internals of a class in a doctest,  
the doctest body gets pretty  cluttered, which tends to defeat the  
documentation-esque-ness of them.


Are you talking about doctests in docstrings?  If so, I definitely  
see downsides to that use case.  I was talking about doctests in  
stand-alone text files.  That's my (and several others) preferred  
way of using them.


Either.



If you /were/ talking about stand-alone doctests, then I have no  
idea what you're talking about. :)


It's just opinion, but for example, I don't think zope/wfmc/xpdl.txt  
reads much better as a doctest than it would as a plain old  
unittest.  But it's of course a judgment call.


- C

___
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: [Zope3-Users] Re: [Zope] Debugging doctests

2006-02-23 Thread Chris McDonough
I dunno about sucking because they are quite good for documentation,  
but I tend to write plain-old unittests instead of doctests when I'm  
testing without any pretense towards writing documentation.  If you  
test internals of a class in a doctest, the doctest body gets pretty  
cluttered, which tends to defeat the documentation-esque-ness of them.


Being able to set a breakpoint in the test body is important for me  
too.  I probably could be setting breakpoints once I'm in the  
debugger, but it's often easier to just stuff in a pdb.set_trace()  
before the line of code that I want to examine.   And putting a set  
trace in a unittest is a natural thing to do, because you know the  
set trace will only get invoked once during a test run (as opposed to  
putting it right in the app code, where it might get invoked "by  
accident" through a different test).  Setting breakpoints in unittest- 
tests is typically more fruitful than putting them in doctest-tests  
for the reasons that have been talked about in this thread.


- C

On Feb 23, 2006, at 11:27 AM, Lennart Regebro wrote:


On 2/23/06, Gary Poster <[EMAIL PROTECTED]> wrote:

You effectively can't step through all the tests (with a single
pdb).  You can step through a single line in the test well.  While it
sounds limiting, that has proved quite sufficient for me in
practice.  YMMV, of course.


Sigh. doctests really do suck.

--
Lennart Regebro, Nuxeo http://www.nuxeo.com/
CPS Content Management http://www.cps-project.org/
___
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] Re: [Zope3-Users] Re: [Zope3-dev] The Zope Software Certification Program and Common Repository Proposal

2006-02-21 Thread Chris McDonough
I hate to cross-post this, but would it be possible to limit this  
discussion to a single list (e.g. zope3-dev, maybe)?  I'm interested  
in this topic, but my mail client isn't smart enough to filter it out  
to only one place and I'm sure there are a lot of other people with  
the same issue.


- C

On Feb 21, 2006, at 9:45 AM, Stephan Richter wrote:


On Tuesday 21 February 2006 05:59, Reinoud van Leeuwen wrote:

This seems to me a great step forward but I am missing something.
The quality is measured by a number of metrics, but it seems  
nowhere is
actually measured if the software does what it is supposed to do,  
if it is

clear how it works and whether it is something you would advise other
people to use.
This is one of the major problems I've had in the past with things  
like
the Perl CPAN repository: you can find lot's of modules that seem  
to solve
your problem, but usually you discover what a module is really  
about when

you've invested a lot of time in it.


Right, I hear you. In fact, this is one of the reasons that we  
decided against
a name like "Zope Software Quality Program". With the proposed  
process, we
cannot guarantee 100% that the package is good. However, there are  
a couple

of safe guards:

(1) If you write doctests as a narrative text file, you really have  
to think

hard about the functionality your package provides. I cannot stress it
enough, doctest text files are *key* to the success of the  
certification

program.

(2) At least in the Common Repository, people will read check-in  
messages.


(3) At higher certification levels, other people must support the  
package.

This is also not 100% bullet proof, but it is something.

Overall, I also expect that the community has little tolerance for  
malicious
attempts to break the system. If someone detects foul play all he  
has to do

is complain on the mailing lists.

Would there be room for a voting or feedback step in the process  
where

people that have tried the module could enter a rating?


Ah, rating and feedback. :-) This was discussed in the pre-proposal  
phase as

well. The problem with feedback and rating is that to do it right, it
requires a lot of resources that we do not have. Here is a scenario:

1. A user U trashes a package because an important feature F is  
missing in

package P. So far so good. It is his right to do so.

2. The package P authors see the comment and fix it in the code.  
Very cool,

the process works.

3. But then the user U of the post, must retract his comment. What  
if he is
not available? Not so good. The alternative would be to ask a  
certification
manager, who might know nothing about the issue and will need a lot  
of time

reviewing the complaint and solution. Not so good.

While rating and feedback is good, to do it right in a process like  
the ZSCP

costs a lot of resources.

Having said that, I see the need to address the issue. Here are two
suggestions:

1. Add a "Future Possibilities" section to the proposal collecting  
ideas for
later iterations of the process. This would allow us to address  
some of the
common concerns and say: If we have time and resources, this can be  
done.


2. There is already a provision in the process that a package can  
receive a
warning. Currently the ZSCP states that the warning can only be  
issued when a

package does not fulfill the quality metrics for a given release.

I could add another provision that a warning can be issued, if X  
community
members and 1 certification manager verified a bad package. Each  
warning
carries an arbitrary comment that could describe the reason of the  
warning.
This way we can use the existing communication channels (mailing  
list and
IRC) for feedback and still have a way to formalize feedback. I  
guess in this
case we would also need a "resolve" action that could resolve a  
warning.


What do you think?

Regards,
Stephan
--
Stephan Richter
CBU Physics & Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users



___
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] unbuffered response.write through Apache 2.0 reverse proxy?

2006-02-18 Thread Chris McDonough
Apache does its own buffering IIRC.  Look for ProxyReceiveBufferSize/ 
ProxyIOBufferSize.



On Feb 18, 2006, at 3:59 AM, Christoph Berendes wrote:

To prevent browser timeout during a long running process, I've got  
the following code to work nicely,when the browser accesses Zope  
directly (e.g. http://myzope.net:8080/folder/client001/)


context.REQUEST.response.write("progressing...")
#do some stuff
context.REQUEST.response.write("further...")
#do some more stuff
context.REQUEST.response.write("done!")


However, when browser goes through the Apache reverse proxy, e.g.


ServerAlias   site1.foobar.com

  RewriteRule ^/(.*) \
 http://localhost:8080/VirtualHostBase/http/%{SERVER_NAME}:80/% 
1/site001/VirtualHostRoot/$1 [L,P]


I get all three writes (progressing..further...done!) at once, at  
the end of the processing.


I'm running Apache 2.0, Zope. 2.7.6, Plone 2.0.5 on Linux
From going through Apache docs and discussions (notably http:// 
www.gossamer-threads.com/lists/apache/dev/305433), it appears that  
this is an Apache 2.0 problem.


Is there any way to get the same behavior (unbuffered writes) even  
when I go through the Apache reverse proxy?


___
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] ZEO disconnects, Zope auto restarts (via zopectl)

2006-02-03 Thread Chris McDonough


On Feb 3, 2006, at 1:06 PM, Paul Winkler wrote:
If I were in your shoes the first thing I'd do is bump up the log  
levels
on both zope and zeo to BLATHER.  Adds overhead I know, but you  
need to find

the problem somehow... it's a weird one, I've never seen zope
restart "for no reason".


This can be a symptom of a segfault if you've got zope running under  
a daemon manager like "zopectl/zdaemon/supervisord".


- C

___
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: raw trace log format

2006-02-02 Thread Chris McDonough

This little bit of code has some clues:

def put(self, code, t, desc):
if code not in ('A', 'B', 'I', 'E'):
raise "unknown request code %s" % code
if code == 'B':
self.start = t
self.method, self.url = desc.strip().split()
elif code == "I":
self.t_recdinput = t
self.isize = desc.strip()
elif code == "A":
self.t_recdoutput = t
self.httpcode, self.osize = desc.strip().split()
elif code == 'E':
self.t_end = t
self.elapsed = int(self.t_end - self.start)

B  = beginning request handling
I  = finished receiving input from the client
A  = finished receiving output from Zope's publisher
E  = request handling ended

- C


On Feb 2, 2006, at 4:20 PM, Dennis Allison wrote:



I gleened what I could from the requestrofiler code, but teh
meaning of the desc field for I is not described in the comments.
A quick check of the code did not help either.


On Thu, 2 Feb 2006, Tres Seaver wrote:


-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Dennis Allison wrote:

generally it's

code id fromepoch desc

The desc field is

B   request (e.g. 'GET /')
I   ???
A   status_code bytes
E

The desc for E is normally empty.  The desc for I is usually 0
or a small integer.  Google could not help me find a definition
for the desc value associated with I.  Can someone assist?


I'd suggest looking at '$SOFTWARE_HOME/utilities/requestprofiler.py',
which is a tool for reporting against that log file.


Tres.
- --
===
Tres Seaver  +1 202-558-7113  [EMAIL PROTECTED]
Palladion Software   "Excellence by Design"http://palladion.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFD4nWO+gerLs4ltQ4RAgdsAJwNaju4xcFLPfo2gBBfaJPjLAiW2QCeM9Cs
/hfulGb5xV0UZIH04m24d2c=
=8grz
-END 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 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] LocalFS

2006-02-01 Thread Chris McDonough
If you're developing at the "Python Product" level (rather than at  
the "through the web" level), this "blob" product might help:


http://www.plope.com/software/blob



On Feb 1, 2006, at 5:22 PM, Rakotomandimby Mihamina wrote:


Hi,
In order to learn developping for Zope, I want to learn manipulate  
large

files.
I read it is not a good idea to store them in the ZODB, so that it  
couls

be a good idea to use LocalFS for example.
I intend to use Zope2.9.
But LocalFS seems to be an old product.
Is there any replacement of it you would know?

--
A powerfull GroupWare, CMS, CRM, ECM: CPS (Open Source & GPL).
Opengroupware, SPIP, Plone, PhpBB, JetSpeed... are good: CPS is  
better.

http://www.cps-project.org for downloads & documentation.
Free hosting of CPS groupware: http://www.objectis.org.

___
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] Managing Content Access and Multiple Users

2005-12-23 Thread Chris McDonough

Hi Francisco,

This may not be what you *want* to read ;-), but this is how I (and  
many others) do it:


http://www.plope.com/Members/chrism/zope_collab

- C


On Dec 23, 2005, at 2:16 PM, Francisco Chamorro wrote:

Hi everyone, I have a process question and wanted to know what  
tools are available in zope to help me solve this issue.  A total  
of 6 developers/producers access zope on a daily basis and make  
updates to pages, sometimes the same pages.


The problem I'm having is that sometimes one developer will make  
changes to a page, push those changes to our preview environment  
for client review and wait for client feedback.  Then another  
developer will access the same page, make his own changes (not  
realizing there are changes not approved) and push his changes and  
the non-approved ones to live, causing products to go live before  
they are supposed to etc.


What tools (if any) are available to help me solve this issue?  My  
first thought was to install CVS, but I'm not entirely sure that  
will solve it entirely.  Are there any tools available for work  
flow in zope?  Any help would be really appreciate.


Thank you.

-Francisco


___
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] More on understanding conflicts

2005-12-21 Thread Chris McDonough


On Dec 21, 2005, at 2:17 PM, Dennis Allison wrote:

I have begun to think that the Zope session variable mechanism, as
implemented, addresses a different part of the storage spectrum  
than we
need.  A small number of per user parameters (3 to 10) are used by  
almost
every request. Most of the parameters are set at user login and are  
not

changed for the duration of the session;


These would be better implemented as "member data" (ala CMF's member  
data tool).


- C

___
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] More on understanding conflicts

2005-12-21 Thread Chris McDonough

On Dec 21, 2005, at 1:07 PM, Dennis Allison wrote:
Sorry if I appeared unresponsive--the fact that we use frames is  
hardly a
secret.   I suppose that it would be helpful to make up soem  
summary of

features for ongoing threads like this one.


It was a secret to me (again, perhaps because of my inability to keep  
a thought in my head for more than an hour, for better or worse) or I  
honestly I wouldn't have asked again.  Just answering the questions  
as they're asked would really, really be the best tact here, because  
configurations change, code changes, and so on.  What was gospel a  
month ago might not be the case now.  So it's important to just  
answer the questions even if it seems utterly redundant to do so.   
Again, I'm not chiding you here, I realize this is hard stuff, but I  
need you to *help me help you* to get this put to bed.



By convention the primary content frame does not cause other frames to
re-render but there are multiple implementors and creaping featurism
which may have changed that.  The navigation_box frame we have been
discussion gets re-rendered on a navigation change (duh) and may  
initiate

re-rendering of a tabs_frame.  Except for the full frameset rendering,
we are likely to be fairly conflict clean.  I can look in the logs and
tell...  Might be interesting.


Yep.. particularly if you see a conflict only in requests that  
directly follow a request for the frameset URL.  If that's the case,  
unless people constantly reload the frameset, you should be OK.


I did not know that XMLHttp interactions were asynchronous but  
serialized.
Most browsers can make multiple simultaneous requests so I'd  
assumed that

XMLHttp would just grab a connection and go and that multiple requests
can be in progress simultaneously.


After going and reading the docs for at least one implementation of  
XMLHttpRequest, I think you're right.  There are some asynchronous  
things going on here.  So I take it back. ;-)



Well, that's good.  Does that mean I'm off the hook? ;-)


Not really off the hook as issues still remain and you are a valuable
resource.  :-)  I need to spend some time thinking about the issues  
an do

some cautious experimentation and testing.


Heh.

- C

___
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] More on understanding conflicts

2005-12-21 Thread Chris McDonough

On Dec 21, 2005, at 12:40 PM, Dennis Allison wrote:



Chris W,

The issue here has had to do with session variables and their  
iteraction
with the persistence mechanism and conflicts and multiple threads  
for the
same session.  Chris McDonough has pointed out that session  
variables can
cause writes and write conflicts even if the only Zope level access  
is a
read.  I thought MVCC works out of the box for Zope 2.8.4 which  
uses ZODB

2.3.4. Am I wrong?


It does.  But MVCC does not prevent write conflicts.  Only read  
conflicts.




The real surprise was that you can get a write conflict from a pair of
session variable reads!


That is surprising, no doubt. ;-)

___
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] More on understanding conflicts

2005-12-21 Thread Chris McDonough

On Dec 21, 2005, at 11:38 AM, Dennis Allison wrote:



Chris,

You asked about frames a while back and I responded in the  
affirmative.
I am sure I mentioned that we use frames and framesets and  
explained that
we use a bit of Javascript to manage loading individual frames  
rather than

loading the entire frameset whenever possible.


Eek.  Sorry, I don't remember this.  Context is hard to keep over the  
course of several weeks/months, of course.  And my brain is going  
with my age.  I don't mean to be a nag (really, I understand this is  
hard), but I asked two emails ago "do you use frames?" and you didn't  
answer that question directly in your response at all; only by way of  
teasing it out of you by asking if it was an IFRAME in a followup was  
the fact that this app is a frame-based one re-revealed to me.   In  
general, it would be very helpful if you could answer the questions  
that are asked when they're asked even if they reveal the fact that  
I'm a doddering old man and can't remember things from moment to  
moment,  Otherwise it's difficult (and honestly a bit frustrating) to  
try to help you.


In any case, typically the problem with frames only reveals itself  
when the entire frameset is loaded or the body of one frame causes  
the other frames to load.  Your javascript may not be helping here...  
it could be hurting.  For example, if a user reloads the "main" frame  
(say as a result of a POST request) and by doing so, during its re- 
rendering, it causes two other frames to refresh themselves due to an  
inline script function in the body of the main frame, that's the  
moral equivalent of reloading the frameset entirely.  You have a tiny  
bit more control, e.g. maybe you could set a Javscript timer to  
reload the other frames in a "staggered" way where you reload one,  
then the other after a certain number of seconds.  But otherwise it's  
the same problem.  Hard to know what's going on there.



  Still, your point about
the multiple threads due to the requests from individual frames when a
frameset gets rendered is a valid one and one I have not given the  
weight

it deserves.

Issues around multiple threads and concurrency is going to be more and
more of a problem as we move to smarter clients and AJAX-like
implementations.


"Smart clients" perhaps.  But Ajax is supposed to allow you to do  
interesting things *without* reloading the page, and because (to my  
knowledge) no current Javascript implementation can make a request  
asynchronously, so you can only make one request at a time from  
within a given browser document.  So using Ajax shouldn't cause  
*more* conflicts; it should cause fewer.  Unless of course your Ajax  
calls emanate from different frames (different DOM "documents").   
Then you're back in the same boat (depending on the Javascript  
implementation, I suppose).  It's really a problem with frames (or  
more generally, multiple documents at the same time) rather than with  
Ajax.



It looks like there are several small things I can do to improve the
present system's conflict rate, but, absent some major structural  
changes,
I won't be able to drive them to O(zero).  Fortunately, while the  
level of

conflicts is high, they are infrequent relative to the number of hits
served, and most are resolved by the normal Zope conflict resolution
mechanism.


Well, that's good.  Does that mean I'm off the hook? ;-)

- C


___
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] More on understanding conflicts

2005-12-21 Thread Chris McDonough

On Dec 21, 2005, at 10:32 AM, Dennis Allison wrote:

Thanks again Chris for the helpful comments.

The navigation_box, in this context is just a table which is rendered
into a frame in our standard frameset.  It is not an iframe.


So you do use frames!  That's a huge clue.  I wish I didn't feel like  
I had to drag that out of you. :-(


In the sense I used them below, a transaction and a request are the  
same

thing.  This follows from the fact that each request is managed as a
single transaction.  Perhaps it would have been a better choice of  
words

to use "request".

I suggested breaking the request into two requests as one way to help
manage conflicts.  Only the first part of the the split request would
reference the session variables, so the window of opportunity for a
session variable conflict would be smaller even though the number of
requests is larger.


This is probably not really a reasonable thing to do.  A request is  
generated by a user agent.  With a lot of deep dark magic, you *can*  
generate a request from within Zope that makes it appear that it  
comes from the outside, but it's not easy and unhelpful here.   
Remember what I said about the "write on read" pattern of sessions?   
it doesn't matter if you're "only reading" session data.  There still  
may be writes happening.   Breaking things up into more requests will  
not help.


What you want to do instead is *not access the same session from two  
different requests at the same time*.  You probably know this, but  
when a frameset is used, the browser generates N requests... one per  
frame.  These requests happen at about "the same time" whenever the  
frameset is accessed by a user.  Moreover, since the requests come  
from the same browser, the session identifier for both requests is  
the same.


By accessing session data from code within more than one frame, you  
are essentially creating a situation where at least two different  
threads will always be accessing the very same session object  
whenever the frameset is rendered.  For as many frames as are in the  
frameset, if the code that renders each frame access the session, a  
transaction will touch the same session data object and perhaps some  
shared housekeeping data structures.  It's as if you're pressing the  
"refresh" button in rapid succession on a page that accesses session  
data.  This is prime area for a conflict.


And, sigh, you are probably right--it may be time to abandon the  
standard

release session implementation and roll our own.


This is still a reasonable thing to do, but if you can get away with  
using sessions in only *one* of the pages of your frameset, things  
will get much better.


- C

___
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] More on understanding conflicts

2005-12-21 Thread Chris McDonough

Write conflicts happen for a transaction.  In Zope, there is one
transaction per request.


There are two distinct sections to the navigation_box transaction.


There's a transaction for something named "navigation_box"?  Is this  
an IFRAME?



  One
where the session variables are read and a second where they are  
used. To
minimize conflicts, the what is now a single tranaction should be  
split

into two separate transactions.


Are you maybe misusing the term "transaction" here?  If this logic  
all happens in the course of a single request, it all happens in the  
same transaction unless that request causes, say, the reload of a frame.


There is a concept of a transaction here.  But it doesn't have  
anything to do with what happens during the course of a single  
request unless you explicitly try to control transactions, which is  
almost never a good idea.



Any thought as to how to do that?  If navigation_box were broken into
two separate methods, say nav_box1 and nav_box2, how does nav_box1
commit itself and then transfer control and data (a session variable
snapshot) to nav_box2 as a new transaction?


I suspect I don't understand what this would achieve.  Having more  
transactions will cause more conflicts.  Conflicts happen as a result  
of conflicting changes in two transactions.



I would guess that if nav_box1 redirects to nav_box2 a new transaction
is initiated and the old one committed.  Is that correct?  And is  
there

a better way to get the same effect?


I have no idea, sorry.

I think maybe what you might want to do here is to not use builtin  
Zope sessions. ;-)  Zope sessions rely on ZODB and are  
transactional.  If they didn't rely on ZODB, you wouldn't be getting  
conflict errors.  If they weren't transactional, you probably  
wouldn't notice.


Might be time to cut bait here.  We've been talking about this for  
months. ;-)  I think someone wrote a relational database backend for  
the sessioning API some time ago.  You may want to give that a shot.


- C

___
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] More on understanding conflicts

2005-12-20 Thread Chris McDonough
The structure of the method is simple enough: there is a large  


block which populates local variables with data from the session
variables





with the body of the  containing 300 lines or so of dtml,
control code, sql queries, and occasional dtml-let blocks to hold
query results and computed values.


If this is the same getSessionVariable as you reported before (a  
Python Script), note that each call that you make to it has  
overhead.  It might be better to create a single Python script to  
return all of the values that you need from the session rather than  
calling this over and over again.  If that doesn't work, it might be  
even better to just do SESSION.get('foobar') instead of calling a  
Python Script for every value.


So, this navigation method is clearly a good candidate for  
refactoring,

but the question is "What's the best way to refactor it?".


Making it do its job faster will likely help.  Likewise,

I still don't have an intuitve understanding of the conflict  
mechanism in

practice.  For example, Why is the conflict error reported for the
navigation dtml method rather than for the getSessionVariable python
script which actually references the SESSION object where the conflict
occurs?


Write conflicts happen for a transaction.  In Zope, there is one  
transaction per request.  So it reports the URL of the method that  
was called as the thing that caused the conflict (because, basically,  
it was).  A conflict is not "noticed" until a transaction is  
committed; ZODB has no idea what caused the data structure to change  
in a conflicting way within "application code".


A conflict error gets raised whenever another thread references the  
same

session's SESSION object.


Are you using frames by any chance?  It would be understandable that  
you're seeing an increased number conflicts if you have an  
application in which many threads try to access the same session  
object at once due to a browser making multiple writes to the same  
session object because of frames.



  Apparently the MVCC read-read conflict
resolution fails for session variables although I am not sure why.


Can we see one of the conflict tracebacks?  You should be seeing only  
write conflicts.  Read conflict errors are reported in a traceback  
with a ReadConflictError message (conflicts reported as only  
ConflictError are write conflicts).



  The
DEBUG logs indicate that read-read conflicts found.  It would be  
helpful

to understand why.


Yes.  A traceback would help.


When the conflict is resolved, one is backed out (everything is
transactional) and restarted.  After three retries, it is considered
an error.   This processing is handled automatically by Zope.


That's right.


At one point, I had considered writing a custom conflict resolution
function where resolution assumed independence of individual session
variables.  After some thought and experimentation, I concluded  
that was a
bad idea because it could break synchronization assertions between  
session

variables (e.g., X is twice Y).


That's a good conclusion.

Absent a magical conflict resolution method, the best approach  
would seem
to be to minimize the potential for conflicts.  Intuition says that  
the
simplest way to do this would be to have the navigation dtml method  
make a
single call to a python script, getSessionVariables, which would  
return a

copy of the session variables. The copy could then be unpacked and
processed without any potential conflict errors.


Heh.  Good thinking! ;-)   Really, anything that makes your  
transaction finish faster is the right thing (and good coding  
practice to boot).  Maybe not a silver bullet especially if you're  
using frames but it's a start.


- C

___
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: [Zope-dev] Re: sessions in the presence of conflicts

2005-12-20 Thread Chris McDonough

Trimmed Zope-dev from this (cross-posts are bad)...


Dennis,
Lets just put the question out there:  Does:

SESSION['someKey'] = someValue

Force a commited transaction?

As opposed to ...
someDict = Session['SomeKey']
someDict['aKey'] = 'aNewValue'


Neither "forces a committed transaction", but the former directly  
marks an object (the session object) as changed.  The latter does not  
mark any object as changed if someDict is actually a Python  
dictionary and not a first-class persistent object.  At the end of a  
transaction, only objects that are marked as changed are re-persisted  
to the database.


This is further explained in the "mutable subobjects" section of the  
sessions chapter of the Zope Book on plope.com.


- C

___
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: [Zope-dev] Re: sessions in the presence of conflicts

2005-12-20 Thread Chris McDonough


On Dec 20, 2005, at 12:36 AM, Dennis Allison wrote:



The interaction between sessions, conflicts, and persistence is a bit
confusing.  I am still trying to understand the code in depth.

One thing is for sure, request.SESSION and/or request['SESSION']  
must be
persistent for things to work.  Mutable objects in the session  
variable

set (dictionaries and lists) have to be handled specially to get the
persistence machinery to recognize they have been changed.

In this case, I am trying to ensure that the session variables get
identified as persistent.  My question is whether using update (an
implicit assignment) triggers the persistence mechanism.  It is the
moral equivalent of writing

request['SESSION']['alpha'] = 'a'B
request['SESSION']['beta'] = 'b'

but I am unsure whether the persistence mechanism will recognize it as
such.



The implementation of TransientObjects's update method is:

def update(self, d):
self._p_changed = 1
for k in d.keys():
self[k] = d[k]


So yes...

- C

___
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] ERROR BeforeTraverse Error while invoking hook

2005-12-19 Thread Chris McDonough
You might have a access rule in there that expects to be able to call  
something that's missing?


On Dec 19, 2005, at 4:29 AM, Maciej Wisniowski wrote:


Hi!

After upgrading our Zope instances from Zope 2.7.2 to 2.8.4 we've  
noticed
new kind of errors in event.log on one of our servers. Error is as  
follows:


2005-12-19T07:53:59 ERROR BeforeTraverse Error while invoking hook:  
"input"

Traceback (most recent call last):
 File "/opt/Zope/2.8.4/lib/python/ZPublisher/BeforeTraverse.py",  
line 144, in __call__

   meth(*(container, request, None)[:args])
AttributeError: __call__

I've looked into BeforeTraverse.py and I see this error is only  
logged to event.log and
is not visible to the users, and it seems to me that it is  
something with acquisition(?)
I need some hints how to find what causes this error - what has  
changed in 2.8.x and

how to deal with this?
Our application is written in ZODB not in products. There is a  
folder named 'input' in it,

may it be the problem?

--
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] Zope Persistence (was: XML-RPC within ZOPE)

2005-12-16 Thread Chris McDonough

The problem setup is this; I explained it above, but it this has
become a long thread:

I write a ZOPE product. I want to make use of other software on the
internet and the services that software provides. So I use the methods
exposed by that software via SOAP, XML-RPC, whatever.

One of those methods actually calls my product back, maybe because the
developer has learned that my product itself exposes some (or all) of
its functionality via XML-RPC. If this is all inside one call, which I
can't avoid explicitly as the developer of just my product, I have a
broken transaction on my hands that isn't easy to fix (and maybe
impossible). This holds true for the whole product, even if the method
called by the second server changed some completely unrelated data.


I see what you're saying, but how is this specific to Zope?  If you  
write a Perl program and expose it via mod_perl on Apache, and the  
program calls out to a service that calls back in to the mod_perl  
program (no matter how broken of a pattern this was), wouldn't the  
Apache process that was waiting on data be tied up in the same way?


- C

___
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 Persistence (was: XML-RPC within ZOPE)

2005-12-16 Thread Chris McDonough


On Dec 16, 2005, at 8:02 PM, Jan-Ole Esleben wrote:


I don't understand the problem.  How is using XML-RPC incompatible
with persistence?  What are you trying to exclude?


I'm sorry, but I don't understand _that_ question. What am I trying to
_exclude_?


You said:

""" it would most certainly be extremely hard to foresee the exact  
setup of such situations and impossible to exclude them """



XML-RPC and (the concept of) persistence aren't incompatible. XML-RPC
(on a ZOPE server) and ZOPE persistence are, to the extent described
by others in this thread, not by me. I just described a couple more
cases (and specifically one case) where it is bad that things are this
way (and cannot be solved by better design).


AFAICT, people have told you to not use XML-RPC here and when you  
said it was not possible to avoid the use of XML-RPC, they provided  
suggestion about how to accomplish what you wanted anyway.  So I'm  
not sure what the exact problem is.



My point is: this doesn't happen _within_ single "programs", but
everywhere there is even the slightest bit of communication there is a
chance of it happening.


The chance of what happening, sorry?  I'm still trying to understand  
the problem.  The only problem that was noted so far was a deadlock  
potential by Dieter which presumed you were doing XML-RPC requests to  
the same system which accepts them.  This is an unusual thing to do;  
it wouldn't happen under "normal" circumstances.


- C

___
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 Persistence (was: XML-RPC within ZOPE)

2005-12-16 Thread Chris McDonough
I don't understand the problem.  How is using XML-RPC incompatible  
with persistence?  What are you trying to exclude?


- C


On Dec 16, 2005, at 6:40 AM, Jan-Ole Esleben wrote:


Thanks; this is a problem we are well aware of. Our solution is to
increase the amount of workers, obviously.

However, I'm increasingly getting a feeling that for a rather big
range of unlikely situations that are nonetheless to be expected, Zope
doesn't work _at all_. In a WebServices setting, situations like the
one I described, with one server calling back to another server within
a call from that latter server and both not knowing anything about the
implementation of the other, it would most certainly be extremely hard
to foresee the exact setup of such situations and impossible to
exclude them for persistent objects that actually _do_ change state
(unlike mine). The solution is to not have state in your objects, and
thus lose instantly most of what Zope is.

However, as I see it, the problem is that what Zope actually _is_
(i.e. mostly the ZODB) is an unhealthy way of coupling data and
implementation (which is _exactly_ why my implementation didn't work
immediately). This of course comes from its origins in TTW development
where there wouldn't actually have been many user made products.

Please tell me if I'm wrong with my assumption above, and why. I'm not
trying to be inflamatory, this just has me really worried.

Ole


2005/12/15, Dieter Maurer <[EMAIL PROTECTED]>:

Jan-Ole Esleben wrote at 2005-12-11 19:10 +0100:

Is it at all impossible to use XML-RPC _within_ a ZOPE architecture?


In principle yes.

Be careful however: it is easy to introduce deadlocks!

  When during request processing you call back into the same
  Zope via XML-RPC, the calling out request will not complete
  until the XML-RPC returns a result (this always holds for
  calls, XML-RPC or other, to an external or internal server).

  Zope has a limited amount of workers (the default is 4) able
  to execute requests. If there are no free workers, requests
  have to wait for one.

  Now imagine that as many requests arrive as there are workers
  and each of them wants to perform an XML-RPC against the
  same Zope. Then you have a deadlock: none of the XML-RPC requests
  will finish, because there are no free workers. An no worker
  will ever become free again, because each of them waits for
  its XML-RPC to finish.

Therefore, you should directly call internal resources (rather
than use XML-RPC).


--
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] Re: Triggering the persistence mechanism

2005-12-15 Thread Chris McDonough

session variables.  What I want to be able to do is have the coders
call

getSessionVariable(name)

to get the current value of the session variable and

setSessionVariable(name, value)

to save the value.  The type of the variable should be transparent  
to the
programmer--that is, it could be a number, a string, a dictionary,  
or a

list.


The two functions you describe are all that you need.



My question restated: Is there a way to write a generic
setSessionVariable()routine that handles the mutated values properly
for arbitrary types.



The simplest implementations are sufficient:

def getSessionVariable(name):
return context.request.SESSION[name]

def setSessionVariable(name, value):
context.request.SESSION[name] = value

Where this behaves in an unexpected manner is if someone stores a  
mutable value in the session, e.g.:


setSessionVariable('a', {})

and *later in the same request* does something like this *without  
ever again calling setSessionVariable*:


a = getSessionVariable('a')
a['foo'] = 'bar'

The programmer has mutated the dictionary, which is a basic type, and  
thus doesn't know anything about persistence.  Since it's mutated,  
and its value isn't stored back into the session explicitly, it will  
eventually disappear when the session data object is "ghosted".


The best (and only) way to prevent this is to instruct your  
developers to always explicitly re-persist session variables after  
they mutate them:


a = getSessionVariable('a')
a['foo'] = 'bar'
setSessionVariable('a', a)

There is no sane mechanism to prevent them from needing to do this  
for mutable basic types.



and mutated from the old value, whatever it may have been.  Or is it
necessary to specifically include an assignment for each mutated
component of the dictionary or list?


It is not necessary to do this for each value in the dictionary or  
list.  Just for the dictionary or list itself.




What happens when the value to be stored is a dictionary of  
dictionaries

of lists and has been mutated?


The mutations are lost unless you call setSessionVariable on the top- 
level dictionary.




Is there an advantage to using the persistent Dictionary and List  
classes

in the session rather than ordinary ones?


They avoid the requirement that you think about this, as they are not  
basic types and thus know about persistence and can manage this for you.




Thanks again for your insight.


- C

___
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: Triggering the persistence mechanism

2005-12-15 Thread Chris McDonough
There is nothing that needs to be done here.  It's only if you  
*mutate* values stored in the session that you need to do explicit  
persistence triggering.  I provided an example of doing this in my  
last email.


- C

On Dec 15, 2005, at 4:20 PM, Dennis Allison wrote:



Chris McDonnough pointed out a problem with my setSessionVariable
code which I am now fixing.  I want a generic routine to set a session
variable whether it is a simple variable, a list, or a dictionary.

The question is one of triggering the persistence mechanism.  If a
dictionary or list is stored in a session variable, what is needed to
ensure that the setSessionVariable() routine triggers the persistence
mechanism?

Is it adequate to simply read the session variable in the
setSessionVariable() routine prior to writing it when the session  
variable

is a dictionary or list?  Or is something else needed?






___
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 )


  1   2   3   4   5   6   >