[Zope] HOWTO: Using Xron on Zope 2.4.x

Jean Jordaan jean@upfrontsystems.co.za
Mon, 17 Dec 2001 07:02:43 +0200


(This replaces the previous version of the HOWTO at
http://lists.zope.org/pipermail/zope/2001-December/105668.html )

To use Xron on Zope 2.4.x, some hackery is required .. the following
takes a Linux point of view, but only point 3 is somewhat
platform-specific.

1. Import DateTime correctly. Instead of:

        from Globals import DateTime

   do this:

        from DateTime import DateTime

   You need to do that once each in 'Dispatcher.py' and in
'XronDTMLMethod.py'

2. Implement the patches in this thread:
   http://lists.zope.org/pipermail/zope-dev/2001-July/012486.html

   In short: you need to do this:

     from Products.PluginIndexes.FieldIndex.FieldIndex import FieldIndex

   and instead of this:

    self._catalog.addIndex('name', 'FieldIndex')

   you now need to do this in a couple of places:

    self._catalog.addIndex('name', UnIndex('name'))

3. This posting:
   http://lists.zope.org/pipermail/zope/2001-April/087151.html
   mentions a 'deadlock on start-up problem' for Xron on some
   systems. Roch=E9 Compaan enlightened me as to a fix. Xron needs to
   write to certain files, so they have to be readable and writable to
   the user Zope starts as. If Zope runs as nobody, for example, run
   'chown -R nobody *' in the Zope root, and modify './start' to do
   something like 'su -c nobody ..../python z2.py ....' (i.e. change to
   'nobody' *before* Zope runs).

4. Slay the dragon hinted at here:
   http://lists.zope.org/pipermail/zope-dev/2001-July/012502.html

   AFAIK, this is fixed by providing authentication information in
   'Dispatcher.py'::

     (headers,response)=3Drpc(furl,'username','password') # Fire event

Regards,
Jean Jordaan