[Zope-CMF] Installation problems on win98

Tres Seaver tseaver@digicool.com
Sun, 01 Apr 2001 09:03:51 -0400


> Jim Tinsky wrote:
> 
> I've unzipped the CMF 1.0 files and placed them in my products
> folder but when I restart I keep getting the following errors:
> 
> From the dos window when I start:

<snip>

> From the CMFCore product:
> Traceback (innermost last):
>   File "C:\Program Files\Zope\lib\python\OFS\Application.py", line 530, in import_products
>     product=__import__(pname, global_dict, global_dict, silly)
>   File "C:\Program Files\Zope\lib\python\Products\CMFCore\__init__.py", line 89, in ?
>     import PortalObject, PortalContent, PortalFolder
>   File "C:\Program Files\Zope\lib\python\Products\CMFCore\PortalObject.py", line 87, in ?
>     from PortalFolder import PortalFolder
>   File "C:\Program Files\Zope\lib\python\Products\CMFCore\PortalFolder.py", line 120, in ?
>     class PortalFolder( Folder, DynamicType ):
>   File "C:\Program Files\Zope\lib\python\OFS\ObjectManager.py", line 221, in __class_init__
>     default__class_init__(self)
>   File "C:\Program Files\Zope\lib\python\App\class_init.py", line 117, in default__class_init__
>     security_info.apply(self)
>   File "C:\Program Files\Zope\lib\python\AccessControl\SecurityInfo.py", line 245, in apply
>     entry = (permission_name, tuple(names), tuple(roles))
> TypeError: tuple() argument must be a sequence

You need to be running Zope 2.3.1b1 or later, or to apply the
following patch you your Zope:

$ cvs diff -u -r Zope-2_3_0-src lib/python/AccessControl/SecurityInfo.py
Index: lib/python/AccessControl/SecurityInfo.py
===================================================================
RCS file: /cvs-repository/Zope2/lib/python/AccessControl/SecurityInfo.py,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- SecurityInfo.py	2001/01/16 20:01:09	1.7
+++ SecurityInfo.py	2001/02/08 16:45:35	1.8
@@ -242,7 +242,7 @@
         for permission_name, names in permissions:
             roles = getRoles(permission_name, ())
             if len(roles):
-                entry = (permission_name, tuple(names), tuple(roles))
+                entry = (permission_name, tuple(names), tuple(roles.keys()))
             else:
                 entry = (permission_name, tuple(names))
             __ac_permissions__.append(entry)

I would recommend upgrading to Zope 2.3.1, myself.

Tres.
-- 
===============================================================
Tres Seaver                                tseaver@digicool.com
Digital Creations     "Zope Dealers"       http://www.zope.org