Skip to content.

Etria Lists

 

[quills-dev] Quills on Zope 2.10

Justizin justizin at siggraph.org
Mon Dec 25 12:51:24 UTC 2006


On 12/25/06, Andrey Fedoseev <andrey.fedoseev at gmail.com> wrote:
> Hi All! Merry Christmas for those who celebrate it!
>
> I just managed to run Quills on Zope2.10.
> Here're the problems that I encountered and their solution:
>
> 1. zope.app.annotation is moved to zope.annotation, so <includes
> package="zope.app.annotation" /> is broken in Quills/trackback.zcml and
> plonetrackback/configure.zcml (BTW, I don't see any reason to include
> this package twice)
>
> Solution: create path/to/zope/lib/zope/app/annotation/configure.zcml
> with:
>   <configure xmlns="http://namespaces.zope.org/zope">
>     <include package="zope.annotation" />
>   </configure>
>
> I believe it's a Zope bug so I filed bugreport:
> http://www.zope.org/Collectors/Zope/2256

Thanks. :)

We really can't maintain multiple version compatibility if we change
something like this.

> 2. When installing Quills when dependencies aren't installed I get:
>
> File
> "/home/andrey/instance/test-quills/Products/Quills/Extensions/Install.py", line 53, in install
> get_transaction().commit(1)
>
> NameError: global name 'get_transaction' is not defined
>
> Solution: add the following to Quills/Extensions/Install.py:
>
> try:
>     import transaction
>     get_transaction = transaction.get
> except ImportError:
>     pass
>
> I get this code from PluggableAuthService/Extension/upgrade.py. Not sure
> if that problem is related to Zope 2.10 though.

I think we really want something like:

try:
  import transaction
  commit = transaction.commit
except ImportError:
  transaction = get_transaction()
  commit = transaction.commit

It's pretty early in the AM, but I recall get() being passe`.

> 3. Same problem as described here:
> http://plone.org/products/quills/issues/62
>
> Solution: define Zope2 permission "plonetrackback: View Trackbacks"
> explicitely:
>
> andrey at cornelius:~/development/Quills/plonetrackback$ svn diff
> Index: __init__.py
> ===================================================================
> --- __init__.py (revision 35032)
> +++ __init__.py (working copy)
> @@ -1 +1 @@
> -# Empty file, just here to make it an importable module.
> +import permissions
> Index: permissions.py
> ===================================================================
> --- permissions.py      (revision 0)
> +++ permissions.py      (revision 0)
> @@ -0,0 +1,4 @@
> +from Products.CMFCore.permissions import setDefaultRoles
> +
> +ViewTrackbacks = 'plonetrackback: View Trackbacks'
> +setDefaultRoles(ViewTrackbacks, ('Anonymous','Manager'))
>
> After that it works fine. BTW, with that change
> plonetrackback/Extenstions is not required, because Install.py is used
> to only set this permission for Anonymous and nothing more.
>

Brilliant!

>
> I have all these changes in my working copy and ready to commit when
> they are approved.

I'm happy with them in general, but I'd like to hear what tim says.

Are there any quills issues in the tracker related to these?

-- 
Justizin, Independent Interactivity Architect
ACM SIGGRAPH SysMgr, Reporter
http://www.siggraph.org/


More information about the quills-dev mailing list