[Zope] ZCatalog and LoginManager - be aware.
Oliver Bleutgen
Oliver Bleutgen <myzope@gmx.net>
Tue, 28 Nov 2000 23:59:57 +0100
Hi,
I just wanted to mention a IMO bad pitfall when using ZCatalog, for
the sake of sparing others some time.
I'm running Zope 2.2.2 with LoginManager with SQL in a subfolder and was getting
the following error when trying to find dtml-documents into ZCatalog:
Error Type: AttributeError
Error Value: commit_sub
Traceback (innermost last):
File /home/local-extranet/web/zope3/Zope-2.2.2-src/lib/python/ZPublisher/Publish.py, line 222, in publish_module
File /home/local-extranet/web/zope3/Zope-2.2.2-src/lib/python/ZPublisher/Publish.py, line 187, in publish
File /home/local-extranet/web/zope3/Zope-2.2.2-src/lib/python/Zope/__init__.py, line 221, in zpublisher_exception_hook
(Object: Traversable)
File /home/local-extranet/web/zope3/Zope-2.2.2-src/lib/python/ZPublisher/Publish.py, line 175, in publish
File /home/local-extranet/web/zope3/Zope-2.2.2-src/lib/python/Zope/__init__.py, line 235, in commit
File /home/local-extranet/web/zope3/Zope-2.2.2-src/lib/python/ZODB/Transaction.py, line 261, in commit
AttributeError: (see above)
All other object-types (incuding dtml-methods) seem to work. I have put no
restrictions on which files I want found, but restricting something to
reduce the number of found objects helps.
I fiddled around somewhat and discovered that disabling
subtransactions in ZCatalog does help (required for using
ZSQL Methods and ZCatalog in the same transaction).
Now I use SQL-based LoginManager, but why on earth did it only
fail on DTML-Documents? Is it because I have much more of them so
only then ZCatalog's subtransactions come into play?
Another question, why did the above also fail although I didn't restrict
any viewer permissions when searching? (i.e. why got LoginManagers ZSQL-Methods
started at all?).
cheers,
oliver