Richard Harley | 23 May 10:56

Sessioning

Does anyone have a recommendation on how to implement sessioning on Zope 2? Basically to set browser timeouts for the user so logout after say 20 mins of inactivity. The difficulty we've had previously is detecting what exactly 'inactivity' is...
Cheers
Rich
_______________________________________________
Zope maillist  -  Zope@...
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 )
Chris Austin | 11 Apr 13:55
Favicon

Unexpected behavior with zope.session 3.9.5

Hi List,

I'm running into an bit of a problem implementing zope.session on Zope2-2.12.10.
When running the following code inside a class that inherits from BrowserView:

session = ISession(self.request)[product_id]

I get the following error.

AttributeError: ZServerHTTPResponse instance has no attribute 'getCookie'

Looking through the zope.session code, the Session object adapts IRequest.   The exception is being thrown
in zope.session.http.CookieClientIdManager in the the getRequestId() method with the following code.

def getRequestId(self, request):
	'''....'''
	response_cookie = request.response.getCookie(self.namespace)

I am not sure where to begin tracking this down.   Could this be an error with utility lookup?

_______________________________________________
Zope maillist  -  Zope@...
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 )

Yuri | 4 Apr 16:25
Picon

Re: Zope Digest, Vol 95, Issue 1


> Hi Yuri,
>
> does this error occur with all browsers?

Yes, unfortunately.

>   I once had a similar issue
> that was caused only by some browsers because they do not send a
> HTTP_ACCEPT_CHARSET header.
>
> Maybe the following bug reports helps you in solving the issue:
> https://bugs.launchpad.net/zope2/+bug/160968

I can see it, but I've 2.12.XX and this should be fixed. This is the 
code in http.py:

     def getPreferredCharsets(self):
         '''See interface IUserPreferredCharsets'''
         charsets = []
         sawstar = sawiso88591 = 0
         header_present = bool(self.request.get('HTTP_ACCEPT_CHARSET'))
         for charset in self.request.get('HTTP_ACCEPT_CHARSET', 
'').split(','):
             charset = charset.strip().lower()

isn't HTTP_ stripped from the request variable name?

> I'm using a workaround similar to that in the bug report in my
> environment (Zope 2.13.13 and a mixture of utf-8 and iso8859).
> Without the workaround the issue does still occur for me.

can you send me your workaround? Maybe it can help :P

> Greetings,
> Stefan
>
> Am 03.04.2012 09:40, schrieb Yuri:
>> Hi!
>>
>> I've an Zope application, basically postgres + zpt.
>>
>> The postgres db has been upgraded to 8.5, the data inside is utf-8
>> (dumped and checkd it), the pg adapeter is the latest, and the "*Z
>> Psycopg 2 Database Connection" is configured to use utf-8.* Zope is
>> 2.12.20 + latest security fix.
>>
>> When I try to do:
>>
>> <span tal:replace="result/?column" />  (result came from an ZSQL method)
>> I get an UnicodeDecodeError:
>>
>> Traceback (innermost last):
>> Module ZPublisher.Publish, line 127, in publish
>> Module ZPublisher.mapply, line 77, in mapply
>> Module ZPublisher.Publish, line 47, in call_object
>> Module Shared.DC.Scripts.Bindings, line 324, in __call__
>> Module Shared.DC.Scripts.Bindings, line 361, in _bindAndExec
>> Module Products.PageTemplates.ZopePageTemplate, line 335, in _exec
>> Module Products.PageTemplates.ZopePageTemplate, line 432, in pt_render
>> Module Products.PageTemplates.PageTemplate, line 80, in pt_render
>> Module zope.pagetemplate.pagetemplate, line 113, in pt_render
>> Module zope.tal.talinterpreter, line 271, in __call__
>> Module zope.tal.talinterpreter, line 343, in interpret
>> Module zope.tal.talinterpreter, line 888, in do_useMacro
>> Module zope.tal.talinterpreter, line 343, in interpret
>> Module zope.tal.talinterpreter, line 946, in do_defineSlot
>> Module zope.tal.talinterpreter, line 343, in interpret
>> Module zope.tal.talinterpreter, line 533, in do_optTag_tal
>> Module zope.tal.talinterpreter, line 518, in do_optTag
>> Module zope.tal.talinterpreter, line 513, in no_tag
>> Module zope.tal.talinterpreter, line 343, in interpret
>> Module zope.tal.talinterpreter, line 821, in do_loop_tal
>> Module zope.tal.talinterpreter, line 343, in interpret
>> Module zope.tal.talinterpreter, line 821, in do_loop_tal
>> Module zope.tal.talinterpreter, line 343, in interpret
>> Module zope.tal.talinterpreter, line 852, in do_condition
>> Module zope.tal.talinterpreter, line 343, in interpret
>> Module zope.tal.talinterpreter, line 376, in do_startEndTag
>> Module zope.tal.talinterpreter, line 405, in do_startTag
>> Module zope.tal.talinterpreter, line 502, in attrAction_tal
>> UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 38:
>> ordinal not in range(128)
>>
>> if I do:
>>
>> <span tal:replace="python:str(result['column']).decode('utf-8')" />  it
>> works. (I use str because I've also dates in the record, otherwise I
>> could not decode being it not a string)
>>
>> I've several zpt to fix, and I would like it to work as it should. My
>> analisys is that result['column'] is seen as a plain string with \xx
>> characters inside, and decode just transform it in something that Zope
>> recognize as utf-8 when it prints it.
>>
>> Anyway, any idea?
>> _______________________________________________
>> Zope maillist - Zope@...
>> 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@...
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 )

Yuri | 3 Apr 09:40
Picon

UnicodeDecodeError

Hi!

  I've an Zope application, basically postgres + zpt.

  The postgres db has been upgraded to 8.5, the data inside is utf-8 
(dumped and checkd it), the pg adapeter is the latest, and the "*Z 
Psycopg 2 Database Connection" is configured to use utf-8.* Zope is  
2.12.20 + latest security fix.

  When I try to do:

<span tal:replace="result/?column" /> (result came from an ZSQL method) 
I get an UnicodeDecodeError:

Traceback (innermost last):
   Module ZPublisher.Publish, line 127, in publish
   Module ZPublisher.mapply, line 77, in mapply
   Module ZPublisher.Publish, line 47, in call_object
   Module Shared.DC.Scripts.Bindings, line 324, in __call__
   Module Shared.DC.Scripts.Bindings, line 361, in _bindAndExec
   Module Products.PageTemplates.ZopePageTemplate, line 335, in _exec
   Module Products.PageTemplates.ZopePageTemplate, line 432, in pt_render
   Module Products.PageTemplates.PageTemplate, line 80, in pt_render
   Module zope.pagetemplate.pagetemplate, line 113, in pt_render
   Module zope.tal.talinterpreter, line 271, in __call__
   Module zope.tal.talinterpreter, line 343, in interpret
   Module zope.tal.talinterpreter, line 888, in do_useMacro
   Module zope.tal.talinterpreter, line 343, in interpret
   Module zope.tal.talinterpreter, line 946, in do_defineSlot
   Module zope.tal.talinterpreter, line 343, in interpret
   Module zope.tal.talinterpreter, line 533, in do_optTag_tal
   Module zope.tal.talinterpreter, line 518, in do_optTag
   Module zope.tal.talinterpreter, line 513, in no_tag
   Module zope.tal.talinterpreter, line 343, in interpret
   Module zope.tal.talinterpreter, line 821, in do_loop_tal
   Module zope.tal.talinterpreter, line 343, in interpret
   Module zope.tal.talinterpreter, line 821, in do_loop_tal
   Module zope.tal.talinterpreter, line 343, in interpret
   Module zope.tal.talinterpreter, line 852, in do_condition
   Module zope.tal.talinterpreter, line 343, in interpret
   Module zope.tal.talinterpreter, line 376, in do_startEndTag
   Module zope.tal.talinterpreter, line 405, in do_startTag
   Module zope.tal.talinterpreter, line 502, in attrAction_tal
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 38: 
ordinal not in range(128)

if I do:

<span tal:replace="python:str(result['column']).decode('utf-8')" /> it 
works. (I use str because I've also dates in the record, otherwise I 
could not decode being it not a string)

I've several zpt to fix, and I would like it to work as it should. My 
analisys is that result['column'] is seen as a plain string with \xx 
characters inside, and decode just transform it in something that Zope 
recognize as utf-8 when it prints it.

Anyway, any idea?
_______________________________________________
Zope maillist  -  Zope@...
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 )

Andreas Jung | 17 Mar 07:15

Re: Finding the right import folder


Write a browser view or use an external method.
It's well known that Python scripts are  restricted.

-aj

Ron Chichester wrote:
> Andreas:
> 
> Thanks for the code snipped.  Unfortunately, I wasn't able to run
> that piece of code (as a Python script) because:
> 
> *Error Type: Unauthorized* *Error Value: You are not allowed to
> access 'config' in this context*
> 
> ... even though I ran it under a Manager account.
> 
> Any other ideas I could try?
> 
> Thanks much,
> 
> Ron
> 
> On Fri, Mar 16, 2012 at 12:29 AM, Andreas Jung <lists@... 
> <mailto:lists@...>> wrote:
> 
> Isn't the client home slash import used for imports?
> 
> Something like
> 
> from App.config import getConfiguration import_dir =
> os.path.join(getConfiguration().clienthome), 'import')
> 
> (untested)?
> 
> -aj
> 
> Ron wrote:
>> I have a Zope instance running on a FreeBSD (8) server.  Zope is 
>> running fine (by all measures).  Here is the particulars of the 
>> system:
> 
>> Zope Version (Zope 2.7.9-final, python 2.4.5, freebsd8)
> 
>> Python Version 2.4.5 (#2, Nov 10 2011, 00:37:52) [GCC 4.2.1
>> 20070719 [FreeBSD]]
> 
>> System Platform freebsd8
> 
>> SOFTWARE_HOME /usr/local/www/Zope/lib/python
> 
>> ZOPE_HOME /usr/local/www/Zope
> 
>> INSTANCE_HOME /usr/local/setp
> 
>> CLIENT_HOME /usr/local/setp/var
> 
> 
>> Network Services  ZServer.HTTPServer.zhttp_server (Port: 8080) 
>> ZServer.FTPServer.FTPServer (Port: 8021)
> 
>> -------------------------------
> 
>> The problem is that I need to import some .zexp files.  I would
>> have thought that I should put them in the (already existing)
>> import folder at the INSTANCE_HOME (i.e., /usr/local/setp/import)
>> but when I restart Zope, none of the .zexp files (including the
>> standard Zope tutorial) show up in a pull-down menu in the import
>> page.  Based on the above, where should I put the .zexp files so
>> that the Zope instance finds them.
> 
>> _______________________________________________ Zope maillist  - 
>> Zope@... <mailto:Zope@...>
> 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 )
> 
> 
> 

--

-- 
ZOPYX Limited           | zopyx group
Charlottenstr. 37/1     | The full-service network for Zope & Plone
D-72070 Tübingen        | Produce & Publish
www.zopyx.com           | www.produce-and-publish.com
------------------------------------------------------------------------
E-Publishing, Python, Zope & Plone development, Consulting

Attachment (lists.vcf): text/x-vcard, 340 bytes
_______________________________________________
Zope maillist  -  Zope@...
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 )
Ron | 16 Mar 04:06
Picon

Finding the right import folder

I have a Zope instance running on a FreeBSD (8) server.  Zope is running fine
(by all measures).  Here is the particulars of the system:

Zope Version
   (Zope 2.7.9-final, python 2.4.5, freebsd8)

Python Version
   2.4.5 (#2, Nov 10 2011, 00:37:52) [GCC 4.2.1 20070719 [FreeBSD]]

System Platform	
   freebsd8

SOFTWARE_HOME
	/usr/local/www/Zope/lib/python

ZOPE_HOME
	/usr/local/www/Zope

INSTANCE_HOME
	/usr/local/setp

CLIENT_HOME
	/usr/local/setp/var

Network Services
	
ZServer.HTTPServer.zhttp_server (Port: 8080)
ZServer.FTPServer.FTPServer (Port: 8021)

-------------------------------

The problem is that I need to import some .zexp files.  I would have thought
that I should put them in the (already existing) import folder at the
INSTANCE_HOME (i.e., /usr/local/setp/import) but when I restart Zope, none of
the .zexp files (including the standard Zope tutorial) show up in a pull-down
menu in the import page.  Based on the above, where should I put the .zexp files
so that the Zope instance finds them.

_______________________________________________
Zope maillist  -  Zope@...
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 )

Jürgen Herrmann | 7 Mar 12:50
Picon

RelStorage PosKeyError

Hi!

I have a reproducible PosKeyError on RelStorage 1.5.1 with
MySQL backend. Traceback comes here:

Module Products.BlissNewsCenter.BlissNewsCenter, line 77, in 
view_editNewsletterForm
Module Products.BlissNewsletter.Newsletter, line 82, in getFromEmail
Module Products.Relateable.Relateable, line 362, in _initAttribute
Module Products.Relateable.MetaManager, line 1144, in 
attributeDefaultValue
Module Products.Relateable.MetaManager, line 1, in <module>
Module ZODB.Connection, line 860, in setstate
Module ZODB.Connection, line 901, in _setstate
Module relstorage.storage, line 470, in load
POSKeyError: 0x116994

How do i find out which object is broken or how to fix this?

thanks in advance & best regards,
Jürgen Herrmann
-- 
>> XLhost.de ® - Webhosting von supersmall bis eXtra Large <<

XLhost.de GmbH
Jürgen Herrmann, Geschäftsführer
Boelckestrasse 21, 93051 Regensburg, Germany

Geschäftsführer: Jürgen Herrmann
Registriert unter: HRB9918
Umsatzsteuer-Identifikationsnummer: DE245931218

Fon:  +49 (0)800 XLHOSTDE [0800 95467833]
Fax:  +49 (0)800 95467830
Web:  http://www.XLhost.de
_______________________________________________
Zope maillist  -  Zope <at> 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 )
Jürgen Herrmann | 29 Feb 15:12
Picon

changing permissions on classes/methods at runtime?

hi all!

is it possible to change permissions and roles on classes/methods
at runtime? normally you'd attach security declarations inline in
your class definition code:

from AccessControl import ClassSecurityInfo
from AccessControl.class_init import InitializeClass
class Cls():
   security = ClassSecurityInfo()
   security.declarePrivate('foo')
   def foo(self):
     pass
InitializeClass(Cls)

now what i tried at runtime is:

from mycode import Cls
from AccessControl import ClassSecurityInfo
security = ClassSecurityInfo()
security.declarePublic('foo')
security.apply(Cls)

but this does not what i want it to, in fact it doesn't seem
to do anything yet - probably because i'm using the wrong way :)

any hints how to do this correctly would be greatly appreciated.

thank you very much in advance and best regards,
Jürgen Herrmann
-- 
>> XLhost.de ® - Webhosting von supersmall bis eXtra Large <<

XLhost.de GmbH
Jürgen Herrmann, Geschäftsführer
Boelckestrasse 21, 93051 Regensburg, Germany

Geschäftsführer: Jürgen Herrmann
Registriert unter: HRB9918
Umsatzsteuer-Identifikationsnummer: DE245931218

Fon:  +49 (0)800 XLHOSTDE [0800 95467833]
Fax:  +49 (0)800 95467830
Web:  http://www.XLhost.de
_______________________________________________
Zope maillist  -  Zope <at> 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 )
Niels Dettenbach | 17 Feb 14:17

"dynamic" dtml-with from string content

Dear all,

has somebody an idea here?:

I try to define a property "my_class_path" (string) on a folder and want to 
use that within a dtml-with statement - i.e.:

my_class_path is i.e. "folder1.folder_sub"

<dtml-with "folder1.folder_sub">

seems to work, but i cant find any easy way to  to use the content of the 
string my_class_path within the with statement.

If i just have a single folder to get aquisition from, i just can use 
something like:

 <dtml-with "_[my_class_path]">

but if i have deeper pathes in my_class_path the this doesnt work.

I just can do directly:

  <dtml-with "_['folder1']['folder_sub']">

but i can't just put "_['folder1']['folder_sub']" into my_class_path too - 
this didn't works too...

It seems i have some tomatoes on my eyes. Can anyone push me back on the track 
here?

Many thanks in advance...

best regards,

Niels.
--

-- 
---
Niels Dettenbach
Syndicat IT&Internet
http://www.syndicat.com/
_______________________________________________
Zope maillist  -  Zope@...
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 )
Favicon

ANN: eGenix mxODBC Zope Database Adapter 2.0.2

________________________________________________________________________
ANNOUNCEMENT

                     mxODBC Zope Database Adapter

                            Version 2.0.2

                     for Zope and the Plone CMS

                Available for Zope 2.10 and later on
        Windows, Linux, Mac OS X, FreeBSD and other platforms

This announcement is also available on our web-site for online reading:
http://www.egenix.com/company/news/eGenix-mxODBC-Zope-DA-2.0.2-GA.html

________________________________________________________________________
INTRODUCTION

The eGenix mxODBC Zope Database Adapter allows you to easily connect
your Zope or Plone installation to just about any database backend on
the market today, giving you the reliability of the commercially
supported eGenix product mxODBC and the flexibility of the ODBC
standard as middle-tier architecture.

The mxODBC Zope Database Adapter is highly portable, just like Zope
itself and provides a high performance interface to all your ODBC data
sources, using a single well-supported interface on Windows, Linux,
Mac OS X, FreeBSD and other platforms.

This makes it ideal for deployment in ZEO Clusters and Zope hosting
environments where stability and high performance are a top priority,
establishing an excellent basis and scalable solution for your Plone
CMS.

Product page:

    http://www.egenix.com/products/zope/mxODBCZopeDA/

________________________________________________________________________
NEWS

We are pleased to announce a new version 2.0.2 of our mxODBC Zope DA
product.

With the patch level 2.0.2 release we have updated the integrated
mxODBC Python Extension to the latest 3.1.1 release, which
includes a number of important workarounds for these ODBC drivers:

 * Oracle 10gR1 and 10gR2
 * Oracle 11gR1 and 11gR2
 * Teradata 13
 * Netezza

Due to popular demand, we have also added instructions on how to
install mxODBC Zope DA 2.0 with Plone 4.1 and Zope 2.13 - even though
this combination is not officially supported by the mxODBC Zope DA 2.0
series:

    http://www.egenix.com/products/zope/mxODBCZopeDA/#Installation

________________________________________________________________________
UPGRADING

Licenses purchased for version 2.0.x of the mxODBC Zope DA will continue
to work with the 2.0.2 patch level release.

Licenses purchased for version 1.0.x of the mxODBC Zope DA will not
work with version 2.0. More information about available licenses
is available on the product page:

    http://www.egenix.com/products/zope/mxODBCZopeDA/#Licensing

Compared to the popular mxODBC Zope DA 1.0, version 2.0 offers
these enhancements:

 * Includes mxODBC 3.1 with updated support for many current ODBC
   drivers, giving you more portability and features for a wider
   range of database backends.

 * Mac OS X 10.6 (Snow Leopard) support.

 * Plone 3.2, 3.3, 4.0 support. Plone 4.1 works as well.

 * Zope 2.10, 2.11, 2.12 support. Zope 2.13 works as well.

 * Python 2.4 - 2.6 support.

 * Zero maintenance support to automatically reconnect the
   Zope connection after a network or database problem.

 * More flexible Unicode support with options to work with
   pure Unicode, plain strings or mixed setups - even for
   databases that don't support Unicode

 * Automatic and transparent text encoding and decoding

 * More flexible date/time support including options to work
   with Python datetime objects, mxDateTime, strings or tuples

 * New decimal support to have the Zope DA return decimal
   column values using Python's decimal objects.

 * Fully eggified to simplify easy_install and zc.buildout based
   installation

________________________________________________________________________
MORE INFORMATION

For more information on the mxODBC Zope Database Adapter, licensing
and download instructions, please visit our web-site:

    http://www.egenix.com/products/zope/mxODBCZopeDA/

You can buy mxODBC Zope DA licenses online from the eGenix.com shop at:

    http://shop.egenix.com/

________________________________________________________________________

Thank you,
-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Feb 09 2012)
>>> Python/Zope Consulting and Support ...        http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________

::: Try our new mxODBC.Connect Python Database Interface for free ! ::::

   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611
               http://www.egenix.com/company/contact/
_______________________________________________
Zope maillist  -  Zope@...
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 )

sathya | 9 Feb 06:42
Favicon

enhancements to RAM cache manager product

Greetings,

ram cached pages using the ram cache manager product seems to be a nice way to improve response times. 

As far as I remember it did not work well with ZEO.

Is there any merit to reengineering this product to use memcached as the backend instead of ZODB/ZEO ?

If so would anyone have an interest to work on this as a funded project ?

It will be great to hear about newer and better solutions as well.

Regards

--
============================================
Sathya "Sam"  Rangaswamy
Founder CEO
ZeOmega
3010 Gaylord Parkway
Suite 210
Frisco, TX 75034
Office:214-618-9880  ext 8002
Fax: 214-975-1258
Mobile:214-733-3467
sam@...
www.zeomega.com
Proven. Progressive. Partner.
*******************************************************************************
--

-- 

_______________________________________________
Zope maillist  -  Zope@...
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 )


Gmane