I tried to install ZDiscussions (ZUBB) 0.5.3 it on a Zope 2.2.1b1 and got 
a broken product. The traceback I got at Zope startup was:

2000-08-21T01:44:09 ERROR(200) Zope Couldn't import Products.ZDBase
Traceback (innermost last):
  File /usr/local/lib/Zope-2.2.1b1/lib/python/OFS/Application.py, line 396, 
  in import_products (Object: string)
  File /var/lib/zope/an/Products/ZDBase/__init__.py, line 86, in ?
  File /var/lib/zope/an/Products/ZDBase/ZDiscussions.py, line 106, in ?
  File /usr/local/lib/Zope-2.2.1b1/lib/python/App/class_init.py, line 109, 
  in default__class_init__  (Object: ZDItem)
  File /usr/local/lib/Zope-2.2.1b1/lib/python/AccessControl/Permission.py, 
  line 204, in registerPermissions
ValueError: unpack sequence of wrong size


The problem seems to be a missing comma in the definition of__ac_permissions__
in class ZDItem (file ZDiscussions.py):

    __ac_permissions__ = (
        ('Manage properties', ('manage_addProperty',
                               'manage_editProperties',
                               'manage_delProperties',
                               'manage_changeProperties',))
        )

Since this is lacking a comma before the last parenthesis, 
outer parentheses are "dropped" and it becomes as a two-element tuple:
  ((X,methods))  ->  (X,methods)
that is, a "naked" permission, instead of the intended one-element (one
permission) tuple ((X,methods),).

In fact, ac_permissions_ was already defined like this in ZDiscussions-0.2.0...

I wonder if this was clearly noticed before 2.2.1b1, since line 204 of
Permission.py (see traceback above) belongs to a new function called
`registerPermissions'.  This function begins with

    for setting in permissions:
        if _registerdPermission(setting[0]): continue
        if len(setting)==2:
            perm, methods = setting
            default = defaultDefault
        else:
            perm, methods, default = setting
        _registeredPermissions[perm]=1

and with the bug above, its easy to see the mess resulting when `permissions'
has the above __ac_permissions__ value.


Apart from this, is ZDiscussions (ZUBB) 0.5.3 fully compatible with
Zope 2.2.1?  I just restarted Zope after adding the comma and the
product is no longer broken.  Perhaps I can do some testing now...

Best regards
-- 
 jmce: +351 919838775 ~ http://artenumerica.com/ ~ http://artenumerica.org/

_______________________________________________
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )

Reply via email to